Open source as a civic duty
jeremyckahn.github.io
jeremyckahn.github.io
Contributing to Open Source is a good thing, but only do it if you're getting some benefit from it. Does spending your time writing code for other people give you some business advantage? Help establish your reputation? Pay you cash money? Tickle your creativity and make you happy? Cool, then go for it.
But think twice before spending your time patching somebody else's thing for free. Chances are they are getting one of those tangible benefits from it, and if you're not, well, what does that make you?
Notice that many of those big, altruistic Open Source projects that made the world a better place also made the world a better place for their corporate sponsors in very specific and well thought out ways [1]. There's not that much real charity to be found, even though it would make a better story if there were.
Notice further that all those upsides listed above can also be had from developing your own for-profit, possibly closed source software products or working for somebody else doing so. If whatever you're doing isn't getting you further ahead than that, it's your duty to yourself to fix that.
[1] http://www.joelonsoftware.com/articles/StrategyLetterV.html
I'd suggest the opposite of parent comment's advice to young programmers. Don't buy in to the mindset of "how does this benefit me, me, me." If you find yourself in a position where you're happy with your burgeoning career--i.e., having a roof over your head, and not worrying about your next meal--contributing your talent to F/OSS, regardless of who "benefits", is one of the best ways you can apply your specialized domain knowledge to improving the general good. Basically what the article says.
Hacking on open source does increase the education improvement for low income children. Example: Poor kids in Africa now have android phones and have access to open source education materials made possible via open source web technologies.
[1] http://www.linuxfoundation.org/news-media/announcements/2012...
Nor was every possible motivation given about money/getting ahead - intrinsic motivation (happiness) was mentioned, too.
Also open source projects are not "somebody else's", they belong to everyone. When you contribute to open source all of mankind is benefited.
For preference contribute to the services governments are legally obliged to provide. Think about say Electorarl Roll Management services. There are over 2000 services local UK governments have to supply - choose one, http://oss4gov.org/lgsl then find a local councillor who cares and start delivering. That's going to make value. Not IPO value, maybe not even gonna get paid value - but it makes government services better.
Remember the story about the airline check-in clerk who was looking up flights in the free public iPhone app because the official airline system was slow and confusing. Now imagine there are hundreds of thousands of government employees just like her in front of appallingly bad software. There is plenty to keep you busy.
Edit: fat fingered a draft post
Edit: it's no harder to get open source software into go ernment than into private sector organisations - it's just that no-one with the skills to buikd has the itches government needs scratching
Contributing back to the community is a good thing, but only do it if you're getting some benefit from it. Does spending your money and time for other people give you some business advantage? Help establish your reputation? Pay you back in return? Tickle your morality and make you happy? Cool, then go for it.
But think twice before contributing your time or money for somebody else for free. Chances are they are getting one of those tangible benefits from it, and if you're not, well, what does that make you?
(the above is satire, with purpose of criticism)
Yep, pretty much agree.
> (the above is satire, with purpose of criticism)
Oh...
I see the author does call it free software, but it wouldn't hurt to make it clear there is a big difference open source and free software.
Open source means you have the option of delivering source to the binary's recipient. Experience tells me that a very low % of developers take this option when the software as a whole that they deliver is not open source or free software. This means, as you look from the start of the software food chain (the lowest level libraries) to the top, the rate of passing on of source code drops very quickly.
If the GNU toolset/libraries had not been GPL, I very much doubt the Linux kernel would have been GPL and I very much doubt you'd have an operating system that's as robust and heavily used as GNU/Linux.
Normally, I'd let it pass, but when an article talks about ethics of "open source", I think the distinction needs to be made.
Personally, the emphasis on freedom matters to me. If some business is scared away by freedom, I'll pass up on that business and take the freedom instead.
For that matter, a healthy open source / free software ecosystem helps control commercial software prices and provides alternatives to those who can't afford the licenses.
That is unless you specifically choose projects with the view to helping those in your community, and whether you choose your community to be fellow developers or other people sharing your geographic space.
This could be a good thing, or it could be a bad thing - depends on your perspective. Maybe people "spending time" on these things would help advance the state of the art.
Case study #1: PC hardware was commoditized under the Microsoft/Wintel model which made hardware "open" in the sense of interoperability. On the bright side, hardware was cheap. However, the dark side of this is that hardware makers couldn't really profit and invest into R&D. So for a long time we got heavy, ugly, clunky, beige boxes that gulped electricity.
Case study #2: The web was a happening place of innovation when Netscape earned a profit. Microsoft felt threatened and promptly destroyed Netscape by releasing Internet Explorer gratis and bundling it with Windows. The web plunged into a dark ages period from which we are still recovering.
Is it a good thing that operating systems and utilities are being commoditized by open source? If your only concern is price, then yes. If your concern is also for innovation and advancing the state of the art, I'm not so sure. Sometimes, exactly what you need is a company that profits handsomely selling proprietary products, in order to push an industry forward.
Commoditizing things and making them cheap (so no one works on them anymore) is a double-edged sword that is not necessarily good. So maybe it's your civic duty to pay for proprietary stuff, build proprietary stuff, and not to give away your labor.
The web didn't plunge into the dark ages because people gave away their labor or because they didn't buy proprietary stuff. It was because Microsoft stopped developing IE after it had reached market dominance.
And what brought the web back out of the dark ages? An open source browser (Firefox).
My overall argument is thus:
A. Commoditization is not necessarily good. It often harms innovation (supported by case study #1 and #2)
B. Open source is a kind of commoditization
C. A and B together implies that open source is not necessarily good.
By the way, I would argue that it wasn't open source that enabled Firefox to save the web. It was the fact that Google was making lots of profit on web search ads, and used that money to fund Firefox's development. The fact that Firefox was open source, is incidental.
I think it's hard to argue that Firefox's ultimate rise to prominence wasn't directly related to funding provided by Google, though.
I use my own open source stuff constantly so it does serve a purpose apart from above.
For the summer I looked at (what I consider) poor open source implementations of libraries I use and made better ones myself. (Yes I did look into making PRs, but they were usually denied)
150 days of commits, pull request and comments - still counting.
I call it allmännytta.
Edit: originally this was a comment on site but seemed to vanish.
Would make companies that take government missions more transparent. Writing tests, decent docs.
Look at http://www.oss4gov.org/manifesto
However, it's very, very, very important not to simply toil in obscurity dropping code--I believe our efforts are better spent teaching others how to program and making tools and libraries that are simple enough for others to hack on.
We don't want to drive our field so far out of the realm of the common man that they simultaneously take it for granted and yet are unable to extend it; that path lies ruin once we've passed.