Patches – gifts, or pooled resource?
May 20, 2011 10:42 pm community, freesoftwareDuring UDS recently, Mark Shuttleworth talked about contributor agreements during his keynote. Mark compared contributing a patch to a project while refusing to sign a CLA, to giving someone a plant for their garden, while attaching the condition that they couldn’t sell the house without your permission.
This got me thinking. Is a patch really like a gift?
If you’re contributing a one line patch to a big corpus of code, there’s a good argument that this is insufficient to grant you any kind of authority in the project.
But how about if you’re contributing a major feature? Surely you get some say in how your code evolves over time? And if you’re a company, contributing thousands of man-hours and dozens of features to the project, isn’t it reasonable that you get a say in all the decisions related to the project, including licensing decisions?
Let’s take the analogy of the gift of the plant & run with it.
If I offer you a potted plant, I have no reasonable expectations of you. I can’t even tell you where to plant it. It’s yours, the house is yours, my involvement is finished.
But let’s say we start a relationship, and it starts to get serious. I start to sleep over some nights, maybe leave a toothbrush in your bathroom. Do I now have some say about what happens in the house? Probably not about anything important, but you might solicit my opinion for any furniture purchases, it might be OK for me to tidy up once in a while.
Now, things get really serious, and I move in. It’s still your house, but surely I get a say now in everything. Of course, everything that was there before I arrived is yours, maybe you keep the game room just the way you want it. But we discuss and reach an agreement for everything from decorating decisions to which cable supplier we’re going to get. We’re building something shared. Sure, I moved into your house, but now it’s our home. If you decide to sell it, there’s not much I can do, but if you did it without talking to me, I’d be really pissed off. It would signal the end of our relationship, probably.
Let’s go one step further. We get married. We commit to sharing our lives. Surely I get a say in whether you sell the house now?
Unless…
Unless when I offered you that plant on our first date, you asked me to sign an agreement, saying that what was yours was yours, and any future improvements we might make to the house together would be yours too, and of course I could not exercise a claim of ownership over the house.
You never know, I might sign it. I might even offer you a second plant for the house. If you date a lot, you might get a lot of plants. I don’t know if I’d spend money to help you renovate the kitchen, though.
May 20th, 2011 at 11:22 pm
First of all, I’m sorry but I wouldn’t marry you. 😛
Also, I don’t think the analogy is completely valid here, because the plant/house/furniture/whatever are physical objects. The code, instead, can be duplicated without a loss, you can still do with it as you want (except for relicensing).
May 21st, 2011 at 1:29 am
In the light of this discussion, it seems to me that the combination
of a software and a patch has some interesting properties that the
combination of a house and a potted plant lacks.
If I use your Free Software and write a patch for it, then you
have a Free Software and a patch to take full benefit from, and I
/also/ have a Free Software and a patch to take full benefit
from. Both you and I derive some usage value from the Software
and the patch, in a symmetric way.
This is fundamentally different from the case of a physical house and
potted plant.
In other words, when I write a patch, what I do is:
install (potted-plant, into: your-house)
cp your.house my.house
enjoy (my.house)
For some physical reasons, I can’t just easily do this with your
physical house.
At best, if I am a feared war lord, I could just do:
mv your.house my.house
install (potted-plant, into: my.house)
enjoy (my.house)
But then I am going to create some scarcity of the object of the main
object of the manipulation, namely the house. And history suggests
that the occurrence of a casus belli as a high probability to follow.
Physics and computers let you, however, do the first manipulation
easily with software. It’s just people who artificially organize
scarcity in that case to, presumably, derive value.
May 21st, 2011 at 2:04 am
Even if you give me a plant for your garden, we have no idea how important a plant it is. It might be a plant that requires constant care or dies after 2 week. It might also be the flower that cures cancer.
And most likely neither you nor I know this when you show up with the plant. If it is a plant already and not just a seed.
May 21st, 2011 at 2:08 am
Good point. Further, in Mark’s original speech, does that mean that he does intend to “sell the house” later?
On the other hand, I do hope that Gnome’s much more liberal policy about copyright does not in any way hinder its eventual adoption by hardware vendors and/or developers, once it becomes a full OS. Further, if Gnome ever does become popularly adopted by hardware manufacturers, how will it ever control the kind of fragmentation facing Android now, what with it having far less control over how it is used? Am I bikesheding?
May 21st, 2011 at 2:11 am
@Dodji: True, of course. But still… I choose to share for a reason. And, as you point out, it is sharing, not giving. So the question is, how much do I need to share before I get to have a say in all aspects of the shared thing?
May 21st, 2011 at 2:24 am
Well, you don’t really need to give away your code, you can just fork the project and no one will be able to close it. If your contributions are really important the people will start joining your new project. You could stay in sync with the other side without great effort (unless they purposely try to break it) and they’ll not be able to do the same without losing some control.
May 21st, 2011 at 11:01 am
Let me guess, Shuttleworth added “You wouldn’t download a car”?
May 21st, 2011 at 9:20 pm
I used to live across the street from a community garden. Lots of people worked together to maintain it, and they each got to plant the things they wanted. I don’t know how the legal aspects of ownership worked, but it always seemed to be a wholly collaborative effort.
It seems like Mark’s idea of Canonical’s open source projects is that they are Canonical’s gardens, in Canonical’s yard, behind Canonical’s house. They sometimes let other people plant their vegetables there.
I treat my open source projects as community gardens. They belong to the community, and they’re for everybody’s enjoyment. I happen to be the guy who stops by and waters them more often, and that does give me a little more say-so in how they’re laid out. But I don’t own your cucumbers.
May 22nd, 2011 at 7:08 pm
About marriage, you actually sign a contract that clarifies who owns what. Pretty much a “contributor agreement”. If you do not want to sign, you are not married. In France there are 3 main contracts:
1) what’s mine is mine, what’s yours is yours.
2) we put all in common.
3) (1) for what we bring in, (2) for what is acquired later
With 2 you own the house together, she cannot sell alone. With 1 and 3 you have no say (you can still be pissed off).
With “normal people”, the difference is not really important. But when there is load of money involved, and even worst when there is power involved, it usually becomes “messy”.
“Both mine and yours are mine” is obviously not a marriage proposal…
Mark’s metaphor seems like a logical fallacy to me, everybody obviously agree with the plant&house… but can we transpose? Overall I am unsure how the comparison stands, as software is quite unique, but I have the feeling that it starts to be a bit “messy” here.
From freedom point of view, I think that anybody is free to ask to sign a contributor agreement, we should respect that. On the other hand, anybody is free to not sign such agreement, this is respectable too.
About my little flowers, I personally prefer to plant them in community gardens.
May 23rd, 2011 at 3:30 am
I only contribute “plants” to “houses” that are open to everyone and guaranteed to stay that way, myself…. or to “houses” who pay me good money for my “plants”.
Contributing GPL code under an agreement that allows the project owner to relicense it later defeats the entire purpose of the GPL, which is to use licensing as a lever to maintain the software’s freedom.
Their decision, for sure, but the fact that Shuttleworth is complaining about it now indicates that the resistance to copyright assignment is growing. Good.
May 23rd, 2011 at 11:09 am
This show one thing… don’t ever do analogy, they can always be fliped around 😉
But anyway, for me, the difference would be that I *give* a plant, while I *contribute* a patch. If you were *contributing* a plant, surely, you would get a right to say where to put it, and what happen to the future of the plant. Whether you get married or not.
However, it looks like Shuttleworth is expecting people to *give* their patch, in which case the contributor agreement makes sense. But as far as I am concerned, that is not why I got involved in an open source *community* in the first place. And I emphazy the word community.
You won’t build an open source developer community if all they are doing is giving, instead of contributing. Since after giving something, you walk away and you don’t come back everyday to enjoy the garden.
May 24th, 2011 at 4:32 pm
[…] # Mark Shuttleworth shared his thoughts on companies, contributor agreements and free software, prompting responses from Simon Phipps, and Dave Neary. […]
May 27th, 2011 at 6:27 pm
[…] Besitz eines Projektes anmeldet hätte kein Recht dazu. Dave Neary hat dazu einen hervorragenden Kommentar in seinem Blog geschrieben. Zwar hinkt das dort verwendete Sprachbild mit dem Schenken einer […]