

Open source as a civic duty - Tsiolkovsky
http://jeremyckahn.github.io/blog/2013/07/13/open-source-as-a-civic-duty/

======
jasonkester
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](http://www.joelonsoftware.com/articles/StrategyLetterV.html)

~~~
acabal
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.

~~~
jiggy2011
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.

~~~
cpursley
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.

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

~~~
cpursley
What is Android based on? Linux.

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

[1] [http://www.linuxfoundation.org/news-
media/announcements/2012...](http://www.linuxfoundation.org/news-
media/announcements/2012/04/linux-foundation-releases-annual-linux-
development-report)

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

~~~
jordigh
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.

~~~
andreasvc
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.

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

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

------
wes-exp
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.

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

~~~
wes-exp
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.

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

~~~
wes-exp
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.

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

------
lifeisstillgood
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](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.

~~~
seivan
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.

~~~
levosmetalo
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.

~~~
seivan
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.

~~~
levosmetalo
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?

------
dmourati
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/](http://netflix.github.io/)

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

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

