Just a question I thought of this morning.
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?
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.