Every web-based startup is like that: 99.999% of their code base is someone else's outsourced work yet they keep their own code closed. Why such high percentage of other people's code? Because nobody can afford to:
* Implement their own SQL server
* Implement their own programming language
* Implement their own web framework
* Implement their own 234 libraries for parsing, fetching, I/O, threading, etc etc etc.
However, I feel exactly the same way you do. But not regarding Github. They're what YouTube is for flash, they're basically Rackspace - a hosting company.
The company that pisses me off the most is Scribbd. Their entire product is an evil flashizator of OpenOffice's file converter. And an closed-source flashizator at that. Not only they're destroying the web with their laptop-burning binary browser crasher, but they're parasitizing on one of the most successful, most needed (and struggling) open source projects without contributing anything back.
Scribd doesn't even have the source to their own Flashizer! It's FlashPaper, which was Macromedia's somewhat lame attempt at competing with PDF pre-buyout.
Well, yes, everything you say is true. We are all just building on top of countless others' work, often open source. That's truly wonderful and I love it, but you can really say that about anything - if I open a donut shop I don't have to invent electricity, invent donuts, invent a way to make bricks and put them on top of each other, invent a monetary system to pay for the donuts. Everything anyone does at all relies on the past work of someone.
I think the question is whether a new project adds something, innovates in some important way. Many web startups take from this ocean of prior work, put it together in a different way, fashion something new. That's great and I love it.
What does GitHub do? A web interface to a source control system. Plus free hosting, plus "teh social!". It's not the same as your usual web startup that took X elements from the primordial soup and built a new structure; it's a web interface to git and a backend for user and file storage.
None of this is wrong. We needed a new sourceforge, and it is undoubtedly fueling innovation. The social element has turned out to be a powerful inducement for people to work, to avoid losing face. The easy sharing is fantastic. The accounts structure, where open source projects are free, is a powerful driver for open source. On its face, everything is positive.
So why don't I like it? Well, actually, the fact that they're so reliant on git is really just my excuse for not liking them. The real reason is much harder to explain, but I'll give it a shot:
For the same reason I don't like people putting blogs and pictures on Facebook or Mixi or Blogger. For the same reason I don't like bands having pages on MySpace. For the same reason I don't like Flickr or SlideShare or even YouTube or, for that matter, NAT. All of these things seem positive. More people can blog and share pictures now. More people can post their cat videos. It's kind of easier to share slides, I guess. It's easier to set up a home network. But what have we given up?
There is a long term trend away from people doing things themselves, and towards a producer/consumer mentality. Away from P2P and towards corporate hosting. No matter how nice the company is, and GitHub are pretty nice guys I hear, I don't like the trend. You would think that out of all groups of people, programmers would be the most likely to be able to set up their own damn repos. You would think that if finding and viewing other coders' work, and coordinating commit rights etc, was such a big problem - and it obviously is - we could solve it in a way that wasn't giving up en masse and just using some private company's product.
It's about having a problem, and there being an easy but wrong solution, and a hard but long-term correct solution. If the problem was "how to enable a large group of people to easily establish, find, view, and collaborate on open source projects using git" then the solution should be to come up with some kind of distributed system. Everyone piling on to some flashy new product, which despite its positives (and their are many, as I said) leaves one party in complete control and one bottleneck, is the easy but wrong solution. What if GitHub loses its data, Magnolia style? "Oh that will never happen" is the reply. Wrong answer. The possibility, however unlikely, should not even exist.
Well this is turning into an essay, so I might leave it there, but I hope I could get across some of my admittedly rather extreme views on the matter. In summary: I don't hate GitHub, I just hate that we don't have anything better. Yet : )
* Implement their own SQL server
* Implement their own programming language
* Implement their own web framework
* Implement their own 234 libraries for parsing, fetching, I/O, threading, etc etc etc.
However, I feel exactly the same way you do. But not regarding Github. They're what YouTube is for flash, they're basically Rackspace - a hosting company.
The company that pisses me off the most is Scribbd. Their entire product is an evil flashizator of OpenOffice's file converter. And an closed-source flashizator at that. Not only they're destroying the web with their laptop-burning binary browser crasher, but they're parasitizing on one of the most successful, most needed (and struggling) open source projects without contributing anything back.