Repository navigation
Relicense Sire's Python API from LGPLv3+ to MIT - #512
Merged
Merged
Conversation
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR relicenses Sire's Python API under the MIT License. Everything else stays LGPLv3+. All copyright holders of code in the affected files have agreed to the change in #511. As such, this closes #511.
The MIT part covers the Python source in
src/, pluswrapper/Convert/SireOpenMM/_perturbablemol.pyandwrapper/Convert/SireOpenMM/_sommcontext.py, which implement the OpenMM layer used by the Python API. The C++ libraries, their Python wrappers, the wrapper generation tooling and the legacy Python tools inwrapper/remain LGPLv3+.Changes
LICENSE(andrecipes/sire/LICENSE): a short explanation of the split, followed by the MIT License text, then the LGPLv3 and GPLv3 text as before. The MIT copyright line is "The Sire contributors" with no year, since contributors keep their copyright and it never needs updating.src/starts with# SPDX-License-Identifier: MIT, so the licence travels with any file copied out of the repository._perturbablemol.pyand_sommcontext.pyget the same line, plus a comment explaining why they differ from the rest ofwrapper/.setup.pyand the generated conda recipe useLGPL-3.0-or-later AND MIT.README.rstand alicense.rstpage in the docs, plus an updated licence statement inacknowledgements.rst.Third-party code found during the audit
Consoleinsrc/sire/utils/_console.pycontained a variable-name lookup copied from a Stack Overflow answer (CC BY-SA), once in an unused_retrieve_namemethod and again inline indebug(). The unused method is removed and the inline version is rewritten. Behaviour is unchanged: the last matching name in the caller's scope is used, falling back to"variable"._pythonize.pycredits a Stack Overflow post for inspiration, but its implementation is Sire's own._progressbar.pylinks to the answer behind its one-line"IPKernelApp" in get_ipython().confignotebook check, which is a standard IPython idiom and too small to be covered by copyright._console.pywas brought in from MetaWards (GPL), which was written by chryswoods and is covered by his agreement.Contributors were checked with
git log --followandgit blame -M -Cacross the 2022 move of files fromwrapper/intosrc/. Earlier authors of those files have no surviving lines.Not changed
tests/,doc/and the rest ofwrapper/stays LGPLv3+. The tests mostly test the LGPL core, so they keep its licence.