Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 425702 (init-script-license) - [TRACKER] The LICENSE variable should always include the license of installed init scripts
Summary: [TRACKER] The LICENSE variable should always include the license of installed...
Status: CONFIRMED
Alias: init-script-license
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal QA (vote)
Assignee: Licenses team
URL:
Whiteboard:
Keywords: Goal, Tracker
Depends on: 425872 425874 425878 425892 425930 425932 425958 425972 426004 426030 426032 426046 426076 426104 426148 426156 426166 426170 425700 425854 425862 425864 425866 425868 425870 425876 425880 425882 425884 425886 425888 425890 425894 425896 425898 425902 425904 425906 425908 425910 425912 425914 425916 425918 425920 425922 425926 425928 425934 425936 425938 425940 425942 425944 425946 425948 425950 425952 425954 425956 425960 425962 425964 425966 425968 425970 425974 425976 425978 425980 425982 425984 425986 425988 425990 425992 425994 425996 425998 426000 426002 426006 426008 426010 426012 426014 426016 426018 426020 426022 426024 426026 426028 426034 426036 426038 426040 426042 426044 426048 426050 426052 426054 426056 426058 426060 426062 426064 426066 426068 426070 426072 426074 426078 426080 426082 426084 426086 426088 426090 426092 426094 426096 426098 426100 426102 426106 426108 426110 426112 426114 426116 426118 426120 426122 426126 426128 426130 426132 426134 426136 426138 426140 426142 426144 426146 426150 426152 426154 426158 426160 426162 426164 426168 426172 426174 426176 426178 426180 426182 426184 426186
Blocks:
  Show dependency tree
 
Reported: 2012-07-10 16:22 UTC by Richard Yao (RETIRED)
Modified: 2020-09-10 16:42 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Yao (RETIRED) gentoo-dev 2012-07-10 16:22:34 UTC
Various ebuilds in the tree install GPLv2 licensed init scripts, but do not contain GPLv2 in the LICENSE variable. ulm confirmed in #gentoo-dev on freenode that LICENSE must accurately reflect all installed files, including init scripts:

12:00 <@ryao> ulm: Does installing a GPLv2 licensed init script require that LICENSE contain GPL-2?
12:00 <@ulm> LICENSE should cover all installed files, so yes

It is therefore necessary to either relicense the init script under a license that is listed in LICENSE or add GPL-2 to LICENSE.

The general preference should be to relicense the script to either whatever is used in LICENSE. Adding GPL-2 to the LICENSE variable is also acceptable. A third option is to relicense the script BSD-2 to be consistent with OpenRC's init scripts and then add BSD-2 to LICENSE.

This bug will serve as a tracker for bugs involving ebuilds whose LICENSE variable does not reflect the license of the init scripts that they install. Do NOT post reports of ebuilds that ignore the licensing of their init scripts in LICENSE here. Instead, file a new bug and set it to block this bug.
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2012-07-11 17:27:16 UTC
Okay next time can you NOT assign this to base-system? Now I have quite a hard time to find which mails relate to the actual bugs and which ones to the tracker =_=
Comment 2 Marc Schiffbauer gentoo-dev 2012-07-11 20:35:22 UTC
WTF? The init scripts are not part of the upstream software but created by gentoo devs. Why should they be licensed like the upstream software? AFAICS most init scripts in the tree have a gpl-2 header or no header at all.

Apart from that I might *want* to make an init script written by *me* GPL while the upstream software is BSD- or Apache- or whatever-licensed.

AFAIK the LICENSE variable should tell what the upstream software is licensed like.

If we start doing what this tracker suggests we also have to review every user contributed patch, every shell snipped..... or: everything the files folder.
Erm wait, what about the ebuild itself? WHat is the license of an ebuild I wrote?

Is it really supported for LICENSE to have more than one license listed? If so, how should a user find out which of the listed licenses matches the software she is actiually going to install?
Comment 3 Ulrich Müller gentoo-dev 2012-07-11 21:13:57 UTC
(In reply to comment #2)
> WTF? The init scripts are not part of the upstream software but created by
> gentoo devs. Why should they be licensed like the upstream software? AFAICS
> most init scripts in the tree have a gpl-2 header or no header at all.
> 
> Apart from that I might *want* to make an init script written by *me* GPL
> while the upstream software is BSD- or Apache- or whatever-licensed.

IMHO it's perfectly fine if you release your init scripts under the GPL, regardless of the upstream package's license.

> AFAIK the LICENSE variable should tell what the upstream software is
> licensed like.

In my understanding, the LICENSE variable should cover all files that are _installed_ by the package in the live system, regardless where they originate from. (This follows from GLEP 23: Users can regulate the software they install with ACCEPT_LICENSE, but this will only work if LICENSE is used in the above sense.)

> If we start doing what this tracker suggests we also have to review every
> user contributed patch, every shell snipped..... or: everything the files
> folder.

By patching you generally create a derived work of the file(s) that are patched. In most cases this will be under the license of the original package.

> Erm wait, what about the ebuild itself? WHat is the license of an ebuild I
> wrote?

GPL-2, see the ebuild's header.

> Is it really supported for LICENSE to have more than one license listed?

Sure. In fact, full DEPEND syntax is supported (so you may include USE-conditional licenses for stuff that is optionally installed). For example, sci-visualization/gnuplot has:
LICENSE="gnuplot GPL-2 bitmap? ( free-noncomm )"
since USE=bitmap will cause installation of some pieces that under a different (non-free) license.

> If so, how should a user find out which of the listed licenses matches the
> software she is actiually going to install?

Every file that is installed should be covered by one of the listed licenses?
Comment 4 Marc Schiffbauer gentoo-dev 2012-07-11 23:39:35 UTC
(In reply to comment #3)
> In my understanding, the LICENSE variable should cover all files that are
> _installed_ by the package in the live system, regardless where they
> originate from. (This follows from GLEP 23: Users can regulate the software
> they install with ACCEPT_LICENSE, but this will only work if LICENSE is used
> in the above sense.)

Makes sense to me.

> By patching you generally create a derived work of the file(s) that are
> patched. In most cases this will be under the license of the original
> package.

Indeed.

> > Is it really supported for LICENSE to have more than one license listed?
> 
> Sure. In fact, full DEPEND syntax is supported (so you may include
> USE-conditional licenses for stuff that is optionally installed). For
> example, sci-visualization/gnuplot has:
> LICENSE="gnuplot GPL-2 bitmap? ( free-noncomm )"
> since USE=bitmap will cause installation of some pieces that under a
> different (non-free) license.

Thanks for clarifying.

> > If so, how should a user find out which of the listed licenses matches the
> > software she is actiually going to install?
> 
> Every file that is installed should be covered by one of the listed licenses?

OK, thanks and nevermind I was thinking too complicated ;)
Comment 5 Ben de Groot (RETIRED) gentoo-dev 2012-07-12 06:27:10 UTC
The template for the depending bugs suggest to relicense the init script to the license of the package. I think this is not advisable, as we then end up with a wide range of licenses for our init scripts. Also, as far as I understand it, relicensing can only be done by the authors of the script (and this must include all of them).

I think we should formulate a policy for Gentoo init scripts to either be licensed GPL-2 (as are ebuilds), or BSD-2 to be consistent with OpenRC (which they kind of extend).

Perhaps this should be discussed on the dev mailinglist.
Comment 6 Ian Stakenvicius (RETIRED) gentoo-dev 2012-07-12 14:09:23 UTC
WRT to changing licenses of the init scripts themsemves :

For recordkeeping, the following devs have given permission that license can be changed on any init scripts that they have contributed to:

xarthisius
ago
Chainsaw


Also, apparently the threshold of required permission is >10 lines per contributor (less than that doesn't need permission) according to FSF; i'll attempt to get the actual list on a per-init-file basis of who needs to give permission to make a license change, in the coming weeks.  I will *not* be adjusting bug assignments or CC's though; there's enough spam already from this and all i'm doing here is providing the reference research for each maintainer or herd's own decision.  

(I also apologize for the implication I made regarding the "preferred" solution, that this is the solution that should be adopted.  I just stated it in those bugs as I believed at the time that more maintainers would want to have the init script match the license of the package rather than having GPL-2 added to the LICENSE variable.  Both solutions are entirely valid and changing the license of the init scripts is not in any way better for Gentoo as far as I am aware)
Comment 7 Alon Bar-Lev (RETIRED) gentoo-dev 2012-12-14 23:10:45 UTC
I saw these bugs and I must say it makes a total confusion.

If one cannot distinguish between what is the package license and what are the distribution provided, the whole licensing becomes void.

So far the LICENSE was good to provide machine license integrity in a sense we could know that if a package *DEPEND on other package it is valid, and it was clear what upstream package is.

Adding GPLv2 or any other license to all services makes this total useless, as if all services have GPLv2 in their license just because single standalone script is added.

GPLv2 script can be used by any dependency and by any environment, there is no restriction nor problem.

A solution may be to have generic statement: "Distribution specific scripts in licenses of BSD, GPL-2 are installed and used".
Comment 8 Michael Weber (RETIRED) gentoo-dev 2013-01-24 08:27:07 UTC
(In reply to comment #7)
> If one cannot distinguish between what is the package license and what are
> the distribution provided, the whole licensing becomes void.
Exactly. You already accept GPL-2 by invoking emerge and parse the ebuild. So, using Gentoo implies acceptance of GPL-2.

> Adding GPLv2 or any other license to all services makes this total useless,
> as if all services have GPLv2 in their license just because single
> standalone script is added.
And the script is still part of Gentoo distribution, and not part of any upstream.

Please fix GLEP 23 according to "originate from outside of Gentoo distribution".

And please, discuss these points on -dev ml __before__ filing bazillion of reports.
Comment 9 Henning Schild 2018-07-13 05:59:00 UTC
I am pretty sure that in my case (https://bugs.gentoo.org/425936) the header came from https://github.com/gentoo/gentoo-syntax .
So that package should also get fixed, probably to not include GPL-2 as default.