DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Hemant Agrawal <hemant.agrawal@nxp.com>
Cc: dev@dpdk.org, stephen@networkplumber.org,
	bruce.richardson@intel.com, john.mcnamara@intel.com
Subject: Re: [dpdk-dev] [PATCH v3 1/4] Introducing SPDX License Identifiers
Date: Wed, 13 Dec 2017 11:46:23 +0100	[thread overview]
Message-ID: <4544178.LpVkm1JlzH@xps> (raw)
In-Reply-To: <1512718913-11462-1-git-send-email-hemant.agrawal@nxp.com>

Hi Hemant,

Some comments below

08/12/2017 08:41, Hemant Agrawal:
> --- /dev/null
> +++ b/Licenses/Exceptions.txt

Please use lowercase for file and directory.
By the way, the text is referring to exceptions.txt.

> @@ -0,0 +1,12 @@
> +This file will record any exceptions in DPDK Project with respect to DPDK
> +IP License policy as defined in DPDK Charter available at:
> +
> +http://dpdk.org/about/charter#ip

This link might be indented.

I think we should make clear that
	- BSD-3-Clause
	- GPL-2.0
	- dual BSD-3-Clause/GPL-2.0
	- dual BSD-3-Clause/LGPL-2.1
are not exceptions.

> +----------------------------------------------------------------------------------------------
> +License Name                 SPDX Identifier     TB Approval Date  GB Approval Date  File name
> +----------------------------------------------------------------------------------------------

The table is large, and file names will be long.
Can we remove "License Name" as it is redundant with SPDX id?

> --- /dev/null
> +++ b/Licenses/README

Good idea to add a README here.

> @@ -0,0 +1,82 @@
> +The DPDK uses the Open Source BSD-3-Clause license for the core libraries and
> +drivers. The kernel components are naturally GPLv2 licensed.

You should use SPDX GPL-2.0

> +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

Please do not use this tense in the README.
We could say "DPDK uses" instead of "DPDK is adpoting the use".

> +Unique License Identifiers in source files as defined by the Linux Foundation's
> +SPDX project [1].

My preference is to insert URLs inline to make reading flow easier.

> +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/.

Here you are mixing inline and reference :)

> +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

I think (C) is useless.
About the YEAR, we should explicit what it is.
I think it is only the first year, and we do not need to update
the last year of update.
We should also explicit why it is there and why it is not required
to add more copyrights.
The copyright is required to express who is allowed to declare the
license of the code.
It is a common practice to add a Copyright line when doing a big update.
I think it is fair, but for small changes, it is really not required
as we implicitly comply with the current copyright holder and license.

> +SPDX-License-Identifier:        BSD-3-Clause

Why adding these spaces in the middle of the line?

[...]
> +Note: DPDK currently adhere to it's IP policies[3]. Any exception to this shall

This sentence is strange.
To me, it is obvious that DPDK adheres to its policies.
Suggested rewording:
Any exception to the DPDK IP policies shall...

> +be approved by DPDK tech board and DPDK Governing Board. Steps for any exception
> +approval:

[...]
> +Projects like U-boot have been been using SPDX License Idenfiers successfully
> +[2]. They have been referered in implementing SPDX based guidelines in DPDK.

I think you can remove this paragraph from the README.

[...]
> +DPDK project supported licenses are:
> +
> +Full name				        SPDX Identifier	OSI Approved	File name		URI
> +=======================================================================================================================================

This table is large.
I suggest to format it as a list:

SPDX identifier
	full name
	file name
	URL

> +GNU General Public License v2.0 only		GPL-2.0		Y		gpl-2.0.txt		http://spdx.org/licenses/GPL-2.0.html#licenseText
> +GNU Lesser General Public License v2.1 or later	LGPL-2.1+	Y		lgpl-2.1.txt		http://spdx.org/licenses/LGPL-2.1.html#licenseText

Later than LGPL-2.1 is not specified in the charter.
Better to remove the "+".

> +BSD 3-clause "New" or "Revised" License		BSD-3-Clause	Y		bsd-3-clause.txt	http://spdx.org/licenses/BSD-3-Clause#licenseText

[...]
> --- a/README
> +++ b/README
> @@ -1,8 +1,9 @@
>  DPDK is a set of libraries and drivers for fast packet processing.
>  It supports many processor architectures and both FreeBSD and Linux.
>  
> -The DPDK uses the Open Source BSD license for the core libraries and
> -drivers. The kernel components are GPLv2 licensed.
> +The DPDK uses the Open Source BSD-3-Clause license for the core libraries
> +and drivers. The kernel components are GPLv2 licensed. DPDK usages

s/GPLv2/GPL-2.0/
s/usages/uses/

> +SPDX Licenese identifiers instead of full license text in source files.

s/Licenese/license/

I think it is not needed to mention SPDX in this README.

[...]
> --- a/doc/guides/contributing/patches.rst
> +++ b/doc/guides/contributing/patches.rst
> @@ -32,6 +32,42 @@ It is also worth registering for the DPDK `Patchwork <http://dpdk.org/dev/patchw
>  The development process requires some familiarity with the ``git`` version control system.
>  Refer to the `Pro Git Book <http://www.git-scm.com/book/>`_ for further information.
>  
> +Source License
> +--------------
> +
> +The DPDK uses the Open Source BSD-3-Clause license for the core libraries and
> +drivers. The kernel components are GPLv2 licensed. DPDK usaes single line

s/GPLv2/GPL-2.0/
s/usaes/uses/

> +reference to Unique License Identifiers in source files as defined by the Linux
> +Foundation's `SPDX project <http://spdx.org/>`_.
> +
> +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 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``
> +
> +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``
> +
> +Any new file contributions in DPDK shall adhere to the above scheme.
> +It is also being recommended to replace the existing license.

No need to repeat everything in the guide.
You can refer to licenses/README.

+Cc John for doc review

  parent reply	other threads:[~2017-12-13 10:46 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-27  7:46 [dpdk-dev] [PATCH 1/2] " 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 ` [dpdk-dev] [PATCH 1/2] Introducing SPDX License Identifiers Stephen Hemminger
2017-12-01  8:38 ` [dpdk-dev] [PATCH v2 " 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     ` Thomas Monjalon [this message]
2017-12-13 11:38       ` [dpdk-dev] [PATCH v3 1/4] Introducing SPDX License Identifiers 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=4544178.LpVkm1JlzH@xps \
    --to=thomas@monjalon.net \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=hemant.agrawal@nxp.com \
    --cc=john.mcnamara@intel.com \
    --cc=stephen@networkplumber.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 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).