2

One of the main purposes of a CLA (contributor license agreement), as I understand it, is to allow some owner of the software to have full rights to relicense the code if desired. This is rather onerous on both the contributors and the owner. Rather than doing this, couldn't you just add some line at the top of your license, such as:

The following restrictions apply, unless granted explicit permission by <owner name>

(I'm not a lawyer and don't know how to write a license or contract, but hopefully the general idea is clear)

If I were to use a license text with this general idea, could it hold up? Can taking steps to make sure contributors are aware of this, such as by putting it prominently on the contributing page, help the case?

Some things I would want to allow, that seem like they should be fine as long as the general idea holds, possibly requiring some changes to license text:

  • If someone wants to fork a project, they should be able to remove the owner from the license text (but not add a new one), such that the original owner cannot grant rights to derivative work (but contributions that do not remove the license text may still be relicensed by the original owner)
  • The owner should be able to charge money in exchange for granting a closed source license.
rtpax
  • 121
  • 1
  • 1
    I just found the very similar https://opensource.stackexchange.com/questions/7195/cla-as-an-exception-to-the-gpl Looking at the specifics of the question I am unsure if the answer is the same. I don't include the problematic "for any purpose", but that seems like it might be implicit, or else problematic to leave out. – rtpax Mar 06 '23 at 22:56
  • 1
    @rtpax But which "explicit permission" could the Owner grant in your construction? The Owner can only grant rights which they hold, which requires that they were licensed or transferred to the Owner. My answer in the linked question explains that international copyright laws might have surprising provisions that make overly simplistic CLAs ineffective, and that a CLA being "onerous" is a feature, not a bug. – amon Mar 07 '23 at 18:00
  • Thanks for the reply @amon. I'm still a little bit confused on where things break down. Just to add some clarity, I want to lay out a couple of scenarios. – rtpax Mar 07 '23 at 18:48
  • 1: If I (as a sole author) added a clause in my license that John Skeet can use my software in closed source projects, but all others must use it under the GPL, (the GPL-Skeet license) would that be fine? – rtpax Mar 07 '23 at 18:48
  • 2: Extending (1) If I were to use software from someone else who also had the the GPL-Skeet license, would that also be fine? – rtpax Mar 07 '23 at 18:49
  • 3: Extending (1) and (2) If someone created a fork of my project and kept the GPL-Skeet license, would I be able to merge it into my own code? – rtpax Mar 07 '23 at 18:49
  • 4: If instead my example text above, I specifically enumerated some uses of the software rather than leaving it general, would that be fine? How specific would I need to be? – rtpax Mar 07 '23 at 18:49
  • 1
    There are two potential problems in your construction. (A) What rights are licensed to Skeet? (B) Has a valid license been granted? Once (A) is resolved, your points (1) and (2) seem fine – you can grant whatever rights you want and the license is obviously compatible with itself. However, (2) and (3) do raise the problem (B), that it's difficult to tell whether the purported license is valid. You can't make up arbitrary terms and use them to expropriate rights from other people. Otherwise, everyone who reads this comment now owes me 666 EUR! What makes a license valid depends on jurisdiction. – amon Mar 07 '23 at 19:28
  • I feel like I'm being really slow here, but I've need some more clarification. I think problem (B) does not cause issues with (1). If so, I don't see how (3) is very different from forking a project with, eg, the MIT license. If I fork an MIT project, and I don't remove the LICENSE file, I am still considered to have released my changes under the MIT license, even though I am giving up rights that I don't have to, and in some sense never explicitly gave away (since I just left the LICENSE file the same). Why is that not considered expropriating rights while the GPL-Skeet license is? – rtpax Mar 07 '23 at 19:51
  • 1
    I'm not saying that GPL-Skeet is necessarily invalid, just that I have severe doubts that it would work across jurisdictions. I suspect that your construction might work in the US, though it is unlikely that the GPL-Skeet license would form a contract that Skeet could enforce if a contributor intends to withdraw the license. However, I'm fairly certain that (3) would fail if a German forked it, since German copyright law has privileges only for gratis public licenses like the GPL, for example that no signatures and no appropriate compensation is needed. – amon Mar 08 '23 at 10:01
  • 1
    Regarding MIT vs GPL-Skeet, consider that MIT and GPL are symmetric. If you distribute modifications under the same license, you're just granting the same rights that you received. You also couldn't have modified the work if you hadn't accepted the license terms. Enforceability of Open Source licenses like the GPL has been confirmed in various jurisdictions. But privileging one actor breaks this symmetry. Unfair license terms might be invalid, and it could be difficult to show that a valid license contract has been formed. – amon Mar 08 '23 at 10:02
  • Thank you, I think that makes a lot more sense to me now. I appreciate your patience in spelling it out for me. Minor note: "You also couldn't have modified the work if you hadn't accepted the license terms" I specifically chose MIT for comparison rather than GPL because of its non-viral nature. – rtpax Mar 08 '23 at 20:24

0 Answers0