Re: Draft License Policy Changes for SPDX

From: Rodney W. Grimes <freebsd-rwg_at_gndrsh.dnsmgr.net>
Date: Sat, 11 Sep 2021 15:31:26 UTC
> Greetings,
> 
> I've been circulating a draft project policy expanding SPDX license marking
> in the base system. Most projects in the open source world have moved to
> having a copyright and SPDX-License-Identifier in the source files (aka
> SPDX-only files) with the license understood from context, policy and
> industry practice. The goal of my draft is to allow SPDX-only files, while
> coping with our long legacy. I'm also trying to consolidate multiple
> policy-like statements in our documentation into one place.
> 
> Originally, we had a license in every file and there was a fair amount of
> variation between them. A few years ago we started marking some files with
> SPDX-License-Identifier lines to assist automated tools discovering
> licenses. In addition, the ports license infrastructure uses these
> identifiers for third party software that we install there. Even without a
> formal policy, several SPDX-only files exist in base imported from other
> projects.
> 
> The draft policy formalizes our current practices. It updates the project's
> policy to explicitly allow SPDX-only files. It documents industry and
> FreeBSD project practice. Hundreds of other open source projects have been
> using it for years. The FreeBSD project has had SPDX-only files for many
> years. A formal policy for how to interpret SPDX-only markings will provide
> clarity and improve certainty about their meaning.
> 
> I've consulted with many people that have experience integrating software
> into FreeBSD with some knowledge of licenses. I've also talked to the SPDX
> lawyers for their justification for SDPX-only as well as what we do for our
> mixed situation. I've chatted informally with an IP lawyer not connected
> with SPDX for their views. I've surveyed other projects for what they do.
> All of this has informed the draft.
> 
> The summary of the changes are actually rather simple:
>  1. If a file has both a SPDX-License-Identifier and the full text of a
> license, the full text takes precedence.
>  2. If a file has only SDPX-only, then the license text is from the SPDX
> database with details on how to fill in the blanks if needed.
>  3. Do not move any full-text or mixed files in the tree to SPDX-only
> unless you are the copyright holder or acting on their behalf.
                 ^^^

There remains a slippery slope here, there can be an un-named but
valid copyright holder in any file in our system.  Do to the fact
that Berne does not require someone to declair a copyright on work
to infact hold a valid copyright.  I believe that the FreeBSD src
code has a vary large quantity of such code in the base system.

I doubt very much there are very many files that could hold muster
to the claim of singular copyright holder as in "the copyright holder"
above.

> 
> I've created a review for the policy. https://reviews.freebsd.org/D29543
> has the changes for the new policy. As we'll want to check copies of the
> text of the licenses into the tree for compliance with SPDX and adjacent
> standards, I'll prepare a diff for that too once things are a bit more
> along.
> 
> I'm calling for feedback before I give this to the lawyers to approve. I'd
> thought I had a lawyer lined up to review this over the summer, but that
> seems to have fallen through. I'm lining up someone new in parallel.
> There's an outstanding issue around slight wording differences between our
> license and the SPDX database that I need to resolve with the lawyer, as
> well as having them review the policy so that it's unambiguous how one
> discovers the license for an SPDX-only file.

I ask that you pose 1 question to any consulted lawyer, "What is the
'safest' thing that the project/foundation could do here".  One should
never pose the question in the form "is this legal", as almost anything
is legal until it isnt in the IP arena.  Ie, you can get away with a
lot, that does not make whst your doing legal.   Also you might mention
the term "seperable" in the context that the copyright and spdx tags
and the license text itself all become seperate items only attached
by reference.


> 
> Information about the SPDX project can be found at https://spdx.org. The
> specification can be found at https://spdx.github.io/spdx-spec/.
> 
> Thanks!
> 
> Warner
> 
> P.S. SDPX is now an ISO standard! It was approved yesterday:
> https://www.linuxfoundation.org/press-release/spdx-becomes-internationally-recognized-standard-for-software-bill-of-materials
> has more information.

This is about using the tags to provide Meta data, something I am all
fore, it is NOT about using a SPDX tag to replace a license in a file.

I would also suggest one pair particularly close attention to this
wording and think about why GNU has this things on its "How to use
the GPL page":
		https://www.gnu.org/licenses/gpl-howto.en.html

In the brief summary section bullet 5:
		Put a license notice in each file.

Then later when they expand what that means:
	The license notices

	Each file's copying permission statement (also called the license notice) should come right after its copyright notices. For a one-file program, the statement (for the GPL) should look like this, to use GPL version 3 or later:

	    This program is free software: you can redistribute it and/or modify
	    it under the terms of the GNU General Public License as published by
	    the Free Software Foundation, either version 3 of the License, or
	    (at your option) any later version.
	
	    This program is distributed in the hope that it will be useful,
	    but WITHOUT ANY WARRANTY; without even the implied warranty of
	    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	    GNU General Public License for more details.
	
	    You should have received a copy of the GNU General Public License
	    along with this program.  If not, see <https://www.gnu.org/licenses/>.
	
			

That text is significantly MORE than a SPDX tag, or a simple "SEE COPYING".

Regards,
-- 
Rod Grimes                                                 rgrimes@freebsd.org