Olivier Beaton wrote:
On Mon, Nov 7, 2011 at 1:15 PM, Erik Moeller erik@wikimedia.org wrote:
Could you elaborate on that?
Given that I wasn't using the GPL, I was concerned that anyone committing against my code would do so under "all rights reserved" and would effectively be forking my code from the point of their revision. I wanted to make sure the code stayed under my BSD-2-Clause license.
Why did you think so?
I'm of the same opinion as bawolff:
My understanding is we allow people to commit extensions under whatever OSI approved license strikes their fancy, and that if you commit to someone else's extension, then you also release your commit under that license. This always struck me as common sense...
If you edit a file with a header "This is under BSD license", and not changing it, or otherwise conflicting with that statement, I consider you're releasing that commit under the BSD license. Now, it would certainly be possible that someone did a commit saying "This is my own copyright, and nobody is allowed to make derivatives of this", but (a) I expect that would be immediatly reverted (what is doing such unfree code on our svn, and further /restricting/ the previous one?) (b) It's silly to commit it to a public repo if you want to keep it for your own.
If someone does a magic improvement to it, it may want to keep its changes for himself and not release them. Note that GPL doesn't prevent that, either (only if there's redistribution). IMHO, such person would do a better job providing it upstream, first as a good netizenship (give back to people which gave you the system), and second because that would allow for being better maintained, and remove the pain of merging each time (so it's also a good thing from an egoistic perspective).
Olivier proposal
My first stab at this was to use a contributor agreement that contained a copyright assignment, as people do for dual-licensing with GPL code. A little bit later I found the Zend Framework license, which uses a BSD-3-Clause and a contributor agreement (which forces contributions to give ZF a license to the code in the contribution, not copyright assignment) and I quickly changed to suit. Rob seems to think this may still be unnecessary, and I've sent a mail to the OSI license-discuss mailing to list for clarification on that matter.
further explained by Tim:
He wanted to have a contributor agreement which required anyone who changed the file in Subversion to assign copyright to him. The content was all under a BSD-style license and anyone could modify it, so the contract would have to have the form "if you agree to assign copyright, I will agree to allow you to commit to this file".
This kind of agreement is quite common in certain circles, but for it to work, the person who you're making the contract with has to be able to restrict write access to the source code repository. Since Olivier wasn't going to be able to restrict commit access himself, and we weren't going to do it for him, the contributor agreement didn't make sense.
I'm not sure if Olivier got confused with licenses, or is it just me who got confused with Olivier reasons. Using a BSD license with an extra same-license clause it's like making CC-BY a CC-BY-SA. You can do it, but then CC-BY isn't the best description / you may have chosen the wrong license. There are some differences, as that wouldn't apply to users but only upstream. I find natural that he wants to keep the extension with the original license, and the sensible thing to do among us is to keep the license chosen by the original author. Moreover, a contribution able to push a license change would need to make a 'substantial' change, or might qualify as PD.
So going through a copyright assignment to the extension author looks like an over-complication to me. Each community has its own ways to do thing. That may be appropiate for a community strict on non-SA free licenses where each module is tightly handled by a owner, but I don't think it would work for us.
But the discussion as I set it out in my previous email with the 3 questions are much more general then my own particular case, and I think the community would benefit from consensus on how applications in each case should be handled in the future.
Q1. Should WMF allow Dual-Licensed extensions in the MediaWiki repo?
Yes.
Q2. Should people using any OSI approved license without modification be able to use the MediaWiki repo?
Yes.
Q3. Should people who add a clause to their license that all contributions are to be made under the same license be turned away?
That's a greyer area due to the "Are extensions linked?" debate, as such license doesn't seem GPL-compatible. Still, it may be better to have it with a license warning than not having it in the repo. Authors of such extensions should be encouraged to dual-license it with a GPL-compatible license.
If instead of a MediaWiki extension, it's an independent piece, that's an emphatic allow.