Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The big deal about GitHub is that they were in large part responsible for the current Open Source Renaissance we currently find ourselves in. Do you remember the world before? Where you would hunt for someone's private SVN repo on their personal site and email them patches, only to hope that something comes of your effort? Compare that with the world of today, where, if I'm using GitHub, I can submit a fix to a project I happen upon entirely from my web browser, if I wish. The maintainer is notified immediately, we can have a line-by-line discussion about the change, and then it can be merged - also entirely from the browser, if that's what you're into.

Introducing DVCS and the pull request model to the wider development world is the reason that the pace of OS software development has accelerated so much in the past half decade. Of course, GitHub did not invent git, but they made it easy to host your repositories, and once Rails migrated to GitHub, the rest of the Ruby world came with it - followed shortly thereafter by a sizable chunk of the wider web development community. If you use one of their many competitors, that's fine - but they wouldn't exist had it not been for GitHub. Remember that Bitbucket started out as a GitHub clone for Mercurial. Gitlab is unashamedly an OS clone of GitHub.

> More holes than a sieve with their Rails setup.

This is just unnecessary FUD. The GitHub and Rails teams have both been fast to deal with security issues as they are raised. Just because a security issue is well publicized, it does not mean that every other piece of software ever written does not have its own security issues.



Renaissance? Open source has never been less healthy. All the previous social constructs around properly documenting, testing, and releasing stable versions of your code have been swept away.

Instead we're faced with the constant churn of semi-functional code, users working in silos and then showing up with patches well after it's too late to give them direction, animated GIFs instead of careful engineering discussion.

Github optimized being lazy, and this was appealing, and in doing so they broke most of the technical and social structure that held together open source's ability to produce reliable, stable, well-documented software.

I've watched stable projects either wither and die or become commercialized, and now instead we live in a world of rolling mostly-broken hacked out releases (if there are releases at all), a confusion of forks (which one is the 'real' one?), while animated GIFs and "oh snap" responses permeate our bug trackers.

This isn't a renaissance, it's a circus.


Since when were bureaucratized quality standards part of Open Source?

---

"GitHub optimized being lazy" -- translation: GitHub enabled more people to get involved with Open Source.

There are no-fewer quality-obsessed developers participating in the community as a result of GitHub. There are, however, a lot more people involved, and a lot more code being "churned". The suggestion that the community is suffering as a result is a dubious claim that you offer no real evidence for.

It sounds to me like you miss the "good old days" when the club was more exclusive.


> There are no-fewer quality-obsessed developers participating in the community as a result of GitHub.

There is natural attrition of participants in any project; what keeps (or kept) so-called "quality obsessed" developers in abundance were the social structures -- and social currency -- of the communities built around open source projects.

In exchange for stature, learning, and intangible satisfaction, contributors would learn project guidelines, interact with project members, learn to meet the required levels of quality, and over time be subsumed as committers and trusted members of the community. This approach sustained open source for roughly 20-25 years.

However, github's social network structure supplants the traditional communities, instead creating a wholly Github community in which the previous social construct (and social economy) can no longer truly thrive, and instead, the community and social focus is redirected and reinvested in Github itself.

The similarities to the reward mechanisms and value feedback mechanisms of social networks like Facebook are quite strong.

> It sounds to me like you miss the "good old days" when the club was more exclusive.

This seems to be a recurring theme; it sounds to me like justification for cognitive dissonance borne out of a situation where two choices exist:

1) Subscribe to the notion in which one would be a junior contributor in a broad pre-existing world of established engineers, or

2) Ignore the experienced engineers and create a community of self-evaluating peers, writing off the old model as "exclusive" rather than "experienced".

I expect the truth is found in-between those two poles, but reality has trended strongly towards number #2.


I never disagreed that the overall quality of the code has gone down; I meant to suggest that such an observation misses the point.

Open Source is now much more accessible, and I think that's a good thing.

It used to be that if you wanted to own a car, you needed to basically have the knowledge of a mechanic. Now any "idiot" can own and operate a car. Is that such a bad thing? Cars are for getting you from A to B, remember?

There is arguably more mediocre code out there in the public eye now, thanks to GitHub. Is this bad? I'm not sure. But don't tell me that GitHub has made it more difficult for you to make software of the same quality as the stuff from 20 years ago.

Furthermore, why do I need to "choose" one of the options you gave? I don't care if I'm "junior" or "senior".

TL;DR: I just want to get my work done like everybody else. It's a matter of practicality; not honor.


> Renaissance? Open source has never been less healthy.

I stopped reading. We're not operating on the same plane of reality.


Then you missed out on an intelligent and frankly important critique. He managed to put in words what I have been thinking for a while. I was skeptical after the first two sentences too...


The statement made upthread was that (a) github destroyed open source social structure and (b) has resulted in buggy releases when there are releases.

I would have liked to see some examples in such a broad statement. I am struggling to think of an O/S project I used pre-github that fits the bill.


> an intelligent and frankly important critique

I disagree on both counts. Actually, I find the assertions in that post callous and destructive. This cathedral that the poster is referring to never existed. Open source has never been healthier, and Github is a very big part of the reason why.


Such extraordinary claims require extraordinary evidence and the person supplied zero evidence.


The parent makes very salient points, I think you'd do we'll to understand rather than brush then away because they don't comport with the conventional echo chamber wisdom.


> I've watched stable projects either wither and die

Can you cite this or comment on particular projects? Centralized repo based projects seem to be struggling in comparison to the DCVS based projects.


I suppose you might be right, but I definitely don't feel that way myself. If it wasn't for GitHub, I don't know if I would've made an effort to get involved with the projects I use. It's made it insanely simple to find a project, get documentation and a list of open issues in one place, with a consistent UI across projects. It's also been a pleasure committing fixes for projects I use - as mentioned above, being able to discuss the fix in a code review style environment, with the original author is hard to beat.

Projects I've published myself have been a breeze to maintain, because pull requests are really easy to manage. I can review changes with the submitters, pull the changes myself to tweak if I need to, and auto-merge when changes are simple enough. It also acts as a nice portfolio for potential employers.

I guess I feel like OS in general is benefiting from the likes of GitHub, not suffering. Just my two cents.


> Instead we're faced with the constant churn of semi-functional code, users working in silos and then showing up with patches well after it's too late to give them direction, animated GIFs instead of careful engineering discussion.

I've been paying attention to this stuff since around 1998, and except for the animated GIFs, this has always been the case. The difference is that we've had 15 years for the abandoned cruft to accumulate, and Google has gotten a lot better at finding it.


Circus? you could barely call it a sideshow. I remember the glory days when we wrote perfect algorithms by hand and mailed them by post to each other. We called it Mathematics.

I've watched beautiful concepts come to life only to choke on the reality of bits.

This isn't a circus, it's a shitshow.


Oh no, people are having fun...


It's very easy to be a part of the the problem when you're not contributing to a solution. It's also very easy to say a lot about nothing. I mean that in that you source no projects that have gone the way you described.


>Github optimized being lazy, and this was appealing, and in doing so they broke most of the technical and social structure that held together open source's ability to produce reliable, stable, well-documented software.

And yet, here we are, years after Github optimized being lazy and broke most of the technical and social structure of open source, and we still have hundreds of thousands of usable and awesome open source projects available to use and contribute to. The internet and the apps built on it still run just fine, people are getting more done with technology than ever before, and more people are getting their code out to the world than before Github.

I think that you're either overly cynical and negative, or you're upset because Github has taken away implicit social power you used to have or you're pissed off cause you have to deal with the plebs who use your obviously brilliant software in ways that aren't correct (i.e. ways you didn't think) then have the audacity to file bugs on it in ways that are wrong (i.e. ways you don't like).


Your core premises are flawed:

1) The internet and the apps built on it still run just fine.

There is very little maintainership and investment in core difficult technology development. Most core projects that make up the foundation of the internet subsist on the oft-dwindling maintainership of what you seem to consider to be a legacy generation of engineers.

Outside of areas where companies hold direct commercial interest, many core technology projects are withering or stagnate. There are an infinite variety of new JavaScript frameworks, however.

2) Hundreds of thousands of usable and awesome open source projects available to use and contribute to

We're reinventing wheels at a prodigious pace, but your comment demonstrates and underlying shift in the opensource mindset that Github has invoked. Whereas open source was previously something to be produced as a stable, reliable entity, and consumed by users, it has instead become an expensive participatory process for all comers, in which stability and reliability and even documentation is discarded in favor of quick fixes and local patches and increased expenses for the entirety of the ecosystem.

3) More people are getting their code out to the world than before Github.

It's the conceit of every generation that they exceed the previous, but this statement (and the implication that this is due to Github's introduction) is simply not true.


> We're reinventing wheels at a prodigious pace[...]

What you see as waste, I see as valuable experience. In school, did you just read books and take tests? Or did you spend a lot of time solving problems that had already been solved, deriving equations you could have looked up, writing programs you could have downloaded...?

People learn by doing. You don't sit down and design the Next Big Language on your first try. You invent a lot of shitty, unoriginal little languages while simultaneously studying what's out there, and maybe eventually you get to the cutting edge where you can create something novel and better.


You're both arguing by anecdote here. It seems to me self-evident that Github has many more projects on it -- not just forks of existing projects, but original projects, period -- than its predecessors and competitors do. This just about definitionally implies that it has a lot more crap. While it would be hard to prove that Github has a higher percentage of crap on it than its predecessors and competitors, that's certainly plausible.

However, you're essentially taking it as a given that the absolute number of worthwhile projects has dropped thanks to GitHub. If there's convincing evidence of this, I'd honestly like to see it, along with a plausible theory as to why that would be the case. What does, for example, Sourceforge get right that GitHub doesn't? (At least from my anecdotal experience, Sourceforge is in fact full of under-documented, unfinished and effectively abandoned crap to more or less the same degree that GitHub is.)


> However, you're essentially taking it as a given that the absolute number of worthwhile projects has dropped thanks to GitHub.

Not just dropped -- they're drying up. I can only speak from anecdote (nobody has paid me to run a study), but while I've seen no dip in usage of my libraries, and I've seen my projects explode with half-baked forks on Github, I've seen mailing list participation and worthwhile code patch submissions drop to very nearly 0.

> What does, for example, Sourceforge get right that GitHub doesn't?

SourceForge essentially died out for modern projects upon the release of Google Code in 2006.

However, what (traditionally) SourceForge and Google Code did right -- and, what projects did in their own hosting for decades before and after that -- was place the project's community in the forefront, and the code in the background.

This meant that documentation, releases, mailing lists and other constituents of a vibrant community project were placed in the forefront, with the code being something that one worked on as part of the community.

By contrast, Github made projects secondary. The code was (originally) always attached to an individual account name. The primary project page was the code itself. Forks existed at the same namespace hierarchy as the projects they forked.

The result was that Github sucked community energy into Github itself, and in doing so, began to redefine the community social constructs in a way that allowed users to maximize social and personal rewards while minimizing work necessary to conform or participate in the project's community.


+1. I couldn't agree more.


Although I disagree with almost everything you've said in this thread, I appreciate the different perspective and your points are certainly reasonable (ie. have given me something to think about). However, this:

>> 3) More people are getting their code out to the world than before Github.

> It's the conceit of every generation that they exceed the previous, but this statement (and the implication that this is due to Github's introduction) is simply not true.

has me scratching my head. I would have assumed "there are more people writing code now than five years ago" and "Github has enabled/encouraged/caused/what-have-you proportionately more programmers to publish their code" to both be true statements, leading to an obvious conclusion. What do you think I'm missing?


> has me scratching my head. I would have assumed "there are more people writing code now than five years ago"

If I'd been more precise, I would have said no more code per capita.


I think you're both looking at this the wrong way. The projects that "wither or stagnate"? Without Github, they likely wouldn't be publicly-accessible at all. The professionals will always produce professional code, the amateurs will always produce amateur code, and what Github did was to make the amateur code accessible. You can't make the amateur code into professional code, but that by no means translates to it being valueless. You just have to recognize it for what it is.


Oh the good ole' deep psychological personality trait evaluation handed out because of an opinion.


Where did that last paragraph come from? Sheesh.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: