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.
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.)
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.
>> 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?
If I'd been more precise, I would have said no more code per capita.
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.