View Full Version : Open Source -- How obligated are we to contribute?

June 1st, 2011, 02:24 PM
I read this article by Matt Asay on The Register (http://www.theregister.co.uk/2011/05/31/open_source_givers_and_takers/) this morning, found it was an interesting read...

For years, open-source advocates including me have demanded greater open-source contributions from the world's largest beneficiaries, from Google to Morgan Stanley and the US Department of Defense. Now Amazon is on the firing line for not giving back commensurate with the benefits it receives from various open-source communities, and the thinking behind the arguments are as wrong-headed as they ever were.

Open source, it turns out, is doing just fine, with or without Amazon. And always will.

My friend and open-source expert Glyn Moody does not agree. He believes that contributing to open-source projects is both rational and a moral obligation:

Amazon's contribution to the open source world seems pretty minimal. That's not only ungrateful, it's unwise. It's in Amazon's best interests that the projects it depends on thrive: the better they become, the better Amazon's infrastructure and products will work....

[Contrast this with] Google, which does choose to support that community in a variety of ways, because it knows that it is not only the right thing to do, it is the rational thing to do.

Perhaps. I've made similar arguments in the past. But it has become increasingly clear to me over the years that open source tends to do just fine without all the normative arguments about who should contribute this or that.

Self-interest regulates open-source software quite well.

In a recent interview with Argentina's La Pagina, Linux founder Linus Torvalds notes that "[s]upporting all the random hardware out there is what most of the actual [Linux] programming effort goes into." Guess what? Many of those contributions come from the companies that manufacture that hardware. Just take a look at the list of who contributes to the Linux kernel (PDF), and it's immediately apparent.

Those companies contribute because it suits their self-interest. The minute it doesn't, they'll stop.

Torvalds touches on this in the same interview:

I think there can be *many* ideologies [that motivate open-source development]. I do it for my own reasons, other people do it for _their_ own reasons. I think the world is a complicated place, and people are interesting and complicated animals that do things for complex reasons. And that's why I don't think there should be "an ideology".

I think it's really refreshing to see people working on Linux because they believe they can make the world a better place by spreading technology and making it available to people more widely - and they think that open source is a good way to do that. That's _one_ ideology. I think it's a great one. It isn't really why I started doing Linux myself, but it warms my heart to see Linux used that way.

But I _also_ think that it's great to see all the commercial companies that use open source simply because it's good for business. That's a totally different ideology, and I think that's a perfectly good ideology too. The world would be a _much_ worse place if we didn't have companies doing things for money.

So the only ideology I really despise and dislike is the kind that is about exclusion of other ones.

Torvalds' pragmatism is refreshing, and instructive, particularly in light of the finger-wagging at Amazon. To Moody (and Joe Brockmeier, who echoes and amplifies Moody's arguments), I say, if it's rational to contribute to open-source projects, Amazon will contribute. The moment it's perceived self-interest is furthered by contributing rather than free-riding, Amazon will contribute. And not until then.

What many overlook is that contributing to open-source projects is a huge burden, and not just a blessing. It's hard work to clean up code, run the internal legal gauntlet, and all the other things that are required to successfully participate in an open-source project. For many companies it's just not worth the bother.

And while Moody and Brockmeier rightly laud Google for its open source contributions, they seem to have forgotten that Google went years as a huge consumer of open source before it contributed much of anything back, and that to this day it hoards far more than it contributes. Even its most open projects, like Android, are open only on Google's preferred terms.

Google contributes out of self-interest, not because of some divine should.

Like every company, or individual, for that matter. Each of us contributes (or doesn't) out of perceived self-interest. Now, it may be that Amazon will come to feel that contributing to open-source projects like Linux correlates with its self-interest, as Google has, and will open up over time. Fine. But let's not pretend that there are compelling normative arguments that demand it do so on anyone's terms but its own and those of the open-source licenses it uses.

Long read, I know.

TL;DR version: Open source encourages contribution by its community, but on what level are we obligated to give back to the project? Should there be a moral mandate to give back what we have received, or, as Matt and Torvalds seem to frame it, should contribution be based on self-interest?

Just some food for thought :popcorn:

June 1st, 2011, 02:54 PM
I don't think there's an obligation to give back at all. It's nice for people to give back, and lots of people/companies do, I just don't think it's an obligation.

I help out with support questions from time to time, but although I know how to program in quite a few different languages, I don't have the time to contribute in any meaningful sense in that regard.

June 1st, 2011, 03:05 PM
I think people are obligated to give back but not necessarily to give back code. Lets face it, not everyone is a programmer but that doesn't mean you can't give back to the community. Just answering someone's question on the forums is a form of giving back to the community. Honestly some of the most important work needed is documenting the programs we have and teaching others how to use them.

June 1st, 2011, 03:07 PM
There is no obligation! Give back and you will save someone else's time as someone did save yours.

Copper Bezel
June 1st, 2011, 07:58 PM
Well, the article is talking about corporations, not individuals. The average user certainly can't be expected to contribute code. I do the support thing because there are sometimes people with questions that I have answers to and because I learn things in the process.

At the corporate level, Torvalds' approach makes the most sense, and it certainly accounts for the composition of the Linux kernel. Enlightened self-interest is, ultimately, what gets things done. Something like Canonical, which has a bit of ideology behind it despite operating more or less in the corporate universe, is an oddity by comparison, and for all they've done to popularize desktop Linux, their actual contributions to code pale in comparison to many others'.

June 1st, 2011, 08:57 PM
Reporting bugs is a way to contribute, as is helping other users on forums like this one.

June 1st, 2011, 09:44 PM
When you click to agree to a GNU license, you're not paying money, but you are selling your soul. :twisted:

June 1st, 2011, 10:49 PM
Gross generalization follows:

It seems to me like most of the finger-waggling about contributing to FOSS comes from activist users and pundits. The actual coders on the project would probably rather not have contributors who were "morally obligated" to be there but didn't really want to engage in the process.

It seems obvious to me that contributing back to something that is making you money is just smart; but giving something away and encouraging people to use it because "it's FREE!!!!", only to turn around and shame them for not contributing back, is just disingenuous.

June 1st, 2011, 10:55 PM
For learning programmers like me, getting involved in and contributing to open source projects are a great way to learn, in addition to boosting your resume. So theres definitely some self interest there.

June 1st, 2011, 11:16 PM
I contribute because I want to see Linux succeed faster. Feeling good while I do it is a great side-effect.

At the corporate level, I get the feeling that if your business revolves around Linux, when the time comes that you need a feature you don't have, your more likely to contribute to the kernel then drop your whole infrastructure.

Badgering corporations into contributing won't make that time come any faster. (Just using it at all is a testimonial really.)

Individual users should help if they can, but it's nowhere near mandatory in my eyes.

June 1st, 2011, 11:21 PM
1) When corporations use versus develop OSS it makes sense for them to give back bug fixes or improvements to the community. If I have a corporation that has to modify some code and recompile every time I need to update the code; then, I would save my corporation labor dollars if I just gave the bug fix or improvement back to the community. If the community includes the bug fix or improvement then I do not have to recompile it every time.

That has nothing to do with morality, it just makes economic sense.

2) For individual users, some of them don't know enough to help others, or test code to identify problems. They don't know how to properly report a bug, what information to include in the bug report, or what actually constitutes a bug. If you tried to make it mandatory then Launchpad would be as cluttered with posts about user problems as the Ubuntu forums. Even worse is that you have a lot of bad advice for solutions to problems on support forums.

Trying to make it a moral obligation for individual users just doesn't make sense to me.

June 1st, 2011, 11:41 PM
You have ZERO obligation to do anything. That's why the GPL exists. Anyone who says you have to has no concept of what Free is.

edit: fixed license name

June 2nd, 2011, 12:15 AM
You have ZERO obligation to do anything. That's why the GSL exists. Anyone who says you have to has no concept of what Free is.
What's the GSL? Or did you mean GPL?