[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-community
Subject:    Re: SPDX License Headers (for KF6)
From:       Mirko Boehm <mirko () kde ! org>
Date:       2019-11-25 10:43:02
Message-ID: B96146AD-2BD0-465B-8B1D-7A69216B5D3A () kde ! org
[Download RAW message or body]

Hello,

Thanks, Andreas, for getting this important discussion started.

> On 24. Nov 2019, at 19:04, Andreas Cord-Landwehr <cordlandwehr@kde.org> wrote:
> 
> ...
> 1. SPDX is the way to go for specifying license headers and we are joining the 
> party already late.

We should not feel bad, we are not that late. However it is kick off this effort now \
to be ready for the new release. 
> 
> 2. We have to be very clear in our discussions about SPDX to distinguish 
> inbound licenses (the license a contributor assign to the code by adding a 
> license header) and outbound licenses (the license a library/application is 
> released with by KDE); inbound and outbound licenses can differ for a 
> framework, e.g. when not all source files have the same license, then the more 
> restrictive license has to be chosen.
> 
> 3. Files should not mix two license headers. This means, the SPDX headers 
> shall be used to fully replace the existing license headers. However, by doing 
> this, they must not change the meaning of any license header. By mixing it, we 
> expect them to deviate at some time, which would lead to having inconsistent 
> licensing information in our sources.
> 
> 4. LGPL-2, LGPL-2.1, LGPL-3, LGPL-2-or-any-later, etc. licenses are straight 
> forward and can be directly be used from the SPDX list.

Agreed to all the points. One key goal should be to make the license statements \
machine readable and following the REUSE principles. I think the KDE community is \
generally doing well in this regard. We should however go through the REUSE \
specifications and make sure we tick all the boxes.

> 5. The next big question is: What do we do with the (L)GPL licenses that have 
> a "KDE e.V." exception?
> - In our license policy we name them "LGPL-2.1+3+KDEeV" (see <https://
> community.kde.org/Policies/Licensing_Policy#GPL_3.2BKDEeV \
> <http://community.kde.org/Policies/Licensing_Policy#GPL_3.2BKDEeV>>), yet the \
> values we  are using there are not official SPDX markers.
> - During Akademy, I requested at the SPDX GibHub project such an official marker 
> (<https://github.com/spdx/license-list-XML/issues/928 \
> <https://github.com/spdx/license-list-XML/issues/928>>). Yet there were two  \
>                 responses, which actually propose different solutions.
> - Today, we came to the point that we think the best next step is to request a 
> clarification from OSI how to name the license, which we are describing in our 
> license headers (i.e. with the KDEeV-exception). Essentially, we would name 
> the license "LGPL-2.1-or-later-or-KDE", but would ask OSI to confirm before we 
> bring this topic back to SPDX.
> 
> Do you have any comments, amendments or even rejections to this approach?
> Or shall we simply proceed?

Again, "machine readable". Getting a proper SPDX identifier for our policy is the \
right approach. The alternative of using a combined SPDX expression may be correct, \
but it looses the details of our own policy. I support the suggested approach.

Best,

Mirko.
-- 
Mirko Boehm | mirko@kde.org | KDE e.V.
Qt Certified Specialist and Trainer
Request a meeting: https://doodle.com/mirkoboehm


[Attachment #3 (unknown)]

<html><head><meta http-equiv="Content-Type" content="text/html; \
charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; \
line-break: after-white-space;" class="">Hello,<div class=""><br class=""></div><div \
class="">Thanks, Andreas, for getting this important discussion started.<br \
class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 24. Nov \
2019, at 19:04, Andreas Cord-Landwehr &lt;<a href="mailto:cordlandwehr@kde.org" \
class="">cordlandwehr@kde.org</a>&gt; wrote:</div><br \
class="Apple-interchange-newline"><div class=""><font face="Menlo-Regular" \
class=""><span style="caret-color: rgb(0, 0, 0); font-size: 11px;" \
class="">...</span></font><br style="caret-color: rgb(0, 0, 0); font-family: \
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; \
font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; \
text-transform: none; white-space: normal; word-spacing: 0px; \
-webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">1. SPDX is the way to go for \
specifying license headers and we are joining the<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">party already late.</span><br \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" \
class=""></div></blockquote><div><br class=""></div>We should not feel bad, we are \
not that late. However it is kick off this effort now to be ready for the new \
release.&nbsp;<br class=""><blockquote type="cite" class=""><div class=""><br \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" \
class=""><span style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; \
font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; \
letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; \
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; \
text-decoration: none; float: none; display: inline !important;" class="">2. We have \
to be very clear in our discussions about SPDX to distinguish<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">inbound licenses (the license a \
contributor assign to the code by adding a<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">license header) and outbound \
licenses (the license a library/application is<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">released with by KDE); inbound and \
outbound licenses can differ for a<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">framework, e.g. when not all \
source files have the same license, then the more<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">restrictive license has to be \
chosen.</span><br style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; \
font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; \
letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; \
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; \
text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: \
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; \
font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; \
text-transform: none; white-space: normal; word-spacing: 0px; \
-webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">3. Files should not mix two \
license headers. This means, the SPDX headers<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">shall be used to fully replace the \
existing license headers. However, by doing<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">this, they must not change the \
meaning of any license header. By mixing it, we<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">expect them to deviate at some \
time, which would lead to having inconsistent<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">licensing information in our \
sources.</span><br style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; \
font-size: 11px; font-style: normal; font-variant-caps: normal; font-weight: normal; \
letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; \
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; \
text-decoration: none;" class=""><br style="caret-color: rgb(0, 0, 0); font-family: \
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; \
font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; \
text-transform: none; white-space: normal; word-spacing: 0px; \
-webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">4. LGPL-2, LGPL-2.1, LGPL-3, \
LGPL-2-or-any-later, etc. licenses are straight<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: \
start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: \
0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">forward and can be directly be \
used from the SPDX list.</span><br style="caret-color: rgb(0, 0, 0); font-family: \
Menlo-Regular; font-size: 11px; font-style: normal; font-variant-caps: normal; \
font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; \
text-transform: none; white-space: normal; word-spacing: 0px; \
-webkit-text-stroke-width: 0px; text-decoration: none;" \
class=""></div></blockquote><div><br class=""></div>Agreed to all the points. One key \
goal should be to make the license statements machine readable and following the \
REUSE principles. I think the KDE community is generally doing well in this regard. \
We should however go through the REUSE specifications and make sure we tick all the \
boxes.</div><div><br class=""><blockquote type="cite" class=""><div class=""><span \
style="caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; font-size: 11px; \
font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: \
normal; text-align: start; text-indent: 0px; text-transform: none; white-space: \
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; \
float: none; display: inline !important;" class="">5. The next big question is: What \
do we do with the (L)GPL licenses that have<span \
class="Apple-converted-space">&nbsp;</span></span><br style="caret-color: rgb(0, 0, \
0); font-family: Menlo-Regular; font-size: 11px; font-style: normal; \
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); \
letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; \
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; \
text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: \
after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; \
text-align: start; text-indent: 0px; text-transform: none; white-space: normal; \
word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; \
-webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div \
style="text-align: start; text-indent: 0px; word-wrap: break-word; -webkit-nbsp-mode: \
space; line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); \
letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; \
-webkit-text-stroke-width: 0px; text-align: start; text-indent: 0px; word-wrap: \
break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" \
class="">--&nbsp;<br class=""></div><div style="text-align: start; text-indent: 0px; \
word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" \
class="">Mirko Boehm | <a href="mailto:mirko@kde.org" class="">mirko@kde.org</a> | \
KDE e.V.<br class="">Qt Certified Specialist and Trainer<br class="">Request a \
meeting: <a href="https://doodle.com/mirkoboehm" \
class="">https://doodle.com/mirkoboehm</a><br class=""></div></div></div></div> \
</div> <br class=""></div></body></html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic