Why would I ever need to sign such s thing? If I contribute to an open source project, isn’t it obvious that I agree to publish my code under whichever license the project is published under?

  • unique_hemp@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    A good reason to ask that is to make sure the project licence can be changed in the future, because all copyright is owned by the project, not the contributors. Otherwise you would need to ask permission from all contributors.

  • teri@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    Often, the contributor license agreement says that you - the contributor - transfer the copyright of your contribution to the project/company.

    This is used to get the community contributing to the project while making sure that the project can be turned into a proprietary project at anytime.

    The copyright holder can decide about the license. As long as only one entity holds the copyright, this entity is free to change the license. This even works if the project is licensed under a copyleft license like the GNU Public License (GPL). Such projects might look like “open-source”. Fine, the source is open at the moment. But it might not be open anymore tomorrow.

    • Sibbo@sopuli.xyzOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Interesting thanks! But is it possible to change the license of already published GPL or MIT code? Like, I get that if they make any additions to the code they can say that from now on it’s all rights reserved. But the versions that have already published under GPL or MIT cannot be unpublished, can they?

      • teri@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        They can remove it from their repository but once you have a copy with a GPL license (maybe also MIT but not sure) they cannot revoke it. The GPL license says explicitly that it cannot be revoked just like this.

        From the GPLv3:

        2. Basic Permissions.
        
        All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met.
        

        And as you say, the further additions might then be proprietary.

        Note that there might be licenses around which can be revoked or terminated. Many proprietary licenses can be terminated. Also common open-source licenses have clauses which allows to be terminated them under certain conditions. For if you violate the license terms, the GPLv3 is terminated for you (but not for others):

        8. Termination.
        
        You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License [...]
        
  • poVoq@slrpnk.net
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    The entire point is that the project can later change the license even if you don’t agree. Make of that what you want…

  • @lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Some projects let individual contributors retain the copyright on their contributions. When a project is run like this, for better or worse (usually for better) it becomes impossible to re-license it, as it is usually impossible to track down every single contributor and get them to agree to new terms. This is the condition of the Linux Kernel.

    Some projects demand that copyright is assigned to the organization up front, so the organization has the ability to re-license or dual-license the code down the road. This might also be done so the organization has standing to sue people who infringe the copyright. Notably, this is a requirement of the GNU project. This has resulted poorly for the end-users of some projects/organizations in the past though (MySQL for instance, which now belongs to Oracle).