On 12/8/23 21:57, Maxim Cournoyer wrote: > Hello, > > John Cowan <xxxxxx@ccil.org> writes: > >> On Fri, Dec 8, 2023 at 6:37 PM Arthur A. Gleckler <xxxxxx@speechcode.com> >> wrote: >> >> I'm happy to add things to my checklist as long as they are clearly spelled >>> out , i.e. they're unambiguous. >>> >> >> So I'm suggesting these checklist items for new SRFIs: >> >> 0) Ensure that the SRFI text includes the text of the MIT/Expat license. >> (Presumably this is already required.) > > +1. Should be the case since it's in the HTML template. > For new SRFIs, I think the conclusion here was to continue to include the full text of the MIT/Expat license inline in the HTML SRFI document itself. (I had suggested the opposite, but I don't object to this if it has consensus.) If that's correct, I'd suggest making the language extra explicit, so someone reading this in the future won't be in any doubt as to whether "including" the text of the license in a separate file meets the requirement. >> 1) Ensure that all the source and data files to be included in the repo >> include either (a) the text of the MIT/Expat license, or (b) the text of >> the license or a reference to the license, as the case may be, if the file >> was not written for the SRFI and the editor sees fit to allow the use of >> this file. > > Isn't "a reference to the license" a bit weak? Shouldn't the full > license notice text be preserved instead, per previous discussions? > >> 2) If any file is a derivative work, it may also include the license of the >> original work or a reference to it, if that is required by the license of >> the original work. There should be no SPDX metadata for such a license. > > As mentioned in my previous email, since one of my goals here is to > achieve REUSE compliance, each file must have copyright and license > information, which implies at least a 'SPDX-License-Identifier:' tag in > every file, even those with non-standard licenses (thankfully, these are > rare). > >> 3) Ensure that all files include SPDX metadata specifying the license of >> the file, provided that there exists appropriate metadata for that license. >> >> Is that satisfactory to you? Does anyone else object to it at this point? > > Let me try to rephrase with my added REUSE requirements: > > 0) Ensure the the SRFI text includes the text of the MIT/Expat license. > > 1) Ensure that all the source and data files to be included in the repo > use a permissive (non-copyleft) free software license, ideally the > same MIT/Expat as the text. Each file should contain a copyright > notice, and each legally significant (> 15 lines of code) file should > contain the license notice text. > I'd approach these items differently. 1a) For existing files that contain license notices, all existing notices shall be retained as-is, and corresponding Reuse metadata shall be added. The strongest reason for this approach is to unambiguously satisfy the requirement that the original "notice shall be included". But the situation is different when the license notice wasn't placed in the file by the original author. Therefore, I would propose: 1b) For existing files that do not already contain license notices, only Reuse metadata shall be added. For files that support comments, the metadata SHOULD be included as comments. 1c) For new SRFIs, all source and data files MUST have Reuse metadata. For files that support comments, the metadata SHOULD be included as comments. Files MAY also include license notice text at the preference of the author, or to satisfy preexisting requirements if the file was not written for the SRFI: in such cases, the Reuse metadata MUST accurately correspond to the other license notices. My strong preference is to allow future authors to choose to give notice in the form "SPDX-License-Identifier: MIT" and similarly to avoid inserting the full text of the license when the original author chose not to do so. In my experience, when I read, "Permission is hereby granted, free of charge, to any person", the mind tends to fill in the rest of what it expects to see there. It takes very close and deliberate attention to verify that there are no subtly differences from the canonical text: the quasi-X11 license I pointed out in SRFI 104 is not the first time I have nearly mistaken a different license for the canonical MIT license. In contrast, I can easily mechanically verify that "LICENCES/MIT.txt" contains the canonical text. > 2) The "reuse lint" command should pass, i.e. the SRFI is REUSE > compliant. This implies that every source at least contains a > SPDX-License-Identifier tag with the license, and that a LICENSES/ > directory contains the referenced licenses text. > I've used "Reuse metadata" above to leave open the possibility that, when appropriate (primarily for files that don't support comments), the ".licenses" or ".reuse/dep5" methods may be used to give the metadata. Likewise, adding SPDX-FileCopyrightText is not required when the file already contains a copyright comment in another form recognized by Reuse. Philip