11 ms·
How Github has changed the open source world
- jmuk 16y agoI would agree with the author, but I am still wondering why other platforms do not win. I mean, for example, SourceForge or code.google.com. Except for the first point, most hosting sites provide exactly same functionalities. Then, I guess, the point is 'easiness' or fancy/cool user interface.
- arkitaip 16y agoGitHub has managed to take advantage of the Git hype and make code social in a way that SF or Google Code never could. Today's SF, although powering lots of high profile floss projects, feels increasingly dated with its traditional developer-user model. Google Code is arguably even less social and definitely lacking in features. GitHub, finally, looks great, is easy to use and has a lot of small yet very neat features that making coding easier.
- helper 16y agoIn this respect, I think github's killer feature over sourceforge is its focus on people instead of projects. Perhaps we could call it an increased democratization of open source. Sourceforge is centered around projects. You have to register and get approval for each project separately (at least you did a few years ago, it has been a long time since I last went through the exercise). This left a significant percentage of projects with descriptions of the author's intent, but no actual code. It also meant that any third party contributions had to go back through the author (who might have lost interest). I have never seen a project on github with no code. There is no approval process. You simply push and you are up and running. Forking allows others to start contributing right away without any action from the original author (and github really encourages you to fork projects). Then the tools that github provides makes collaboration way easier than it was in the past (pull requests vs emailing patches). I agree with all of the things the author notes, but I really think this is github's killer feature. (Hope I didn't come off as too much of a github fanboy).
- apotheon 16y agoBitBucket actually does everything GitHub does on that list of ways that GitHub supposedly changed the world. In fact, I find the BitBucket interface generally easier to use and easier on the eyes -- and, my God, the colors on the GitHub issue tracker pages are fucking awful. . . . but somehow GitHub gets so much attention that many people think it's the only code hosting site in the world, just like so many idiots think that Ubuntu is the only open source operating system in the world.
- kneath 16y agoBitbucket has public, discussable Pull Requests? I'd love to see them.
- apotheon 16y agoI'm not sure what's so difficult about publicly discussing pull requests.
- mnutt 16y agoPerhaps because Github came out first, and pioneered most of those features? Not to say that BitBucket isn't a nice UI, but what major features did they invent? (not a rhetorical question)
- apotheon 16y agoWell, I could be snarky and say "usability" -- which, relative to GitHub, it kinda seems like BitBucket pioneered. Frankly, though, I'm not sure whether there's something BitBucket really "invented". There doesn't seem to be much that either can do and the other cannot, aside from BitBucket's ability to make unlimited private projects (of limited size, of course) where GitHub cannot. Usability seems to be a major difference between not just BitBucket and GitHub, though -- it's also a major difference between Mercurial and Git themselves. Between the two, I find I like Mercurial/BitBucket much more usable than GitHub/Git. The big advantage GitHub/Git has is popularity, basically, and I've never really been one to let a lack of market-dominating popularity hold me back. Anyway . . . to answer your question more directly: I don't pay much attention to the fiddly corner cases where they differ in total functionality, so I don't really know who came up with what features first. They've both been evolving pretty quickly, from what I've seen, so I'm not sure anyone else can really say what features one has copied from the other, unless they were working on one of the two and involved in the imitation process. I don't even see why it matters. It's like open source software: imitation is a good thing, because good features get more widely used, and everybody wins. It doesn't have to be a competition. I just don't think holding up GitHub alone as some kind of messiah really helps anything.
- X-Istence 16y agoI have only recently become a major convert into the DCVS world coming from Subversion and CVS before it. When I first started going I found that git was rather hard to for me to wrap my brain around, especially since it so radically changed the way certain commands worked. So I looked at Mercurial and felt much more at home as it felt like Subversion. Since then I've wrapped my brain around Git and absolutely love it. I now have accounts on both Bitbucket and Github and both work equally well for what I want. The only feature that I feel is missing from Github is the ability to create unlimited private repositories for free, if not at least, on their lowest paid tier. I tend to create random projects haphazardly, and while I like to have it versioned and "backed up" somewhere where I can invite friends to collaborate with me, I don't want some of these projects out in the open. Some of them are research projects for new products I am developing, others are projects I am working on with friends that could potentially be monetized. Don't get me wrong, I understand where Github is coming from, and being familiar with both Git and Hg is not going to hurt, it is annoying on a context switching level to have to remember how to do something in hg and then in git when switching between projects. At the point where I am in my career I don't yet make enough money (after paying student loans, car insurance, etc...) to spend money on monthly billing paid services.
- kenjackson 16y ago* When I first started going I found that git was rather hard to for me to wrap my brain around, especially since it so radically changed the way certain commands worked.* I've found Git really easy to use coming from SVN. My main problem has just been the Windows tools haven't been as intuitive as Tortoise. What issues did you first have with Git?
- X-Istence 16y agogit revert did not do the same thing as svn revert, that was the first major issue I had and I put git on the shelf because of it. Only in the past year or so have I started using a DCVS. For the most part I was definitely a subversion fan boy ;-)
- sid0 16y ago
- duck 16y ago8. Get people using Git (and more generally, get more people using version control for their projects) 9. Made it popular to post more than just projects (off hand I'm thinking about dot/config files) 10. Make it easier to actually provide patches to open source projects
- mgkimsal 16y agoWith github, it generally feels like the focus is on a developer, whereas with something like sourceforge the focus is on the project/code. I'm not saying that like it's a bad thing either - I think it's generally been a positive shift.
- apotheon 16y agoThe same is true of BitBucket, and kinda Google Code as well, you know.
- davidwparker 16y agoI'd agree about BitBucket, but Google Code doesn't nearly focus on the developer like the other two. It's not really made for/with the general sense of community and conversation.
- apotheon 16y agoI hesitated before including Google Code. I believe that it technically meets the qualifications of the features mentioned in the 7 ways list, but it really falls short of both BitBucket and GitHub in terms of its feeling of being a social code site. I guess Google Code is more optimized for searching, rather than sharing -- which makes a certain amount of sense, given its creation by the king of search, but results in a site that simply doesn't draw my interest as much as BitBucket.
- panic 16y agoIt may be true that github focuses on the author (after all, projects are github.com/AUTHOR/project), but I'd say that focus is secondary to the code. Compare a project page on sourceforge (e.g. http://sourceforge.net/projects/azureus/ http://sourceforge.net/projects/azureus/) with one on github (like https://github.com/jquery/jquery https://github.com/jquery/jquery). A sourceforge project page is just a vague arrangement of links, while github shows you the source and README right away. The author is given about the same amount of space on the page in both cases.
- Corrado 16y agoAs a Ruby developer its sometimes hard to know if a particular Gem is still being actively maintained or if there is a better, more recent alternative. I find that Github does an outstanding job solving both problems. If there haven't been commits in the last year (6 months?) I'll generally look elsewhere. That elsewhere is generally the "Network" page. :)
- apotheon 16y agoY'know, there are some projects that haven't had commits for a while because they do exactly what they're supposed to do, and don't need a bunch of commits. I consider it a good thing when a project gets to the point where nobody can find any bugs and they stop adding features because it has enough of them already. I sure as hell don't want my quick, clean, elegant, productivity enhancing window manager to turn into a featuritis infected monstrosity like OpenOffice.org, after all. --- edit: Actually, my window manager of choice has basically been abandoned by its developer several years ago, and it's still bug-free, stable, and lacking basically nothing. I finally came up with a feature enhancement I'd like it to have today, after using it for five years with no complaints or wants -- and that enhancement is really just an improvement of an existing feature. More to the point, it's an enhancement that no window manager has, so I'm likely to need to write the code for this feature enhancement myself if I want it badly enough. I may pick up maintainership for the project to do just that. Think about that a moment: one feature enhancement requested in have a decade, merely an extension of an already existing feature, and it's something entirely new to window managers as far as I'm aware. This thing has had no need for additional code in all that time, and it has been better as a result of all that.
- 46Bit 16y agoThis feature bloat is exactly my issue with a lot of commercial software - especially Photoshop. With each release, it includes a load of junk most people don't want, but new ways to make files incompatible with old ones so that people have to upgrade, as well as bug fixes that should in reality have got patches.
- mnutt 16y ago
- SingAlong 16y agoFrom what I've seen, a Github profile now influences the hiring process too.
- harryh 16y agoThis is definitely true. I'll often check to see if a candidate has a github account when making a hiring decision. Having some interesting/good code up there can definitely move the needle a bit on a hire/no hire decision.
- Pyrodogg 16y agoWhen looking into a candidates work do any of the other platforms or services come to mind at all or is it solely Github that you check?
- mpd 16y agoAbsolutely. A record of solid past work can help overshadow a poor interview (nervousness, etc.) in my eyes. If I can see the sorts of things a candidate has worked on in the past, I can more tailor the interview and ask more engaging questions. I want to know what they're passionate enough about that they will give up free time to pursue it. None of this is specific to Github.
- michaelbuckbee 16y agoAn item that is not in the list of 7 and of vital importance to open source projects is the "ease of forking". I've spoken to a couple different Open Source app maintainers who have basically said: GitHub made our community of contributors better by making it so easy to fork smaller portions of the codebase. Where before they would basically just take abuse about issue/features (Why don't you support Markdown instead of direct HTML entry in your CMS, or whatever). Now they can just say "fork off" and have whoever complains maintain a separate codebase with their custom additions.
- js4all 16y agoTrue, but isn't Git the initial game changer?
- glenjamin 16y agoI'm intrigued that no-one mentions launchpad yet, it has roughly the same feature set, but doesn't put the code on the front page.
- defroost 16y ago> Force projects to include a good README As much as we would like to believe code can be self-documenting, in most cases it is not. Having no README file can make your project more opaque. I probably shouldn't mention this in these parts, but one example of an active project without any README at all is PG's Arc. https://github.com/nex3/arc https://github.com/nex3/arc I will concede that the Arc project does have a website that covers install instructions, but for new languages where nearly all users are newbies, having no README on GitHub can be an inconvenience.
- apotheon 16y agoThe complete lack of licensing information on many projects is something that Google Code tends to "fix" much better than GitHub, though -- even if Google Code is a little inferior in some other ways. It would be nice if sites like BitBucket and GitHub would do something to encourage people more strongly to actually tell us about the licenses used in their projects.
- gersh 16y agoI love github as much as anyone. However, why is it that Git still drives non-technical people crazy? Why do those people prefer dropbox over Git?