From: Orivej Desh <email@example.com> To: firstname.lastname@example.org Cc: email@example.com, Thomas Gleixner <firstname.lastname@example.org> Subject: Confusing Usage-Guide in LICENSES/exceptions/Linux-syscall-note Date: Sat, 22 Feb 2020 03:37:09 +0000 Message-ID: <email@example.com> (raw) For the reference, here is the Linux syscall note: NOTE! This copyright does *not* cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does *not* fall under the heading of "derived work". When Linux-syscall-note was split from the COPYING file  , it added a Usage-Guide section that says that "This exception" marks "user space API (uapi) header files so they can be included into non GPL compliant user space application code". However, the License-Text extracted from the COPYING does not say anything about including headers; instead it says that programs that make system calls to the kernel are not considered derived from the kernel. I think that Linus shares the view expressed by Stallman : Someone recently made the claim that including a header file always makes a derivative work. That's not the FSF's view. Our view is that just using structure definitions, typedefs, enumeration constants, macros with simple bodies, etc., is NOT enough to make a derivative work. It would take a substantial amount of code (coming from inline functions or macros with substantial bodies) to do that. and wrote the syscall note as something to be added on top of this view, while Thomas Gleixner took the note as a relaxation of GPL that allows the use of the headers in non-GPL programs when he wrote the Usage-Guide and Documentation/process/license-rules.rst that says: The User-space API (UAPI) header files, which describe the interface of user-space programs to the kernel are a special case. According to the note in the kernel COPYING file, the syscall interface is a clear boundary, which does not extend the GPL requirements to any software which uses it to communicate with the kernel. Because the UAPI headers must be includable into any source files which create an executable running on the Linux kernel, the exception must be documented by a special license expression. I think that the lawyers should review whether the syscall note grants anything not already granted by GPL-2.0. If it unambiguously does not than the note could be deleted, overwise the following mistakes should be corrected: 1. Since the note declares user programs to not be considered derived from the running kernel, it applies to the kernel as a whole. It does not make sense to restrict Linux-syscall-note to UAPI headers only (in their SPDX-License-Identifier) and not to apply it to the whole kernel. "WITH Linux-syscall-note" should be deleted from all sources; the link to the note from the root COPYING is enough. 2. Linux-syscall-note should be cleared from these parts of the old COPYING unrelated to the note: Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the Linux kernel) is copyrighted by me and others who actually wrote it. Also note that the only valid version of the GPL as far as the kernel is concerned is _this_ particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated. Linus Torvalds Note that there is no GPL text below. 3. Linux-syscall-note Usage-Guide could be deleted (does a three line note need a guide?), or it may say something like this: This exception allows non-GPL programs to run on Linux. 4. Documentation/process/license-rules.rst should be updated accordingly. Something like the Stallman explanation of derived works would be useful. 5. SPDX license list maintainers should be notified to update . Its current Note about the exception is unclear and mistaken: This note is used with the Linux kernel to clarify how user space API files should be treated. The people seem easily confused by the Usage-Guide: they believe that the syscall exception does what it does not (allowing uapi includes in user programs), and do not understand what it does (allowing making system calls). Please correct it!  https://lore.kernel.org/patchwork/patch/851955/  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bf02d491237eea10290bd379bf7fc8c37ac6c3b4  http://lkml.iu.edu/hypermail/linux/kernel/0301.1/0362.html  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/Documentation/process/license-rules.rst?id=aa19a176df95d6e49295d6ff77f7967224c71761  https://spdx.org/licenses/Linux-syscall-note.html -- This is my second attempt to reach @vger, as my message from @gmx.fr seems to have been dropped. Please CC me in response.
next reply index Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-22 3:37 Orivej Desh [this message] 2020-02-23 15:45 ` Greg KH
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-SPDX Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-spdx/0 linux-spdx/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-spdx linux-spdx/ https://lore.kernel.org/linux-spdx \ email@example.com public-inbox-index linux-spdx Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-spdx AGPL code for this site: git clone https://public-inbox.org/public-inbox.git