I suppose most of us these days have a github repository and this blog post would be the obligatory mention of mine. I try to work on phone apps these days (PhoneGap) and Node.js backends every chance I get.
I can’t say that I’m very active on the open source side of things. I only manage to throw down another version about once per week or so. I find myself fairly ignorant of what goes on with respect to active multi-person open source projects—I only really have experience in bigger Microsoft programming shops on a Visual SourceSafe repository, for example. And I have also used Microsoft Team Foundation Server as served up via the VisualStudio.com website from the Visual Studio program itself.
I may start putting some of my older projects on there, time will tell. I tend to select things that have a tutorial component to them so that I can demonstrate to others an intro to something.
Would I add a library to github? At the moment, I don’t think so. Libraries are useful to other open source coders but they’re also usable to corporations who are well-financed. I’m usually paid to code so I think I’d like to be careful what I put out there for free.
A better github paradigm
What would be nice is if you earned credits with github for every download of your code. And then you could spend these credits by paying for your own downloads on there. Any individual without credits would need to buy them with money first if they wanted to download code. If you could buy a credit for $1 then in theory you ought to be able to sell a bulk of credits for $0.75 each. Github themselves would earn the difference since they’re hosting the platform itself.
And yet, it’s the norm these days for an average open source program to be made up of other open source code as dependencies. So the crediting scheme would necessarily need to pay out fractional royalties to the people who created those dependent portions of code. And so, if your own code is made up of 90% of other people’s code you would only see 10% of that credit and the rest would be distributed to them.
The benefit to a system like this is that a coder like myself—who’s used to getting paid to do this—gets paid for doing this. Anyone who downloads code has to pay a credit from the balance on their account. Having downloaded code they’re free to then use it. And if they then re-bundle someone else’s code into their own then it’s become part of a commissioning scheme and everyone gets paid for their effort.
“The benefit to a system like this is that a coder like myself—who’s used to getting paid to do this—gets paid for doing this.”
An additional benefit to this system is that it no longer rewards the corporations who get a free pass to download unlimited code at your expense.
So the new system would work like iTunes, perhaps. Maybe you could buy a card in a retail store with credits and redeem them on the site. But if you created an account and uploaded a popular library then you could start earning credits almost immediately, in theory, anyway.