Uploaded image for project: 'Request For Comments'
  1. Request For Comments
  2. RFC-633

Change license on pex_config to BSD clause3

    Details

    • Type: RFC
    • Status: Implemented
    • Resolution: Done
    • Component/s: DM
    • Labels:
      None

      Description

      To change license (or grant access under an other license) copyright holders should agree.

      This code was mostly written pre-construction and the main copyright is with LSSTC. LSSTC have signed over all copyrights to AURA (Agreement-221).

      UW and Princeton also hold copyright on this code.

      With this RFC I am checking there is no objection, especially from  UW and Princeton,  to change the license on  this one package. 

      TimJ has already done the work to make sure this has no further impact on the codebase.

      Motivation: Gemini would  like to use a fork of LSST's "pex_config" module for controlling pipeline parameters in the upcoming release of Gemini's DRAGONS data reduction packages (https://github.com/GeminiDRSoftware/DRAGONS).
      However DRAGONS  packages are BSD licensed, as currently approved by AURA, which is not compatible with GPL.
       

        Attachments

          Issue Links

            Activity

            Hide
            krzys Krzysztof Findeisen added a comment -

            I realize I don't represent the UW stake here, but doesn't this change contradict https://developer.lsst.io/legal/licensing-overview.html#stack-packages, which says all Stack packages must use GPL? Does the policy there need to be updated?

            Show
            krzys Krzysztof Findeisen added a comment - I realize I don't represent the UW stake here, but doesn't this change contradict https://developer.lsst.io/legal/licensing-overview.html#stack-packages , which says all Stack packages must use GPL? Does the policy there need to be updated?
            Hide
            tjenness Tim Jenness added a comment -

            Krzysztof Findeisen at the very lowest levels of the stack we can switch products to BSD if the need arises. pex_config has only optional dependencies on daf_base and (deprecated now) pex_policy in a single file. This is no different to the situation with astro_metadata_translator where we had an RFC requesting that it use BSD 3 clause rather than GPL because it did not depend on any GPL packages, except that astro_metadata_translator was new. We can not though change something like afw without changing all of the dependencies (and some of our packages use GSL).

            Show
            tjenness Tim Jenness added a comment - Krzysztof Findeisen at the very lowest levels of the stack we can switch products to BSD if the need arises. pex_config has only optional dependencies on daf_base and (deprecated now) pex_policy in a single file. This is no different to the situation with astro_metadata_translator where we had an RFC requesting that it use BSD 3 clause rather than GPL because it did not depend on any GPL packages, except that astro_metadata_translator was new. We can not though change something like afw without changing all of the dependencies (and some of our packages use GSL).
            Hide
            swinbank John Swinbank added a comment - - edited

            The University of Washington's sub-award agreement (ls.st/Agreement-50) states (article 16a):

            The work performed under this contract is deemed to be open source/open data and is subject to the GNU Public License Version 3 (GPLv3) or later, as detailed in the following link: https://www.lsstcorp.org/LegalNotices/. Contractor shall comply with the terms of the GNU Public License version 3 (GPLv3) or later in developing any software covered by the terms of this Agreement as well as with the terms of any other Open Source Software License that both parties to this Agreement agree shall be applicable to the Work performed under this Contract.

            My reading of the above is that this agreement requires that the work must be made available under the GPLv3, but may also be made available under other licenses.

            Given that, can we dual-license as BSD/GPL, rather than simply switching?

            (I am, of course, not a lawyer, and the above is not an educated legal opinion).

            I also agree with Krzysztof Findeisen — if “at the very lowest levels of the stack we can switch products to BSD”, then the Developer Guide should reflect that.

            Show
            swinbank John Swinbank added a comment - - edited The University of Washington's sub-award agreement (ls.st/Agreement-50) states (article 16a): The work performed under this contract is deemed to be open source/open data and is subject to the GNU Public License Version 3 (GPLv3) or later, as detailed in the following link: https://www.lsstcorp.org/LegalNotices/ . Contractor shall comply with the terms of the GNU Public License version 3 (GPLv3) or later in developing any software covered by the terms of this Agreement as well as with the terms of any other Open Source Software License that both parties to this Agreement agree shall be applicable to the Work performed under this Contract. My reading of the above is that this agreement requires that the work must be made available under the GPLv3, but may also be made available under other licenses. Given that, can we dual-license as BSD/GPL, rather than simply switching? (I am, of course, not a lawyer, and the above is not an educated legal opinion). I also agree with Krzysztof Findeisen — if “at the very lowest levels of the stack we can switch products to BSD”, then the Developer Guide should reflect that.
            Hide
            tjenness Tim Jenness added a comment - - edited

            John Swinbank astro_metadata_translator is covered by the paragraph after that from the developer guide referred to above. A "standalone" project since it is also distributed independently of the stack. pex_config is general enough that you could declare it "standalone" but of course it hasn't been treated like that previously.

            As for dual licensing, I'm not really sure how that works for an open source project. I know it means "user chooses" but I don't know how that works in real life. For closed source projects it's easy since you make a tar ball with the GPL one for non-paying customers and a tar ball with restricted license for everyone else. Do I do something like making a branch on pex_config with the BSD license and do releases on PyPI using that? Can we really list both the GPL and BSD prologues in every source file on the same branch and include two license files?

            Show
            tjenness Tim Jenness added a comment - - edited John Swinbank astro_metadata_translator is covered by the paragraph after that from the developer guide referred to above. A "standalone" project since it is also distributed independently of the stack. pex_config is general enough that you could declare it "standalone" but of course it hasn't been treated like that previously. As for dual licensing, I'm not really sure how that works for an open source project. I know it means "user chooses" but I don't know how that works in real life. For closed source projects it's easy since you make a tar ball with the GPL one for non-paying customers and a tar ball with restricted license for everyone else. Do I do something like making a branch on pex_config with the BSD license and do releases on PyPI using that? Can we really list both the GPL and BSD prologues in every source file on the same branch and include two license files?
            Hide
            tjenness Tim Jenness added a comment -

            John Swinbank I am also not a lawyer but

            any other Open Source Software License that both parties to this Agreement agree shall be applicable to the Work performed under this Contract.

            Does suggest that you are allowed to use another license if AURA and UW agree. The GPL clause at the front is interesting because it almost implies (at least to me) that if you patched a package that was BSD3 you'd have to also add a GPL to it...

            Show
            tjenness Tim Jenness added a comment - John Swinbank I am also not a lawyer but any other Open Source Software License that both parties to this Agreement agree shall be applicable to the Work performed under this Contract. Does suggest that you are allowed to use another license if AURA and UW agree. The GPL clause at the front is interesting because it almost implies (at least to me) that if you patched a package that was BSD3 you'd have to also add a GPL to it...
            Hide
            swinbank John Swinbank added a comment -

            astro_metadata_translator is covered by the paragraph after that from the developer guide referred to above...

            Yes, I agree with that. I think there is a clear difference between “packages which are at the very lowest levels of the stack” and “standalone packages”.

            ....

            Does suggest that you are allowed to use another license if AURA and UW agree

            Yes, agreed — I think that's effectively what I said above. The wording “as well as” makes it clear that you may use another license in addition to the GPL, not instead of the GPL.

            Show
            swinbank John Swinbank added a comment - astro_metadata_translator is covered by the paragraph after that from the developer guide referred to above... Yes, I agree with that. I think there is a clear difference between “packages which are at the very lowest levels of the stack” and “standalone packages”. .... Does suggest that you are allowed to use another license if AURA and UW agree Yes, agreed — I think that's effectively what I said above. The wording “as well as” makes it clear that you may use another license in addition to the GPL, not instead of the GPL.
            Hide
            tjenness Tim Jenness added a comment -

            This was discussed at DMCCB and we strongly preferred a dual licensing approach.

            Show
            tjenness Tim Jenness added a comment - This was discussed at DMCCB and we strongly preferred a dual licensing approach.

              People

              • Assignee:
                womullan Wil O'Mullane
                Reporter:
                womullan Wil O'Mullane
                Watchers:
                John Parejko, John Swinbank, Kian-Tat Lim, Tim Jenness, Wil O'Mullane, Yusra AlSayyad
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Planned End:

                  Summary Panel