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

legal: selinux.c: Split Copyright notice & use same license as upstream #5667

Merged
merged 2 commits into from
Feb 17, 2023

Conversation

kmk3
Copy link
Collaborator

@kmk3 kmk3 commented Feb 16, 2023

selinux.c: Split Copyright notice in two

This makes firejail's Copyright notice match the ones in basically
every other file, which simplifies updating the Copyright years.

selinux.c was added on commit 1ad2d54 ("Add support for SELinux
labeling", 2020-02-18) and it claims to be "from systemd
selinux-util.c".

As for systemd's Copyright notice, the current version of that file on
the systemd project does not have any[1].

The first commit in the systemd repository is from 2009[2] and the file
was copied in 2020 (and does not seem to have been synced since), so set
the years in its Copyright notice to 2009-2020.

Since there is no Copyright notice (and no author) in the upstream file,
list "The systemd Authors" in the Copyright notice.

See also systemd commit 0c69794138 ("tree-wide: remove Lennart's
copyright lines", 2018-06-12)[3] [4].

[1] https://github.com/systemd/systemd/blob/254d1313ae5a69c08c9b93032aaaf3d6083cfc07/src/shared/selinux-util.c
[2] systemd/systemd@6091827
[3] systemd/systemd@0c69794
[4] systemd/systemd#9274


selinux.c: Use same license as upstream file (LGPLv2.1+)

The upstream file is licensed under the LGPLv2.1+ and it uses an SPDX
license identifier rather than an LGPL license notice[1].

And according to the GNU project, the LGPLv2.1+ is compatible with both
the GPLv2 (with the result being GPLv2) and the GPLv3 (with the result
being GPLv3), though the reverse (GPL -> LGPL) does not apply[2] [3].
This means that if we make changes that are only available under the
GPLv2, systemd would be unable to copy them back and release the result
under the LGPLv2.1 without being in violation of the GPLv2.

So replace the GPL license notice with the SPDX license identifier of
the upstream file ("LGPL-2.1-or-later"), to make it easier to share
changes between both projects.

See also the following systemd commits[4] [5] [6] [7]:

  • 53e1b68390 ("Add SPDX license identifiers to source files under the
    LGPL", 2017-11-18)
  • db9ecf0501 ("license: LGPL-2.1+ -> LGPL-2.1-or-later", 2020-11-09)

[1] https://github.com/systemd/systemd/blob/254d1313ae5a69c08c9b93032aaaf3d6083cfc07/src/shared/selinux-util.c
[2] https://www.gnu.org/licenses/license-list.en.html#LGPLv2.1
[3] https://www.gnu.org/licenses/license-compatibility.html
[4] systemd/systemd@53e1b68
[5] systemd/systemd#7386
[6] systemd/systemd@db9ecf0
[7] systemd/systemd#17548


This is a follow-up to #5664.

Cc: @reinerh @smitsohu @topimiettinen (as contributors to selinux.c)

This makes firejail's Copyright notice match the ones in basically
every other file, which simplifies updating the Copyright years.

selinux.c was added on commit 1ad2d54 ("Add support for SELinux
labeling", 2020-02-18) and it claims to be "from systemd
selinux-util.c".

As for systemd's Copyright notice, the current version of that file on
the systemd project does not have any[1].

The first commit in the systemd repository is from 2009[2] and the file
was copied in 2020 (and does not seem to have been synced since), so set
the years in its Copyright notice to 2009-2020.

Since there is no Copyright notice (and no author) in the upstream file,
list "The systemd Authors" in the Copyright notice.

See also systemd commit 0c69794138 ("tree-wide: remove Lennart's
copyright lines", 2018-06-12)[3] [4].

[1] https://github.com/systemd/systemd/blob/254d1313ae5a69c08c9b93032aaaf3d6083cfc07/src/shared/selinux-util.c
[2] systemd/systemd@6091827
[3] systemd/systemd@0c69794
[4] systemd/systemd#9274
The upstream file is licensed under the LGPLv2.1+ and it uses an SPDX
license identifier rather than an LGPL license notice[1].

And according to the GNU project, the LGPLv2.1+ is compatible with both
the GPLv2 (with the result being GPLv2) and the GPLv3 (with the result
being GPLv3), though the reverse (GPL -> LGPL) does not apply[2] [3].
This means that if we make changes that are only available under the
GPLv2, systemd would be unable to copy them back and release the result
under the LGPLv2.1 without being in violation of the GPLv2.

So replace the GPL license notice with the SPDX license identifier of
the upstream file ("LGPL-2.1-or-later"), to make it easier to share
changes between both projects.

See also the following systemd commits[4] [5] [6] [7]:

* 53e1b68390 ("Add SPDX license identifiers to source files under the
  LGPL", 2017-11-18)
* db9ecf0501 ("license: LGPL-2.1+ -> LGPL-2.1-or-later", 2020-11-09)

[1] https://github.com/systemd/systemd/blob/254d1313ae5a69c08c9b93032aaaf3d6083cfc07/src/shared/selinux-util.c
[2] https://www.gnu.org/licenses/license-list.en.html#LGPLv2.1
[3] https://www.gnu.org/licenses/license-compatibility.html
[4] systemd/systemd@53e1b68
[5] systemd/systemd#7386
[6] systemd/systemd@db9ecf0
[7] systemd/systemd#17548
@kmk3 kmk3 added the documentation Issues and pull requests related to the documentation label Feb 16, 2023
@netblue30
Copy link
Owner

all in, thanks!

@netblue30 netblue30 merged commit 6e403ce into netblue30:master Feb 17, 2023
@kmk3 kmk3 deleted the selinux-c-change-notices branch February 17, 2023 15:20
kmk3 added a commit that referenced this pull request Feb 17, 2023
@topimiettinen
Copy link
Collaborator

It seems that it's not possible to approve the changes after they're committed, but I approve the license change (if anyone cares).

@topimiettinen
Copy link
Collaborator

(and sorry for being a bit slow these days)

@kmk3
Copy link
Collaborator Author

kmk3 commented Feb 19, 2023

@topimiettinen on Feb 19:

It seems that it's not possible to approve the changes after they're
committed, but I approve the license change (if anyone cares).

Thanks for the review. I think it's important to get a yes/no for these things
for the avoidance of doubt, even if it's at a later date.

If anyone else wants to comment, feel free to do so.

(and sorry for being a bit slow these days)

All good; take care!

@reinerh
Copy link
Collaborator

reinerh commented Feb 19, 2023

It's also fine for me.

@kmk3 kmk3 changed the title docs: selinux.c: Split Copyright notice & use same license as upstream legal: selinux.c: Split Copyright notice & use same license as upstream Apr 10, 2023
kmk3 added a commit that referenced this pull request Apr 10, 2023
Licensing-related changes are not quite the same as documentation
changes.

Relates to #5667.
@kmk3 kmk3 removed the documentation Issues and pull requests related to the documentation label Apr 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done (on RELNOTES)
Development

Successfully merging this pull request may close these issues.

4 participants