Clearing up project licensing #17424
Replies: 10 comments
-
This is not true. |
Beta Was this translation helpful? Give feedback.
-
LICENSE file is expected to contain a license but not only mention of license. Why not put the proposed text in COPYING? |
Beta Was this translation helpful? Give feedback.
-
For license clarification see PR #14575 I made this offline before reading the new comments here. |
Beta Was this translation helpful? Give feedback.
-
https://www.gnu.org/licenses/gpl-faq.en.html#NoticeInSourceFile |
Beta Was this translation helpful? Give feedback.
-
Yeah, I agree with what they're saying. I pretty much had come to the same conclusion. Each file should have it's own notice for the reasons stated in that link.
I agree that this line isn't being in sync with the actual edits in a given file. The given file might be edited so much over the course of months/years that nothing remains from the original code and author. OpenSSL: I think it is necessary to have that exception clause especially now that we use openssl directly in some code. |
Beta Was this translation helpful? Give feedback.
-
If OpenSSL has GPL incompatible license then we should keep this exception clause. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I disagree. Quoting from the link:
This a largely imaginary/irrelevant problem. Putting the notice at the start of each file doesn't prevent anyone from removing it if they want to anyway.
It's just super annoying to have to scroll past that header every time, and per the licence's terms, we only need to include the header once; as per the quoted link, including the header in every file is only a suggestion.
Not sure what this "confusion" could be. This is excessive hand-holding. It's not like the due-diligence required for those who want to copy a project's code is complex. Step 1: Read the
I think this expectation is not a good thing in general. I realize that it is common and many projects do it, but it's actually more important to include the header than the license. The full license text is implied by the header and is widely available elsewhere (again, if others want to read the full text, it's their responsibility to go find it and read it). Plus, in some cases, such as ours, the header provides stronger clauses/guarantees than simply copy-pasting the full license text; the header makes it clear that qBittorrent is licensed under "GPLv2 or later". Remember, the license simply states what you can do in this regard; what you actually end up doing depends on what you include in the header. Quoting from the GPLv2 license text (emphasis mine):
I'm pretty sure that if we just had a copy paste of the GPLv2 as the |
Beta Was this translation helpful? Give feedback.
-
FYI, QtCreator autocollapses the license block from each source file opened. Are you using a different IDE? BTW, from all this ordeal it became apparent to me that we also have to be careful of the following for the future: We can't use source from a GPL software that doesn't have an OpenSSL exception! Am I wrong in this interpretation? |
Beta Was this translation helpful? Give feedback.
-
I don't have my editor setup to collapse any kind of comment by default. And we don't typically rely on using a specific IDE, right? I even recall in the past some code cleanups/refactors being rejected because whatever Chocobo1 is using doesn't have language intelligence capabilities/hovers, or at least they choose to not use them (I think giving up on those refactors/cleanups due to that is extreme, unlike the removal of the headers, which, as I've stated, poses no legal issue and makes us less dependent on a certain IDE/editor for comfortable editing). No reason to bloat these files with repeated headers. Of course, files with code from other projects should have the headers.
I don't think there is such a problem: https://people.gnome.org/~markmc/openssl-and-the-gpl.html Official SPDX link showing similar recommended template text: https://spdx.org/licenses/openvpn-openssl-exception.html As a side note, OpenSSL >= 3.0 is being re-licensed with the APL 2.0. Unfortunately, that too is not directly compatible with GPLv2, so we will still need the exception. See https://en.wikipedia.org/wiki/OpenSSL#Licensing and https://www.apache.org/licenses/GPL-compatibility.html |
Beta Was this translation helpful? Give feedback.
-
Currently, some important aspects about qBittorrent's licensing are not as clear as they should be. We must resolve this in order to ensure we can continue working smoothly with external dependencies such as Qt without any licensing troubles or ambiguities.
Additional context: refer to the discussion about licensing brought up in #14452.
Here is the proposed solution; further explanatory notes about each step are detailed further down.
Steps to clear up the current licensing
1. Verify that all source files have included the "GPLv2 or later" license header from the very beginning, and that there was no
COPYING
or similar file introduced before all other source files that contradicts the "GPLv2 or later" licensing . This is a necessary prerequisite for all of the following steps.2. Add a
LICENSE.txt
file to the top-level with the following contents:Where
one line to give the program's name and an idea of what it does.
should be replaced byqBittorrent - a BitTorrent client
,name of author
bythe qBittorrent project contributors
andyyyy
by the current year (the latter should obviously be updated periodically).3. Figure out if anything related to OpenSSL licensing needs to be appended(or prepended?) to this
LICENSE.txt
file, and do that if it's needed.4. Delete the license-related headers in each source file.
Notes about each step
master
commit, and record the commit hash.COPYING
or similar licensing related files were introduced before or after any source file with the "GPLv2 or later" license header. This is important because the currentCOPYING
file implies GPLv2 only. If it was introduced before anything else, I think we're screwed. If not, then it amounts to an invalid license change anyway, so we're good.LICENSE.txt
file), with the placeholders replaced with the appropriate values, as suggested.LICENSE.txt
:John Smith <john.smith@example.com> relinquishes their copyright over files x, y and z on 2020-01-01
. That way,the qBittorrent project contributors
remains an accurate author attribution.the qBittorrent project contributors
as the copyright holder in the top-level file solves this issue and makes it so that we don't have to worry about this in the future. The specific names/identities of the contributors are recorded in the repository metadata.Miscellaneous
LICENSE.txt
, specifically mentioning those files and the license that applies to them. That would also probably warrant a name change fromLICENSE.txt
toLICENSES.txt
.Please comment below with further suggestions and your findings. This post will be edited as-needed based on the discussion below.
Beta Was this translation helpful? Give feedback.
All reactions