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

Use SPDX for Dolphin licensing info #9862

Merged
merged 8 commits into from Jul 6, 2021
Merged

Conversation

delroth
Copy link
Member

@delroth delroth commented Jul 5, 2021

The open source community is converging on a standard way for projects to convey licensing information, using the SPDX standard (http://spdx.dev). Replace Dolphin's current ad-hoc way of providing license information and use SPDX tags instead through Source/. Also reflect in the top-level licensing info that we have a bunch of licenses in here, not everything is GPLv2+, though we atempt to make the aggregate GPLv3 compatible.

Along the way fix a few issues, like files that were not properly relicensed back in 2015 even though we got the author's permission to do so.

Note: this is just a first step, there is still plenty that could be improved: figuring out how to handle externals, adding licensing info for stuff outside of Source/, etc. Ideally we would follow the http://reuse.software guidelines imo.

SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
This code was part of Dolphin's relicensing from v2 to v2+ a while back,
we just never updated these copyright headers. I double-checked that
segher gave us permission to relicense this code to v2+ on 2015-05-16.
The use of a LICENSES/ directory is recommended by the REUSE guidelines
available at https://reuse.software/
@delroth
Copy link
Member Author

delroth commented Jul 5, 2021

As a note, I found that we're currently distributing at least one file (TAP_Win32.h) which seems to be GPLv2-only. I think this might technically be a license violation, though it could easily be argued that the contents of this file are not copyrightable (it's mostly trivial API definitions and some constants). Not planning to fix this here.

The new COPYING file does not directly copy the GPLv2 text, since this
license does not apply to some parts of the repository. Instead, it
documents our usage of SPDX tags and where to find license information.
Public domain does not have an internationally agreed upon definition,
As such it's generally preferred to use an extremely liberal license,
which can explicitly list the rights granted by the copyright holder.
The CC0 license is the usual choice here.

This "relicensing" is done without hunting down copyright holders, since
it is presumed that their release of this work into the public domain
authorizes us to redistribute this code under any other license of our
choosing.
@lioncash
Copy link
Member

lioncash commented Jul 6, 2021

Looks good to me. Look out down below, takin' the plunge.

@lioncash lioncash merged commit ffdc853 into dolphin-emu:master Jul 6, 2021
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
4 participants