Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify license and make module top comments more consistent #1730

Merged
merged 3 commits into from
Nov 5, 2023

Commits on Nov 3, 2023

  1. Make comments more consistent and clarify license

    This improves the consistency of top-of-module comments as follows:
    
    - All names of the current file are removed. Some included these
      while others didn't. In general, this can be useful information,
      which can remind readers and developers of what the file is and
      may even reduce mistakes. However, in GitPython, many modules
      inside git/ have the same name as other modules in other
      subdirectories of git/. So the presence of filenames would
      often be the same for multiple files, a condition that would be
      intensified if consistency were achieved by adding them
      everywhere. This instead removes them, which should (albeit
      slightly) decrease the risk of confusing modules that have the
      same name as each other.
    
    - All modules (.py files) inside git/ and test/, except for .py
      files that are entirely empty (without even comments) or are
      inside test/fixtures/, now have comments indicating the license
      and linking to it on opensource.org. Previously, some modules
      had this, while others did not.
    
    The comment about the license is short, and does not contain an
    explicit copyright statement. No new explicit copyright statements
    are added, but some top-of-modules already contained them, and this
    does not remove (nor update or otherwise modify) them.
    
    Although explicit copyright statements are not touched, all the
    license comments are modified, including where they had previously
    appeared, to say "the 3-Clause BSD License" instead of
    "the BSD License", since there is no specific license known as the
    "BSD License" (and both the 2-clause and 3-clause BSD licenses are
    very popular).
    
    This change should not be confused with gitpython-developers#1662, which fixed an
    originally correct hyperlink that had come to redirect to a page
    about a different license. The change here does not change the link
    again. It makes the commented wording more specific, so that it is
    clear, even without looking at the link, which BSD license is being
    referred to.
    EliahKagan committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    454032c View commit details
    Browse the repository at this point in the history
  2. Update README to clarify license name

    The license in README.md was named as "New BSD License", which is
    in practice unambiguous, but no longer as readily recognized as is
    "3-Clause BSD License". This updates the wording to call it by the
    latter name, for that reason and for consistency with the previous
    commit's changes to top-of-module comments, while also noting
    parenthetically that it is also called the New BSD License.
    
    The main reason for retaining "New BSD License" parenthetically is
    to prevent anyone from being confused into thinking this change is
    in any way associated with a change to the license, or that any
    license change has occurred or is forthcoming. (This does *not*
    change how GitPython is actually licensed in any way.)
    EliahKagan committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    7387dab View commit details
    Browse the repository at this point in the history
  3. Pass more specific license argument in setup.py

    This uses "BSD-3-Clause" instead of "BSD" as the "license" metadata
    in setup.py. "BSD-3-Clause" is the SPDX license identifier for the
    BSD 3-Clause "New" or "Revised" License (the license GitPython
    uses): https://spdx.org/licenses/BSD-3-Clause.html
    
    There is no requirement to use an SPDX license identifier here,
    but it is one of the common approaches, and it has the advantage of
    making unambiguously clear, when a package is published on PyPI,
    exactly what license it uses.
    
    In contrast, the license-related *classifier* is unchanged, since
    no more specific classfifier than what is in use now is currently
    available.
    
    The combination should result in
    
        License: BSD License (BSD-3-Clause)
    
    being shown under "Meta" on PyPI, as of the next PyPI release. This
    can be seen in other projects that use this combination of license
    keyword argument and license-related classifier, such as:
    https://pypi.org/project/flask-restx/
    EliahKagan committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    209162a View commit details
    Browse the repository at this point in the history