[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 3/3] add SPDX to arch/arm/*.c



On Fri, 19 Aug 2022, Julien Grall wrote:
> On 18/08/2022 23:03, Stefano Stabellini wrote:
> > Add SPDX license information to all the *.c files under arch/arm.
> 
> There are some of the files below that didn't have copyright. It would be
> worth explaining in the commit message which license you selected and how.
> AFAICT you assumed they were GPLv2 but I am not sure this is correct at least
> one of them.

My goal is not to change the existing license on any of the files, even
if the existing license is imprecise. By what is written under COPYING,
everything not explicitly listed is GPL-2.0. I only reflected today's
reality. I think it is best if we keep mechanical changes separate from
"smart" changes, especially on a series like this introducing many
mechanical changes.  More on this at the bottom.


> [...]
> 
> > diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
> > index f5f6562600..2537dbebc1 100644
> > --- a/xen/arch/arm/decode.c
> > +++ b/xen/arch/arm/decode.c
> > @@ -1,3 +1,4 @@
> > +/* SPDX-License-Identifier: GPL-2.0-or-later */
> 
> This license is not part of LICENSES. Was it intended?

It is: the tag is described as part of LICENSES/GPL-2.0.


> If yes, this should be mentioned in one of the commit message (possible patch
> #2) and maybe in CONTRIBUTING (to tell user to not use it for new files)
> because one could expect all the LICENSES to be listed.

It could make sense to say that:

/* SPDX-License-Identifier: GPL-2.0 */

is recommended for new files.


> >   /*
> >    * xen/arch/arm/decode.c
> >    *
> > @@ -5,16 +6,6 @@
> >    *
> >    * Julien Grall <julien.grall@xxxxxxxxxx>
> >    * Copyright (C) 2013 Linaro Limited.
> > - *
> > - * 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 2 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.
> >    */
> >     #include <xen/guest_access.h>
> 
> [...]
> 
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index 3fd1186b53..b29bdf3aa6 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -1,3 +1,4 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> 
> AFAIU, the assumption is all the files with no copyright are GPLv2. That works
> here. But ...
> 
> >   #include <xen/init.h>
> >   #include <xen/compile.h>
> >   #include <xen/lib.h>
> > diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
> > index 71182575f9..47405e0866 100644
> > --- a/xen/arch/arm/domain_page.c
> > +++ b/xen/arch/arm/domain_page.c
> > @@ -1,3 +1,4 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> 
> .... this file was split from mm.c which is gpl-2.0-or-later. So I don't think
> we can use GPL-2.0 here.

Well spotted! Effectively this file is now declared as GPL 2.0 only,
given what is stated in COPYING. The code in domain_page has lost "or
later" with the loss of the copyright header.

So if there were new contributions to this file after its creation, they
would have been GPL-2.0 only contributions, and it would have been
impossible to go back to GPL-2.0-or-later without asking the copyright
owners of the new changes.

In this case thankfully there are no new contributions since the split
of the file, so I can fix it by using the SPDX GPL-2.0-or-later tag
without problems. I'll do it in the next version of the series.

Xen is not saying: "if there is no copyright header it might be GPLv2
but you need to look it up". Xen is actively saying: "if there is no
copyright header it is GPLv2". Not up for discussion. Given that as a
whole Xen is GPLv2, the only possibility is that the file without a
copyright header used to be:
- GPLv2 or later
- dual license GPL and another compatible license (e.g. BSD)

Either way, with the loss of the copyright header, the file becomes
immediately GPLv2 only.

Does it make sense?

This is why I think it is best to keep copyright discussions out of the
SPDX patches review and limit ourselves to mechanical changes.



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.