All of lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Gerum <rpm@xenomai.org>
To: Jan Kiszka <jan.kiszka@web.de>
Cc: Xenomai <xenomai@xenomai.org>
Subject: Re: [Xenomai] [PULL] forge: Cleanup COPYING files
Date: Sun, 13 Oct 2013 18:38:16 +0200	[thread overview]
Message-ID: <525ACC78.4060604@xenomai.org> (raw)
In-Reply-To: <525A8012.8020703@web.de>

On 10/13/2013 01:12 PM, Jan Kiszka wrote:
> On 2013-10-13 12:08, Philippe Gerum wrote:
>> On 10/11/2013 09:32 AM, Jan Kiszka wrote:
>>> Hi Philippe,
>>>
>>> The following changes since commit
>>> 926e0441446aae116bf5b0701753e4b87a5386a2:
>>>
>>>     doc: update installation guidelines (2013-10-04 15:46:23 +0200)
>>>
>>> are available in the git repository at:
>>>
>>>     git://git.xenomai.org/xenomai-jki.git for-forge
>>>
>>> for you to fetch changes up to f1559e40a39b1a54e0348732402a68eb0dfef0a4:
>>>
>>>     Rename include and lib copying files (2013-10-10 15:15:56 +0200)
>>>
>>> If you do not like COPYING.* renaming, just skip the second patch. The
>>> first on is important as we currently have code that is formally under
>>> no COPYING file.
>>>
>>
>> Thanks for the heads up. However, I disagree with both patches. GPL has
>> never been our default license.
>
> Where did we ever intentionally diverge from the pattern that everything
> is GPL except those bits that need to be linked to or #included by
> third-party programs?

The various lib/ test suites I did write are not GPL, but LGPL, although 
these are executables. You mention a rule you applied to your own 
contribution, which is fine by me. However, other contributors may see 
exceptions to this rule, so a default license makes no sense.

  I strongly believe that this is a very reasonable
> pattern, so I don't understand your disagreement here. And see below
> what damage a missing default license can cause.
>
>> The common rule for Xenomai is to state
>> the licensing terms on a per-file basis, explicitly. When present, the
>> COPYING files basically emphasize the fact that all files in the
>> relevant directory and below share that license. In other words, not
>> having COPYING file in some hierarchy does not mean that we have no
>> license, it's most often right there into each individual files.
>
> Sure, I don't disagree that each source file should state its license.
> We should not merge any more files in the future that lack this.
> However, often we like to reference a COPYING file with the full license
> term, thus it should be reachable, ideally by walking up the directory tree.
>
> Also, having duplicate, slightly diverging COPYING files in subtrees
> where all files require the same license anyway is not very elegant as well.
>

Legalese is not a matter of being elegant. It's a matter of being 
precise. Catch-all license files may be elegant, but they certainly 
aren't precise enough. The point is, as you mentioned, that all files 
merged in the future should bear an explicit license.

Besides, there is no "slightly diverging" licenses in -forge. It's 
either LGPL, or GPL, or GPL+exception for linking. As I mentioned a 
couple of times on this mailing list already, the latter is on its way 
out, since the introduction of the uapi/ section for the kernel files 
which may be shared with userland for common ABI definitions/constants, 
making the former exception useless. I'll push the proper patch accordingly.

All other headers outside the uapi/ areas shall be read from kernel code 
exclusively (GPL), or from userland Xenomai libraries exclusively (LGPL).

So, we'll shortly only have GPL or LGPL in the tree. Looking at the 
facts, I don't see any ambiguity.

>>
>> The files which do not state any licensing terms in a way or another in
>> -forge are as follows:
>>
>> ./lib/boilerplate/tlsf/target.h
>> ./utils/can/rtcansend.c
>> ./utils/can/rtcanrecv.c
>> ./utils/ps/rtps.c
>> ./utils/analogy/wf_facilities.h
>> ./utils/analogy/wf_facilities.c
>> ./testsuite/*
>>
>> The first one (target.h) is merely a build configuration file.
>> $top_srcdir/testsuite/* should not default to GPL, although it's
>> perfectly fine that contributors do state GPL licensing explicitly in
>> such code if they wish to. The few others implementing small utilities
>> are indeed lacking license information.
>>
>> AFAICS, all other files state their license explicitly, or depend on a
>> COPYING file present in the file hierarchy they belong to. If the file
>> belongs to the kernel support, the additional requirement to have it
>> GPLv2 compatible is even implicit per the linux kernel licensing terms,
>> all of our kernel code abide by strictly.
>>
>> At any rate, contributors may want to clarify licensing terms for the
>> code they authored if need be.
>
> If you say that we never had GPL as the default, this has to be
> rephrased: Contributors, it is required to clarify the license of those
> files that do not carry any explicit license reference. We otherwise
> have to remove them from the source tree!
>

Please stick to the facts: I mentioned a short list of files which lack 
explicit licensing information today. This means that by no mean your 
late addition of a catch-all COPYING file would solve anything 
retroactively with respect to this issue. All previous releases of this 
code would not fall under these terms. Therefore, the issue at stake is 
about fixing the current glitches - which are clearly not as "damaging" 
as you claimed - and clarify the policy for the future. This is the 
alternative solution to merging a catch-all COPYING file.

1. fixing the current issues means that contributors who authored these 
files are asked to provide the required fixup (and this includes 
myself). Only these people are entitled to pick the license for their 
code. What we may do is asking them politely to clarify the license. 
Such license would have to be compatible with the project, typically 
GPL/LGPL for userland utilities and GPL for all kernel space, LGPL for 
libraries which would be ok to link in 3rd party apps. This point is 
likely to be a no-brainer for these people, but you just may not force 
this decision on them by suddently covering their code with a license 
using this catch-all mechanism.

2. the policy is "explicit licensing". Terms should appear in the source 
files, and in addition as an external COPYING file in the relevant 
directories when that makes sense.

In any case, be sure that I've been taking Xenomai licensing issues very 
seriously for the past 12 years, and I'm willing to keep it that way.

This said, thanks again for the heads up. There is no reason to leave 
unlicensed code in the tree.

-- 
Philippe.


      parent reply	other threads:[~2013-10-13 16:38 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-11  7:32 [Xenomai] [PULL] forge: Cleanup COPYING files Jan Kiszka
2013-10-13 10:08 ` Philippe Gerum
2013-10-13 11:12   ` Jan Kiszka
2013-10-13 11:41     ` Gilles Chanteperdrix
2013-10-13 11:48       ` Jan Kiszka
2013-10-13 16:38     ` Philippe Gerum [this message]

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 \
    --in-reply-to=525ACC78.4060604@xenomai.org \
    --to=rpm@xenomai.org \
    --cc=jan.kiszka@web.de \
    --cc=xenomai@xenomai.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.