DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Hemant Agrawal <hemant.agrawal@nxp.com>
Cc: <dev@dpdk.org>, <thomas@monjalon.net>, <john.mcnamara@intel.com>
Subject: Re: [dpdk-dev] [PATCH 1/2] Introducing SPDX License Identifiers
Date: Tue, 28 Nov 2017 08:59:58 -0800	[thread overview]
Message-ID: <20171128085958.4ff6f6f0@xeon-e3> (raw)
In-Reply-To: <1511768764-14595-1-git-send-email-hemant.agrawal@nxp.com>

On Mon, 27 Nov 2017 13:16:03 +0530
Hemant Agrawal <hemant.agrawal@nxp.com> wrote:

> The DPDK uses the Open Source BSD-3-Clause license for the core libraries
> and drivers. The kernel components are naturally GPLv2 licensed.
> 
> Many of the files in the DPDK source code contain the full text of the
> applicable license. For example, most of the BSD-3-Clause files contain a
> full copy of the BSD-3-Clause license text.
> 
> Including big blocks of License headers in all files blows up the source
> code with mostly redundant information.  An additional problem is that even
> the same licenses are referred to by a number of slightly varying text
> blocks (full, abbreviated, different indentation, line wrapping and/or
> white space, with obsolete address information, ...) which makes validation
> and automatic processing a nightmare.
> 
> To make this easier, DPDK is adpoting the use of a single line reference to
> Unique License Identifiers in source files as defined by the Linux
> Foundation's SPDX project [1].
> 
> Adding license information in this fashion, rather than adding full license
> text, can be more efficient for developers; decreases errors; and improves
> automated detection of licenses. The current set of valid, predefined SPDX
> identifiers is set forth on the SPDX License List[2]
> at https://spdx.org/licenses/.
> 
> For example, to label a file as subject to the BSD-3-Clause license,
> the following text would be used:
> 
> Copyright (C) [YEAR] NAME-OF-COPYRIGHT-HOLDER
> SPDX-License-Identifier:        BSD-3-Clause
> 
> To label a file as GPL-2.0 (e.g., for code that runs in the kernel), the
> following text would be used:
> 
> Copyright (C) [YEAR] NAME-OF-COPYRIGHT-HOLDER
> SPDX-License-Identifier:        GPL-2.0
> 
> To label a file as dual-licensed with BSD-3-Clause and GPL-2.0 (e.g., for
> code that is shared between the kernel and userspace), the following text
> would be used:
> 
> Copyright (C) [YEAR] NAME-OF-COPYRIGHT-HOLDER
> SPDX-License-Identifier:        BSD-3-Clause OR GPL-2.0
> 
> To label a file as dual-licensed with BSD-3-Clause and LGPL-2.1 (e.g., for
> code that is shared between the kernel and userspace), the following text
> would be used:
> 
> Copyright (C) [YEAR] NAME-OF-COPYRIGHT-HOLDER
> SPDX-License-Identifier:        BSD-3-Clause OR LGPL-2.1
> 
> Note: Any new file contributions in DPDK shall adhere to the above scheme.
> It is also being recommended to replace the existing license text in the
> code with SPDX-License-Identifiers.
> 
> Note 2: DPDK currently adhere to it's IP policies[3]. Any exception to this
> shall be approved by DPDK tech board and DPDK Governing Board. Steps for
> any exception approval:
> 1. Mention the appropriate license identifier form SPDX. If the license is
>    not listed in SPDX Licenses. It is the submitters responsibiliity to get
>    it fist listed.
        ^first

> 2. Get the required approval from the DPDK Technical Board. Technical board
>    may advise the author to check alternate means first. If no other
>    alternatives are found and the merit of the contributions are important
>    for DPDK's mission, it may decide on such exception with two-thirds vote
>    of the members.
> 3. Technical board then approach Governing board for such limited approval
>    for the given contribution only.
> 
> Any approvals shall be documented in "Licenses/exceptions.txt" with record
> dates.
> 
> Note 3: Projects like U-boot have been been using SPDX License Idenfiers
> successfully [2]. They have been referered in implementing SPDX based
> guidelines in DPDK.
> 
> Note 4: From the legal point of view, this patch is supposed to be only a
> change to the textual representation of the license information, but in no
> way any change to the actual license terms. With this patch applied, all
> files will still be licensed under the same terms they were before.
> 
> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>


I like this, it adds clarity.
What the kernel did was run a license scan and add SPDX tags
to any file without an existing matching license text.
I just did the same thing to iproute2.

Also, the copyright holder is free to replace existing verbose text
with SPDX tag instead, if they so desire.

Acked-by: Stephen Hemminger <stephen@networkplumber.org>

  parent reply	other threads:[~2017-11-28 17:00 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-27  7:46 Hemant Agrawal
2017-11-27  7:46 ` [dpdk-dev] [PATCH 2/2] Change root makefile license to SPDX tag Hemant Agrawal
2017-11-27 12:01   ` Bruce Richardson
2017-12-01  8:41     ` Hemant Agrawal
2017-11-28 16:59 ` Stephen Hemminger [this message]
2017-12-01  8:38 ` [dpdk-dev] [PATCH v2 1/2] Introducing SPDX License Identifiers Hemant Agrawal
2017-12-01  8:38   ` [dpdk-dev] [PATCH v2 2/2] Change root makefile license to SPDX tag Hemant Agrawal
2017-12-07 23:46   ` [dpdk-dev] [PATCH v2 1/2] Introducing SPDX License Identifiers Ferruh Yigit
2017-12-08  4:57     ` Hemant Agrawal
2017-12-08  7:41   ` [dpdk-dev] [PATCH v3 1/4] " Hemant Agrawal
2017-12-08  7:41     ` [dpdk-dev] [PATCH v3 2/4] change root makefile license to SPDX tag Hemant Agrawal
2017-12-08  7:41     ` [dpdk-dev] [PATCH v3 3/4] change NXP dpaa2 code License text to SPDX tags Hemant Agrawal
2017-12-08 18:07       ` Stephen Hemminger
2017-12-08  7:41     ` [dpdk-dev] [PATCH v3 4/4] change NXP dpaa " Hemant Agrawal
2017-12-13 10:46     ` [dpdk-dev] [PATCH v3 1/4] Introducing SPDX License Identifiers Thomas Monjalon
2017-12-13 11:38       ` Bruce Richardson
2017-12-13 15:38         ` Wiles, Keith
2017-12-15 10:52           ` Hemant Agrawal
2017-12-18 12:39     ` [dpdk-dev] [PATCH v4 " Hemant Agrawal
2017-12-18 12:39       ` [dpdk-dev] [PATCH v4 2/4] change root makefile license to SPDX tag Hemant Agrawal
2017-12-18 14:32         ` Bruce Richardson
2017-12-18 15:52         ` Bruce Richardson
2017-12-18 16:30           ` Thomas Monjalon
2017-12-19  5:29             ` Hemant Agrawal
2017-12-19 10:01               ` Bruce Richardson
2017-12-18 12:39       ` [dpdk-dev] [PATCH v4 3/4] change NXP dpaa2 code License text to SPDX tags Hemant Agrawal
2017-12-18 12:39       ` [dpdk-dev] [PATCH v4 4/4] change NXP dpaa " Hemant Agrawal
2017-12-19 10:14       ` [dpdk-dev] [PATCH v5 1/4] Introducing SPDX License Identifiers Hemant Agrawal
2017-12-19 10:14         ` [dpdk-dev] [PATCH v5 2/4] change root makefile license to SPDX tag Hemant Agrawal
2017-12-19 10:23           ` Bruce Richardson
2017-12-19 10:14         ` [dpdk-dev] [PATCH v5 3/4] change NXP dpaa2 code License text to SPDX tags Hemant Agrawal
2017-12-19 10:14         ` [dpdk-dev] [PATCH v5 4/4] change NXP dpaa " Hemant Agrawal
2018-01-04 18:32         ` [dpdk-dev] [PATCH v5 1/4] Introducing SPDX License Identifiers Thomas Monjalon

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=20171128085958.4ff6f6f0@xeon-e3 \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    --cc=hemant.agrawal@nxp.com \
    --cc=john.mcnamara@intel.com \
    --cc=thomas@monjalon.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).