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

Apply SPDX information to files #746

Open
mrotteveel opened this issue May 12, 2023 · 4 comments
Open

Apply SPDX information to files #746

mrotteveel opened this issue May 12, 2023 · 4 comments
Assignees

Comments

@mrotteveel
Copy link
Member

mrotteveel commented May 12, 2023

Currently the SPDX identifier of Jaybird is listed in README.md. Expand this to all files and the JAR itself.

Things to do (NOTE: this is not necessarily the order these operations should be performed):

  1. Replace current LGPL license notice in individual source files with

    Firebird Open Source JDBC Driver

    SPDX-License-Identifier: LGPL-2.1-or-later

    All individual contributions remain the Copyright (C) of those
    individuals. Contributors to this file can be obtained from a source
    control history command.

    All rights reserved.

    Note the removal of "This file was created by members of the firebird development team.", as this is not always true: some files are or were created by outside contributors.

    Before applying this change, double check if removing the current header is appropriate and allowed by their respective licenses, otherwise the SPDX identifier should be added to the current header, instead of the header replaced.

  2. Replace current BSD-3 clause license notice in individual source files with:

    Public Firebird Java API.

    SPDX-License-Identifier: BSD-3-Clause

    or, as we claim the intent is to dual-license these API interfaces/classes, but the current license header doesn't do that, check if we can do (as in, are we authorized to expand the license given those historic claims, or does the actual license prevail; taking into account historic authorship):

    Public Firebird Java API.

    SPDX-License-Identifier: LGPL-2.1-or-later OR BSD-3-Clause

    If this is appropriate, the global SPDX identifier becomes "LGPL-2.1-or-later OR LGPL-2.1-or-later AND BSD-3-Clause" instead of "LGPL-2.1-or-later AND BSD-3-Clause".

    Before applying this change, double check if removing the current header is appropriate and allowed by their respective licenses, otherwise the SPDX identifier should be added to the current header, instead of the header replaced.

  3. Replace or rename LICENSE with LICENSES/GPL-2.1-or-later.txt with the appropriate text (and make sure it is appropriately included in the JAR/dist-zip) (NOTE: Currently the directory is named licenses, and must be renamed to LICENSES)

  4. Add LICENSES/BSD-3-Clause.txt with the appropriate text (and make sure it is appropriately included in the JAR/dist-zip)

  5. Check how to handle some of the "separately" licensed files (only LegacyHash.java comes to mind right now, there might be more), and its effects on the SPDX identifier

  6. If point 2 or 5 changes the global identifier, update the README.md, and check if we also need to change information elsewhere (e.g. with Tidelift)

  7. Add Bundle-License: LGPL-2.1-or-later AND BSD-3-Clause to the JAR manifest (see also point 2 and 5, identifier may change)

  8. Maybe add a new LICENSE.txt or LICENSE file explaining licensing structure and referring to the individual license files

  9. Check if and how we can include the SPDX identifier in the POM and Gradle modules file generated by Gradle

  10. Create a JDP document detailing licensing and how to include the license information in individual files

@mrotteveel
Copy link
Member Author

mrotteveel commented May 12, 2023

@mrotteveel
Copy link
Member Author

Given the requirements in the REUSE Specification, jaybird-icla.txt may need to be moved elsewhere, e.g. to devdoc.

@mrotteveel
Copy link
Member Author

mrotteveel commented May 12, 2023

The REUSE Specification may require further changes to the headers than those listed right now under points 1 and 2, and may affect point 5. This needs to be investigated further.

@mrotteveel mrotteveel added this to the v6-initial milestone Jun 24, 2023
@mrotteveel mrotteveel removed this from the v6-initial milestone May 9, 2024
@mrotteveel
Copy link
Member Author

Deferring this until some future version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant