Let's make GitHub better, together
letsmake.github.com
letsmake.github.com
And all of them use English terms for language identifiers.
English is the lingua franca of IT & software development. As a Brazilian I can tell you that programmers that don't learn at least how to read technical English won't become good practicioners.
And GitHub is a social platform for collaborating on projects. In the vast majority of projects, English is the common language spoken by all participants.
Learn English and get over it.
(I didn't read further into the article. I hope the other suggestions make more sense.)
Also, an open source project maintained in, say, Spanish is one I and others can't easily contribute to. That would be a disaster.
And guess what, a couple of grammatical mistakes but otherwise its all in English. Now this may of course be a Dutch thing. But I have a sneaking suspicion that it is one more indication of a trend towards a very few international languages (English, Spanish, Mandarin perhaps) that the "internationally connected elite" can speak and the rest have to learn.
Kind of bothers me but I cannot tell you why.
It shouldn't bother you more than utf8 and tcp/ip. If everybody in the world spoke the same language, the world would be a better place.
The discomfort probably stems from the fact that some languages will die out. That's sad but there is always room for bilingualism.
But if we're going to have one universal language, it will be java. Still happy?
This is a great retort, the more I think about it. There would be huge efficiences if Java was the only language in the world...and there would be huge holes too, just as if we banned every language and insta-translated all the great foreign works to English.
I think it's safe to say that some of the great works in non-Java languages might never have been possible or thought of if everything was all-Java. Can we say that some of the great non-English works would never have existed if everything was done in English? Probably.
In 1471 (apparently) Chinese navy sent an armada (no seriously, thousands of ships, one dedicated to being a grassed over flat hill growing vegetables - really an armada) to tour the Indian China seas wand show their power / negotiate trade agreements. There is even a suggestion some of the fleet reached the Anericas
Anyway ten years later internal Chinese politics meant the Emperor effectively shut down the Chinese navy and ended external exploration - just as Columbus opened up the New World for Europe.
China was a united political body - spoke one language, etc
Eirope was a crazy, disunited, warring agglomeration - that leaped forward in the New World and brought us kickin and screaming into the modern era
Lets imagine we have a lingua Franca, then closer political union across the globe and ... Humanity misses the next leap forward - or more worryingly all of humanity collapses at the same time
However the unbelievable progress made in the last centuries and today wouldn't be possible without having a lingua franca. The difficulties you'll have programming without knowing English are an excellent example.
The reason is the network effect, in that the more people who use a communications system, the more valuable it is (given that communication is valuable). Language is a communications system.
This forms a natural monopoly: because of the value of larger networks, it is inevitable that one language will dominate - unless there are other barriers partitioning the network, akin to the lack of a telecommunications physical layer in centuries past.
I completely disagree, Github.com should NOT be localized.
I agree that making sure your language doesn't disappear is important, but it has nothing to do with Github. It is your job on a day to day basis.
Having localized versions might lead to messy projects having multiple languages in issues and everywhere. It will not help the open source community as a whole but dilute it. It may be sad, but English is the language of IT and I think it will just lead to a wider and better community to all talk a single language, whatever it is.
Plus, managing multiple locales in an app just sucks, it will lead to problems, they would have less time to work on feature which is the point.
Maybe a localized version of Github Enterprise would make sense, but certainly not Github.com.
I'm half-dutch and can only vaguely follow conversations in it, even 20 years ago when I'd go over as a kid everyone spoke it near fluently.
One of my professors at Uni complained that he'd tried to learn Dutch but found it nearly impossible because when he visited there as soon as they found out you were English they'd just speak to you in English.
My friend worked in banking over there for 2 years in Amsterdam, never learnt anything but basic hello/thanks/goodbye.
All I learned. Wait, also how to order a pancake which I remember as something like ick vil crack un pannecooke.
I was very impressed with the Dutch english when I've been over there. They approach it as a practicality and they also get fairly insulted if you ask them if they speak english.
However, confining ourselves to one language makes us all think the same way. Research has proven time and time again, that learning other languages will help us apply different ways to think about problems, because different languages uses different grammar to convey the same meaning.
Effectively, if we continue to strive to eradicate localised IT and software related words from non-English languages and replace them with English words instead, language development will stagnate and all languages will eventually become English. And that is not a positive prospect.
I don't need Github localised, but I would like to localise it for the purpose of creating technical terms in my own language. I fear that most of the localisation into Danish would simply be English words instead, despite the fact that Danish actually has words for 'push' and 'pull' (»puf« and »hal«, respectively).
And English shouldn't be so cocky either, by its current usage, English is slowly becoming less than a language and more of a tool. And with both foreign and native speakers' continue abuse of the language, English will soon be derived of all its beauty, for the purpose of minimising communication.
Are we really that lazy?
http://en.wikipedia.org/wiki/Linguistic_relativity#Present_s...
It turns out language does color perception, but not as profoundly as we estimated, and not in all ways.
In any case, even if it did profoundly color perception, who is to say that it does more so than other experiences? Like learning about anthropology or philosophy, or having a life changing event, or taking up art, or doing shrooms? I don't think we know.
A bilingual myself, I've always supported people learning a second language, for some vague impression that it made you a better person. Now I'm not so sure. When most people learn a second language, they don't learn enough to be immersed into a new culture altogether, or to start thinking in that language. Is this really a profound experience? The cost/benefit ratio seems a little skewed. I don't really blame people who know English by birth for not trying to learn another language.
It has nothing to do with laziness and everything to do with being able to communicate. Would you learn all of japanese, chinese, russian, spanish, german, french, italian, polish, swede and english in order to be able to contribute to projects in these various languages? Unlikely.
We need a "babel fish", and currently that babel fish is simply "learn english". At various places and times in history it's been french, chinese, latin or greek. That is not a problem, it's just how things go so that people can talk with one another across countries and cultures, and work together.
What I meant to say is that languages are becoming more and more plain. It seems people - and sometimes with language institutions with them - are accepting that the languages should be less complicated, so we can say the same thing with fewer words.
An obvious example is people writing 'u' instead of 'you', but is actually even more obvious in other languages than English. For instance, I am not a fan of people saying 'issues' in Danish, when we have the word »problemstillinger«, simply because the English word 'issues' is shorter. Should English use »arv« instead of 'inheritance' because it is shorter?
Languages' vocabularies shouldn't cherry-pick.
I do not oppose a lingua franca, I merely advocate keeping each language separate.
At the same time, I do understand where you are coming from. Having such a large proportion of your population be fluent in English - and thus more influenced by its culture, is potentially an issue for the Danish culture.
Today, the Internet, globalisation, etc. have decreased the number of languages in the world dramatically (last thing I heard is one language dies every two weeks) and there are approximately ~7000 languages alive.
While I know that most of these languages that are dying are spoken by very few (otherwise it wouldn't die). It is now more important than ever to keep each language unique.
What was great before (loanwords and such) may actually be a problem now.
There is also another factor at play here. "Proper" languages (that is, not dialects) have hundreds of years of written material behind them, and this is critical to ensure a language's survival.
This would only be true if a language only consisted in IT and software related words :)
> I don't need Github localised, but I would like to localise it for the purpose of creating technical terms in my own language. I fear that most of the localisation into Danish would simply be English words instead, despite the fact that Danish actually has words for 'push' and 'pull' (»puf« and »hal«, respectively).
Having had the misfortune of spending this week working on a Javascript codebase partly coded in French, let me tell you it's a very bad idea. The disconnect between variable/function names and language identifier is jarring. Please, just code in English, even if your English is bad.
I have prior knowledge in the area so pardon me if what I'm saying is nonsene, but learning a programming language doesn't have the same benefits of learning any other language in this case?
I mean, if you are used to something like C, learning Haskell or Lisp or Brainfuck is a big mind shift.
I often find that choice of programming languages confines people to restrict themselves to certain ways in each language. Which obviously makes sense, as each programming languages were created with a need in mind that was sufficiently being fulfilled in other languages.
There are things you'd write in C, but not in Haskell. Like say, a driver.
It's different with spoken languages, they all try to solve the same issue; communicating. But do so differently.
"I know many developers in Poland who prefer (as Joel mentioned) to get English documentation rather than Polish translation and the reason for that is that translations were not always accurate."
That made me remember how before the Web sometimes I could not get an original book but would be able to buy a translated one. Many times the translations made no sense at all and I had to mentally translate it back to English to understand what the original author meant.
I've experienced this myself twice so far, with Ruby and with TokyoCabinet (earlier HyperEstraier). Upon investigation of lower-level problems I would eventually hit a brick-wall in the disguise of a japanese mailing list.
This seems to be improving for Ruby nowadays, but I did actually stop using HyperEstraier (years ago, before the rise of SOLR) for this reason.
One counter-example could be nginx where lots of discussion still happens in russian, yet the code-quality remains excellent. This is more of an outlier than a role-model, though. Most projects are not blessed with a lead-developer as talented as Igor.
It's worth noting that international support is also useful for people wanting to add issues, not just coders. And that revision control systems can be used for more than just code.
I can understand where the github folks are coming from but it really is a thing not worth putting any effort into. I sympathize with the humanism but programming and programmer communication should be mostly pragmatic.
The open source community is a global thing and English has won a long time ago as the definitive choice for a global language. It seems like it's easy enough to pick up for a lot of people all over the world.
In my opinion it works especially well for technical writing.
I really wish GitHub would start doing something about people using that feature to make it look like they're part of (or speaking for) GitHub. It's incredibly misleading some times.
I'm not even sure what a good model/UI would be to selectively white/blacklist subdomains.
To solve your case on NoScript, whitelist the full address https://github.com/ and that will keep http subdomains out.
> Documentation, you neglected necessity of open-source. [..] Nothing too fancy; just click a button, parse my repository, and provide a list of public classes and members.
uhm, Sphinx?
While internationalization is not always preferable, as you point out, there are times where it means making a service or tool accessible to people who otherwise would not have access to it. We already know how dreadful the GitHub interface can be to newbies, not to mention the English language itself.
GitHub is such an important tool to developers and entrepreneurs that we should think very carefully about barring other people from using it inadvertently.
Internationalization will have adverse effects, definitely, but I still think the discussion of whether making GitHub English-only is worth deterring people who may not otherwise find their way into software development, programming, and the like. Just think of the many other ways people are starting to use GitHub.
But I for one dread the day I receive unsolicited Pull Requests in Russian for an undiscovered 0day vulnerability. :)
Almost all people can read basic English (especially those who access Github), so translating the Github interface seems rather pointless to me. Of course, translating the support articles would really help accessibility for those who don't know English as well as native speakers.
Translating interfaces makes people think they can use their language to communicate on a site. Translating only the support articles helps people understand the site, but they will quickly realize that the site itself prefers English-only communication.
Translating the support docs is one suggestion I think is unequivocally good, and something that should be done.
I think internationalization is great in a read-only capacity, but when non-English speakers start posting Issues, comments and Pull Requests, that's where it starts to turn into a problem.
GitHub has very little to translate in the first place, as it's very sparse on prose, so aside from the question of support docs, we are probably making mountain out of mole hills, since the remaining English is jargon and not beholden to internationalization concerns.
Imagine being the proprietor of Twitter Bootstrap and having to deal with this. What is an acceptable rate of admission of issue creators who are not proficient in English?
If 20% of "international" users are undeterred by the warnings and labels, the repo owners should still receive a free coupon for Prozac from GitHub. :)
I'm from a non-en too, but frankly speaking I sometimes got problems reading docs when they use local nomenclature. Programming == English, like it or not.
btw, are there any localized words for 'forking', 'pull request'?
btw, are there any localized words for 'forking',
'pull request'?
As someone who lives in a country where English is not the native language, non-English languages will never be able to keep up with developing terminology and neologisms.It is fine to translate "plain" language, but the terminology and jargon won't work very well when translated. It also has the additional downside of defeating look-ups and google-ability, which is one of the points of terminology. Not just considering the importance of Google, but Stack Overflow in particular.
I've seen that at a number of local companies and since Github is used by companies too, it might make sense that the company can choose to have it localized.
I tend to agree for open source though : we need a lingua franca and it seems like English is the best pick for that.
In the end, maybe it should be up to the project to choose the interface language.
Do you mean open source in general or development tools in particular?
If a user comes to a site that is using her primary language, she will interact with that site using that language. That is very much not desirable at a site like Github.
Other than that, the suggestions listed sound nice to me.
This will not change any soon, and (I know it's controversial) but for the good of the devs-to-be, let GitHub remain non-localized.
I always feel the chill when someone pastes a non-English screenshot in places like StackOverflow. Or whenever I want to help some fellow dev in my company who happens to have installed Italian or French version of Firefox/Chrome/etc.!
Eventually someone replied asking for them to re-submit an English description of the issue, hopefully they're able to do so. :-/
If you can't speak english, you can't program for sure. I work with some people who are not very good english speakers. I can see it in their code. Sometimes its a mix of english and their own language. Very bad. NO-HIRE
I speak three languages, Swedish is not one of them. That was an awful summer.
If the website UI is in their native language, people would most likely also make the READMEs, issues, comments and other things in their native languages. Commit messages might also be affected, since the user would perhaps not give it much thought that they are using their native language...
If I was a business owner and a customer wrote something like this, I would be absolutely ecstatic.
It shows that you've created an awesome product. So awesome that people want more out of it, and are willing to spend considerable time ($$$) to help you make it better.
This is the real reason profit margins are so important to a good company. It means you can re-invest back into the growth of your product and continue to delight your customers.
Good on ya Github, keep it up.
- Attachments in the issue tracker. Pictures tell a thousand words and it would be infinitely easier for user submitted issues to have screenshots.
- Better code search.
- More granularity in the notifications. For instance, I'd love the ability to toggle email for my own repos but leave it to web notifications for my watches. I've missed pull requests because of the deluge of messages.
- Better reliability.
It's a great tool. I really enjoy using it, but with a few additions it would be near perfect.
This. If you're part of a big organization with a lot of repos, you'll automatically watch all of them (and forks) as they are created. I'm currently watching 451 repos and have a mess of Gmail filters to (mostly) ignore notifications from repos I don't care about. Priority Inbox helps some in that it makes email actually mostly usable, but Github really needs to fix this.
There's an option to turn off auto-watching and a button to stop watching all repos, but there's not really an easy to to say, "I care about this repo and all it's forks, but nothing else." Or, as you mentioned, a way to watch some repos via email and everything else on the web.
(it has one helper script - ghgrab.sh that, well, fires off xwd, and then uploads the resulting screenshot through the github API (mediuated by the excellent ghi)
I have no idea if it works outside of FreeBSD - drop me an issue on github if it does :-) WIth a screenshot!
http://searchco.de/?q=irq_create_mapping+url%3Agithub
You just need to add the url:github portion to any search. You can do the same over bitbucket, codeplex, google code, sourceforge and the fedora source tree too. See, http://searchco.de/blog/view/variety-of-updates
This lack of attachments makes it a lot harder for non-techies to use Issues (e.g., for casual or QA testing). Don't get me wrong, I absolutely LOVE the minimalist approach of Issues, and it is definitely _almost_ good enough feature set, but this one missing feature makes it difficult for one to imagine the use of issues at-large in broad organizations--an undiscovered area of growth for github.
I would definitely add this to the "I <heart> github, but..." list.
P.S., experiment0, great execution of a "feature request".
- As it stands now, the majority of repositories are in english. If github were localized, it would most likely contribute to more non-english repos since the author would be less inclined to give it any thought.
- It would require a lot of extra effort on githubs side to, first of all localize it, but also to keep it updated and correct. They would need translators and probably also need to put a lot of effort into localizing the site (which I'd rather they focused on other things).
I know these may not be the best reasons, but I'd rather people learned english than doing it in their native language (english opens it op to more people, ie more people can benefit/contribute to the project).
But hey, those are just my two cents...
By using Gitlab on your own hosting, you lose all of that convenience of having everything in one place. Imagine that every time you want to contribute to a project, you have recreate yet another user account, upload all of your SSH keys again, and more. And then further imagine that you want to fork and work on repos from multiple projects that all have their own Gitlab instances, and now checking on your projects requires visiting N different sites to get the same information that you already get from a single login to Github.
Now I'm just as big of a fan of open source as the next person, but having a single central place to visit for projects is a Good Thing, and IMO Github has proven time and again that they actually care about the open source community as much as we do, and have done so much to foster communication and interaction between developers that their contributions are far more important to me than the value of having my code repositories hosted on an open source platform.
What we should be looking for is an open-source project that allows people to keep their own projects private on their existing hosting, and allows easy sync with github for public projects.
However, I think they could go further than the support discussed here. It would be great to see CLAs tht you could get asked to sign when you make a pull request. You could also make it easy to sign - maybe instead of printing and scanning, you could sign using a PGP key.
If Github incorporated this stuff, every project could seamlessly use CLAs.
http://www.catb.org/esr/faqs/hacker-howto.html#skills4
Other than that...
Since code is shared across many different countries, we cannot be too wishy-washy about which one to use. English is rated as "the most influential language in the world" in terms of how many countries use it and the socio-economic standing of these countries. I hate to be the one to push English (as a native speaker myself), but as you can see others on this thread recommend it, even though it is not their native tongue. By all means, I do not promote destroying cultures, but learning a common language brings us all closer together. :)
And that from domestic violence to wars, we tend to fight those who are next-door, closest to us in mind body and spirit.
(If you are not too sure about that, think how easily a rural Shinto Chinese would be able to explain the vast differences between Christianity and Islam)
Anyway the point I am making still holds I think - you can barely squeeze a credit card between Islam and Christianity if viewed from a distance - yet billions are on the edge because of the "vast gulf" between the religious
- Please make the "show changes" scale to large code changes.
I've been bitten by hanging browsers a few times while trying to review pull requests in which many files were changed significantly or added. One (simple) way would be to show just the changed files, in collapsed form, which can be expanded.
- Add a way to increase the size of the diff context
Sometimes the given context is not large enough, especially if a file has many similar functions. For example in vimdiff you can "expand the hidden lines" in this case.
Having developed internal tools for large enterprise environments with over 50,000 developers with massive code bases (think linux kernel times 10), it has always baffled me why GitHub and others seem to think stuffing all the changes on a single page is a good idea.
Sure it's great when the changes are small but having to deal with large changes is not an unusual edge case. Especially in the enterprise environment where process and politics tends to create backlogs in merging which forces us to have to deal with large changes at once.
Below are some sample screen shots with how we deal with changes.
Viewing pull request detail
http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e...
If the changes are really massive, we offer the ability to navigate the changes as a code churn tree. We call this the divide and conquer way of managing large diffs.
http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e...
We also make it possible for you to break apart the commits that are included in the pull request with our commits browser. Note the revisions tree on the left that shows you all the revisions.
http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e...
As for the diff issue. We have the ability for you to create your own custom diff views. See the following screen shot.
http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e...
With the custom diff view, we make it very easy for you to manipulate the diff output.
That would be functionality that should be in Github itself. Good to see that I'm not the only one with that pet peeve.
* Explicit licenses: If a repo lacks a LICENSE file, this is almost as annoying as it lacking a README, and GitHub's interface should complain to the repo owner. Searching and filtering by license would be nice, too.
* Explicitly "official" forks. It's way too hard to find the right fork when you just want to improve a public gem, for instance. I was there was an explicit "why does this fork exist" field on each repo. acts_as_solr is a particularly morbid example of why this is important.
* Their code search is basically useless. Last I checked, they don't even index branches. They should just buy or reimplement Ohloh.
http://searchco.de/?q=irq_create_mapping+url%3Agithub
You just need to add the url:github portion to any search. No branch support yet, but working on it. I doubt they will be able to buy Ohloh though as that's owned by BlackDuck. I also find Ohloh search lacking in some areas such as the following search,
http://searchco.de/?q=%3D~+lang%3Aperl http://code.ohloh.net/search?s=%3D~&browser=Default
[Yes, I know I could check it out, but still...]
A "search source code" box is available for my paid for private repos, so I guess it's a premium feature.
I was surprised not to see any mention of the only thing that irks me: the "Switch account context" dropdown menu being available only on the front page and not in the top bar where your account is displayed. That would save me quite a bit of gymnastic to have that displayed on all pages.
No thanks. They're doing fine, they can easily afford to pay people to do this if it's necessary. Volunteer your time for non-commercial projects that do not have the option of paying people a fair wage for their work.
Localization is never a wasted effort.
I hope they hire you Garen!
Localization makes sense when you're a shopping site aiming at mom & dad and non-techies.
For technical services (pretty much all SaaS) the translations usually turn out so terrible that everyone turns them off. Also good luck googling for the solution to a problem in any other than the primary language of the site...
http://6b507fb6377c7b2ce0ed-f6f6a52addfcf546a4b633fce1dd247e...
The reason why we've created this feature was because in the enterprise world, it is not uncommon to construct a release based on branches from various repositories.
We also have a smart attributes technology that will allow you to assign arbitrary meta data to a pull request. With this technology, you'll be able to ask questions like show me all the pull requests that have a priority greater than X.
- i18n and l10n
For reasons already stated by many others in this HN thread.
- Notifications should be more like email
Please no. I'm already terrified of my email inbox. It's a mess, so many messages. Sometimes I'll leave a message unread or mark it as unread if I want to return to it later but instead it gets buried by newer messages. So now I have a couple of hundred unread emails and I have no idea what they are but they surely can't be important.
Keep notifications how they are. It makes using GitHub stress free. If I read a notification, get rid of it so I never have to see it again. If it was so important, I should remember it anyway or I would have set it as my highest priority and worked on it right away.
- Revamp Inline Editing
Themes? Multiple cursors? Command line? Live linting? ... No thanks, sounds like feature-creep. I like the editor how it is, nice and simple. Want a full-blown editor? Don't use the web interface.
- Infinite newsfeed
There are reasons why many websites choose not to include infinite scrolling, see [1] for some good reasons.
One thing I'd like to see added to GitHub:
- View all public activity history
There's been many times when I want to look at my own history or someone else's and I can't because it stops after the first page.
[1] http://www.quora.com/Infinite-Scrolling/What-are-the-downsid...
And don't tell me that you Githubbers don't lurk over here ;)
I say «crear una rama» (create a branch), while most of my friends just say «hacer un branch» (make a branch). And there are also the ugly anglicisms like «branchear» and «forkear».
Some projects wouldn't be viewed if it ain't in english, no one here almost speaks Chinese do they? :-)
Facebook should be localized, not github.
Google Translate renders this as "I can speak Chinese.", which speaks volumes about how far it's come with East Asian languages.