Proposal: Add the Slicer license to SPDX license list

What is the SPDX License List ?

The SPDX License List is an integral part of the SPDX Specification. The SPDX License List itself is a list of commonly found licenses and exceptions used in free and open or collaborative software, data, hardware, or documentation. The SPDX License List includes a standardized short identifier, the full name, the license text, and a canonical permanent URL for each license and exception.

See SPDX License List | Software Package Data Exchange (SPDX)

Why should we add the Slicer license ?

Tooling integration

The SPDX license list is used by licensing tooling. See https://spdx.dev/tools-community/

GitHub integration

Having the license available in the SPDX license list is one of the first step to have the Slicer license detected by GitHub:

Steps to add Slicer license to the SPDX list

The request should be submitted following these instructions.
See https://github.com/spdx/license-list-XML/blob/main/CONTRIBUTING.md

To streamline the process, we should likely reuse material associated with Apply for OSI open source license status

The online tool streamlines the process.

Suggested content for the request:

Adapted from https://slicer.readthedocs.io/en/latest/user_guide/about.html#license

  1. License Name:
    3D Slicer license

  2. Short identifier:
    3d-slicer-license

  3. License Author or steward:
    Brigham and Women’s Hospital (BWH)

  4. Comments:

    The 3D Slicer software is distributed under a BSD-style open source license that is broadly compatible with the Open Source Definition by The Open Source Initiative and contains no restrictions on legal uses of the software.

    Historical notes about the license

    The Slicer License was drafted in 2005 by lawyers working for Brigham and Women’s Hospital (BWH), a teaching affiliate of Harvard Medical School, to be BSD-like but with a few extra provisions related to medical software. It is specific to BWH so it’s not directly reusable, but it could serve as a template for projects with similar goals.

    It was written in part because BWH was the prime contractor on an NIH-funded development consortium (NA-MIC) and wanted all code contributions to be compatible with ultimate use in real-world medical products (that is, commercial FDA-approved medical devices, which are almost universally closed source even if they build on open software). Compliance with the Slicer License was required for subcontractors, a group that included GE Research, Kitware and several universities (MIT, UNC…) who all reviewed and accepted this license.

    The license has been in continuous use since 2005 for the 3D Slicer software package (slicer.org) that as of 2021 has been downloaded more than a million times and has been referenced in about 12,000 academic publications (https://www.slicer.org/wiki/Main_Page/SlicerCommunity). Some of the code is also now being used in several medical products for which this license has been reviewed and accepted by the companies involved.

    License terms and reasons

    Here are some of the key points that BWH included in addition to BSD terms to make the license suit the case of a large hospital distributing open source medical software.

    For using and redistributing 3D Slicer:

    The license states that the code is “designed for research” and “CLINICAL APPLICATIONS ARE NEITHER RECOMMENDED NOR ADVISED” to make it extra clear that any commercial clinical uses of the code are solely the responsibility of the user and not BWH or the other developers. This is a disclaimer rather than a legal restriction.

    For making changes or adding any source code or data to 3D Slicer:

    • Contributors explicitly grant royalty free rights if they contribute code covered by a patent they control (i.e. to avoid submarine patents).

    • No GPL or other copyleft code is allowed because that could make it complicated and risky to mix Slicer code with private intellectual property, which is often present in regulated medical products.

    • Contributors affirm that they have de-identified any patient data they contribute to avoid issues with HIPAA or related regulations.

    Status compared to other open source licenses

    As of June 2021, the Slicer License has been used for over 15 years without incident. In May of 2021, a discourse user suggested submitting the license to the OSI license review process. After some discussion and hearing no objections, the community leadership decided to submit the license for review. Although the OSI process is not legally binding, the discussion could give potential Slicer users perspective on how provisions of the license compare with other commonly used licenses. The discussion concluded that bundling the contribution agreement in the license makes it non-approvable by OSI and the requirement to use the software for legal purposes may not be consistent with the Open Source Definition. Otherwise the license terms appear not to be controversial. Interested parties should review the full discussion for details.

  5. License Request Url:
    TBD

  6. URL(s):
    https://github.com/Slicer/Slicer/blob/main/License.txt

  7. OSI Status:
    Rejected

  8. Example Projects:

1 Like

Would this be a good time to get a clean URL for the license? Like https://slicer.org/license ?

The following files are already available:

We should then reference https://slicer.org/LICENSE in the request.

That said, there an issue with the mime-type.

Would you be able to update the server configuration to ensure the file is server with the correct mime-type ?

I think a settings like the should be added:

location = /LICENSE {
    types { }
    default_type text/html;
}

we could also potentially add the following:

location = /license {
    return 301 https://slicer.org/LICENSE;
}

location = /license.txt {
    return 301 https://slicer.org/LICENSE;
}

or even look into having a case-insensitive matching rule …

I don’t have access to slicer.org at this time. I agree with your proposed changes to the config.

-Mike

The license has been submitted:

1 Like