Ask HN: What was OSS like before Github?
13 points| wavetwista | 12 years ago | reply
I was introduced to open-source through Github (I know, I'm young and green), I have no context about what it was like beforehand, I thought pull-requests were a core git feature and Github just put a nice wrapper on them :)
So, when you found a bug in OSS pre-Github/Bitbucket et-al, how would you fix it? Where would you discuss it, on mailing lists? And when it was fixed/merged, how would you inform people what had happened, why, and how the changes might affect them?
[+] [-] moreentropy|12 years ago|reply
We had sourceforge, berlios, tigris.org etc. for years if you like your project hosted. Then there's Trac, Redmine etc. Otherwise you'd set up a Mailman for mailing lists and subversion as source code repository. If someone attaches good patches to mails and/or gives valuable input to the project, he usually got write access to the svn repository.
I'm not even sure that the Github way of developing OSS is that much of an improvement. Too often people rather fork than contribute. You'll find a dozen forks of the same software where different people fixed various things, half of them abandoned a long time ago and none of them usable.
[+] [-] samrift|12 years ago|reply
Projects had to find a home (sourceforge ended up a major player here) and for most, fill out some large form to be accepted. Then they had to get noticed - slashdot or similar, since there was very little "social" effect on the project host.
When a project did try to get noticed, it had to already be "good" enough to get people interested. Practically nobody would stumble on a half-implemented tool, because there was nowhere to stumble there from. And it wouldn't get the push and discussion on newsgroups or websites if it was half-implemented.
Contributors had to first find the active developers. Many times, that was not on the issues list or a newsgroup, but on an irc channel mentioned in passing in a readme file or on a newsgroup ("I was talking to bud on #ourproj about the thread scheduler..."). Once you found them, you could try to "break in".
Since 95% of the OSS projects you'd actually find were already "good enough", that meant there were already a good number of active contributors that had formed a clique and were understandably protective. In many cases, you had to work hard to get them to accept that you might help rather than be a burden. That meant hanging out on irc or newsgroups and trying to impress.
Once a project was abandoned, there was nearly no way to contribute, you'd have to fork it. Unfortunately, your fork would have to beat the searchability of the original project with even more buzz, or people would find the abandoned one and have no inkling that your fork existed.
Obviously this is an over-generalization... there's no way to really encompass how all OSS was, even if I knew -and many major OSS projects were not at all like this, since each had it's own ecosystem and quirks.
In general the discovery of projects, and the ability to contribute, has grown in leaps and bounds around the time of github. But that is due also (to a very large extent) to other tools such as blogs, social sites, news sites (eg hacker news), and better search with google. Really, github is just a part of a huge increase in online interaction between people.
[+] [-] m0th87|12 years ago|reply
The use:contribution ratio was totally skewed. Few people left commentary or filed bug reports when an issue arose, mostly because every project had its own way of handling feedback, and oftentimes you had to separately register or join a mailing list to use it. Pull requests didn't exist, so instead if you were feeling really ambitious you might attach a patch file to the ticket you opened.
And then there was the act of creating a project. Google code improved this significantly, but I remember having to file an application to get approved for an OSS project on sourceforge back in 2004. And it was a seriously long application too!
[+] [-] mattl|12 years ago|reply
http://mako.cc/writing/hill-free_tools.html is worth a read.
[+] [-] anywherenotes|12 years ago|reply
So big or non trivial projects had their own websites, and mailing lists. I don't really know what a small project would have. For example yesterday I made a page that converts any time in human readable format into local time. (useful for when you get email for a meeting in some awkward timezone) Since now we have what we have, I put it in bitbucket, few years ago, I would just have the source on my PC until it gets lost.
[+] [-] dedward|12 years ago|reply
Maintainers of a piece of software would run some kind of VC repository usually, although not usually a distributed one like GIT - they were networked. Some people had commit access. You'd keep a changelog, just like today, and the group would tag and release, just like today.
What Git/Github brings to the table is really the combination of a distributed version-control system that gained large traction (GIT) and a system to leverage that to make common collaboration tasks easier (fork, pull request, tracking meta-data, etc).
[+] [-] tirant|12 years ago|reply
[+] [-] taf2|12 years ago|reply
[+] [-] terabytest|12 years ago|reply
[+] [-] skinnymuch|12 years ago|reply
[+] [-] infinii|12 years ago|reply
[+] [-] grumps|12 years ago|reply
[+] [-] a3n|12 years ago|reply
And you used to get your unix on tape, with included tools and apps.
[+] [-] Shorel|12 years ago|reply
Or, at the very least, I did.
[+] [-] talles|12 years ago|reply
Google code never really hit mainstream IMO.
[+] [-] unknown|12 years ago|reply
[deleted]