• kevincox@lemmy.ml
    link
    fedilink
    arrow-up
    4
    ·
    3 years ago

    It is an alternative to consider but not necessarily sufficient.

    Note I am not a lawyer but this is my understanding from trying to read the GPL.

    I think this is one of the drawbacks of the GPL. I think the idea of copyleft is good in general but GPL is copyleft at the license “name” level, not at the rights level.

    What this means is imagine that I made my own version of the GPL, let’s call it KPL. KPL is basically equivalent to KPL except for name and some trivial tweaks. Now I release a library under KPL. This causes a huge problem. Because if your code wants to use KPL and a GPL library you are stuck. Both libraries require you to release your code under their own license.

    The option here is dual-licensing. You release your code under KPL and GPL. But in order to add a new license to your project you need to get permission from all the contributors. The same issue occurs for GPLv3 and a possible GPLv4 (heaven forbid). See this table for details.

    What I am trying to say is that it is difficult to just leave a project at GPLv2 forever, you will lose the ability to use a bunch of libraries. The main problem with GPL is that it doesn’t just require the using code is Free Software, it requires that it is the same license. So the GPLv2 vs GPLv3 is a real issue for projects and therefore there are legitimate reasons to require CLAs.

    Of course there are serious downsides of CLAs. The most obvious being that this company can now release a non-free version. Personally I wouldn’t care if my contributions were re-licensed under another Free Software Copyleft license, but if you are taking my copyleft code and trying to strip that that is changing the intent of my license.

    This problem is also affected by the effectively infinite copyright duration. If copyright ended after a decade or two (as it should) you could just wait it out and re-license the project. Sure, a 20 year wait is a long time but at least it happens, and you can accelerate this by trying to get permission from recent contributors. However imagine trying to re-license a project that has been developed for 40 years. What are the odds that you can identify, let alone contact and get permission from every significant copyright holder to re-license from GPLv3 to GPLv4?

    The end result is that using a CLA has very serious benefits for a GPL project, or a project that wants to use GPL libraries.