Wednesday, February 18, 2009

Giving Back

Every now and then, I run into a meme in the Open Source world about "giving back". That if a person or company uses some Open Source software (OSS), then they are now obligated to give back (in the form of code, patches, money or whatever).

Why is this?

I write OSS because I enjoy coding. I have no need to keep it to myself, so I share it with others. But I don't attach strings to that sharing. That is why I've released it as Open Source. If I wanted strings, or expectations of "giving back", then I should have applied a restrictive license.

Question to other OSS authors: do you expect your users to give back? Why?

Why do we allow this "give back" meme to continue? If we are truly sharing our code, then it should not be with these kinds of expectations.


Niall Kennedy said...

I would like to know how other people and companies have utilized my code in production. It's a contribution to tell me about how that piece of code may have helped you but certainly not a requirement.

Karl Fogel said...

I think people who talk about "giving back" might be trying to get at the idea of a gift economy -- a technical term that no doubt has a Wikipedia page (I'm not even going to bother to look), but which I first heard of from Lewis Hyde's book "The Gift".

In a gift economy, your wealth is measured by how much you give away, that is, by how much you put back into circulation. While it is done with no formal strings attached, in practice these systems always work in the expectation that everyone's goal is ultimately to put what they have into circulation too -- that is, their goal is to be wealthy, in that economy's terms.

This sounds crazy, coming from our hoarding economy (meant merely descriptively, not pejoratively -- hoarding is great for some purposes, just try to get through a winter without it, etc). But it turns out to be as sustainable and sensible in practice as non-gift economies.

The trouble may be that we have lost the vocabulary for talking about such things, so instead people are reduced to expressing a vague feeling that folks ought to "give back". I think what they really mean is something like "I wish others feel wealth by sharing their code too".

Personally, I never feel someone has an obligation to give back just because I released some code. Whether someone reciprocates or not is simply an indicator of whether or not they're participating in the gift economy. They're free to do that or not. The stuff replicates pretty easily, so it's not like it's any skin off my nose :-).

Brett said...

I don't expect people to give back, it's just nice. As you said, Greg, if I wanted to require it I would develop under something more restrictive than a BSD-style license. I do it for the fun and what I get out of "giving back" to a community that has given me much joy.

nicolaken said...

I wouldn't expect anybody to give back, but I do appreciate to know that what I've done is being used.

I also don't feel the need to give back myself, as I usually like doing different things than the projects I get from.

When what do also gives back to someone, it's just luck I guess, and we may become 'partners' on the project.

Mark Phippard said...

I always felt like it was about building community. Open source can be pretty intimidating at first. As a user, you tend to think of the "Greg Stein's" of the world as "coding gods" or at least working on another plain from you.

I think by talking about giving back, and emphasizing that things like bug reports and blogs are contributions too, it is a way to make a connection and get people to try something they are maybe a little afraid to do at first.

I agree completely that if you are doing open source to get back contributions, then you better pick a license that includes that obligation. I'd like to think most of us involved in open source are doing it for more personal reasons, usually that we love coding and working with other OSS developers.

Anonymous said...

I see GNU's copyleft as "giving forward", in which the contribution may or may not find its way back upstream.