Hacker News new | past | comments | ask | show | jobs | submit login
Open source as a civic duty (jeremyckahn.github.io)
73 points by Tsiolkovsky on Aug 17, 2013 | hide | past | favorite | 40 comments



Young programmers: please don't buy into this mindset. It's one of the many ways to find yourself exploited in this industry.

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


That's a pretty negative perspective. Not everything has to be about money and getting ahead. I think there's a lot to be said for contributing back to the community for the greater good, without a profit motive. That doesn't mean you have to patch someone else's profitable code for free, but creating your own stuff to give away to the world, or contributing to a project whose philosophy or utility you like regardless of their corporate sponsor, is a very good thing to do.

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.


In that case project selection is important. Unpaid work towards a project who's main effect will be to reduce licensing costs for fortune 500 companies is very different to working on something to (say) improve educational outcomes for low income children.


This is a very narrow perspective.

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.


Android is developed mainly by paid engineers, not people giving their time as "civic duty".


What is Android based on? Linux.


Linux kernel development is also primarily[1] done by paid engineers

[1] http://www.linuxfoundation.org/news-media/announcements/2012...


Linux wouldn't be where it is today without the work of full time engineers paid to work on it.


> That's a pretty negative perspective. Not everything has to be about money and getting ahead.

Nor was every possible motivation given about money/getting ahead - intrinsic motivation (happiness) was mentioned, too.


Young citizen: please don't buy into this mindset of contributing back to society. It's one of the many ways to find yourself exploited today.

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)


> Young citizen: please don't buy into this mindset of contributing back to society. It's one of the many ways to find yourself exploited today. 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?

Yep, pretty much agree.

> (the above is satire, with purpose of criticism)

Oh...


The reason software developers today have so much power and flexibility can be directly attributed to open-source. Open-source tools are good enough now that 1-4 engineers who are friends can get together and build something amazing and profitable while standing of the shoulders of giants via open-source software. If most things were not open source, we'd be paying a lot more to be able to do our work and we'd have a lot fewer references and examples to study and learn from as we try to invent something of value. Without open-source, many of us would be spending months to years longer to bring a product to market.


Life is more than just climbing the food chain and making money.

Also open source projects are not "somebody else's", they belong to everyone. When you contribute to open source all of mankind is benefited.


Disgusting. This is the first post on HN that actually offended me. I bet this is how the Homebrew Computer Club felt after reading Bill Gates' Open Letter to Hobbyists [1] back in '75.

[1] https://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists


When you develop software on top of an open-source stack, you stand on the shoulders of giants. If you make a modification to an open-source package and profit from it, you have a moral obligation to eventually contribute this code back to the community.


Young and old programmers - please do buy into this mindset, but do not blindly or randomly contribute to any OSS project out there. As your civic duty, contribute to a project that has civic value.

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


Obviously, I hate to be negative (always a lie), but mentioning GNU software under the title of open source really isn't helpful.

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.


In this speech on the history of Linux from 2001 [1], Linus makes it clear that he views the viral nature of the GPL to be a crucial component of Linux's success. He likens it to allowing evolution to take place. I'm not sure when this viewpoint took hold for him, but it would suggest that he likes the most fundamental part of the license (though he disagrees with much of the politics).

[1] https://www.youtube.com/watch?v=WVTWCPoUt8w


Open source is meant to be a synonym for free software that doesn't explicitly mention the "freedom" part of it. Open source is meant to be a new name for free software that doesn't scare businesses away. The vast majority of software vetted as open source by OSI is also considered free software by the FSF.

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.


Free Software is not synonymous with GPL. GPL is a specific kind of free software with copyleft provisions which guarantee that users (can) get the source. The post you're responding to seems to argue not just for the role of free software, but for that of GPL specifically.


He's not calling for what you're talking about : He's asking people to open source things.


I actually had this conversation at work the other day. For those of us who can collaborate and code, it makes a lot of sense to help open source projects. If not us, then who?

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.


I think that a lot of the cost savings from open source projects are probably captured towards the top of the food chain, so I wouldn't necessarily see it as altruism in the "helping the poor and downtrodden" sense.

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.


The author states: "There’s very little time spent developing operating systems and basic utilities anymore"

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.


Case study #2 doesn't hold water.

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).


Sorry for the lack of clarity. Case #2 is only meant to illustrate that commoditization has harmful effects of innovation. Microsoft, for a time, commoditized the browser market, which harmed web innovation. I don't think that's in dispute.

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.


Firefox had to become successful before Google's payments would make a difference. Google didn't front Mozilla the money to develop a browser.


You're right, Mozilla didn't initially depend on Google. It depended on Netscape, which created Mozilla.

I think it's hard to argue that Firefox's ultimate rise to prominence wasn't directly related to funding provided by Google, though.


Completely agree - it is a civic duty, and if you'll forgive me for link-dropping I remain unapologetic about it - http://www.oss4gov.org/manifesto and even see the unapology. There is a growing movement of placing OSS in government (see the service design manual on gov.uk - the UK government demands that new software is built in an Agile way(?!). - code for America do some really good civic hacking stuff (recent hackday had 90k people). But you don't have to be part of some movement - just be writing and releasing. Debian is still doing it after 20 years - far longer than most of us will ever stay in one job.

Edit: originally this was a comment on site but seemed to vanish.


The government should use already established OSS. It's not agile to make a document reader from scratch, to increase the credibility of your work, when it's already created.


I don't think anyone is arguing for that. There are literally thousands of services govt is required to provide that do not currently have an OSS analogue - and yet there are proprietary solutions for them. We argue that taxpayer money should only go to fund development of code that is already or will be reased under a free and open license.

Look at http://www.oss4gov.org/manifesto


I like this. I'd would wish it was a demand that Gov services used open source. Sure pay a company to build whatever, but make sure they publicise the code.

Would make companies that take government missions more transparent. Writing tests, decent docs.


I would gladly contribute free software to government the same moment I start getting free health care, education, housing, electricity, child care and other things. Until then, no thanks. I pay taxes, and that's enough of the contribution to the society from my side.


You should probably read what I wrote again. I didn't say the government should rely on hacker on their free time. I said whoever they assign government contracts should have their code setup as open source. Naturally the government would still pay that company, but the code would be open source.


Would you say the same for cars. For example, whenever government pay for a new car fleet, car designs should become open source and be available to all other members of the society free of charge. See the point? Why should only software vendors and developers be expected to provide the outcome of their hard work as open source?


I was tempted to start a nationwide campaign of hackers calling their local councillors. Apparently it has been tried before and fell foul of competitive ruling - disallowing private companies is seen as state aid. I suspect that is because large (US) multinationals were being blocked by small local integrators, so came up with that. I think there should be a way around it


As a corollary, I submit that companies relying on open source, after having reached a sufficient size and stature, have a civic responsibility to contribute code to the open source community. In addition to the purely altruistic aspect of such a move, founding an open source project has the side benefit of attracting similar minded folks to your project and potentially your company as well. See, e.g., Netflix OSS as an example of how to do this correctly. http://netflix.github.io/


Something I'd love to do as a civic duty would be to help scientists get their code in shape. It seems a lot of science is being done with code that is basically deemed to ugly to even publish. I can't be the only hacker that wouldn't enjoy spending some time on code that actually involved some algorithmic work as a break from gluing blocks together.


It's a very good and noble thing to contribute to the wealth of tools that we as developers have at our disposal, to help relieve others of the pains that we faced getting a particular problem solved. There is no vector for spreading ideas and progress as helpful as source code and software, and it's a great thing to help other people.

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.


I consider Open Source as personal growth. Putting out code there to be questioned, scrutinised, discussed or even used.

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.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: