On 12/8/2017 5:16 AM, Ferruh Yigit wrote:
On 12/1/2017 12:38 AM, Hemant Agrawal 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 first listed.
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.agra...@nxp.com>
Acked-by: Stephen Hemminger <step...@networkplumber.org>
---
LICENSE.GPL | 339 ------------------------
LICENSE.LGPL | 502 ------------------------------------
Licenses/Exceptions.txt | 12 +
Licenses/README | 82 ++++++
Licenses/bsd-3-clause.txt | 9 +
Licenses/gpl-2.0.txt | 339 ++++++++++++++++++++++++
Licenses/lgpl-2.1.txt | 502 ++++++++++++++++++++++++++++++++++++
Hi Hemant,
Are new gpl-2.0.txt & lgpl-2.1.txt files identical with old LICENSE.GPL &
LICENSE.LGPL?
If so, does it make sense to make commit with "git mv" so that patch won't
contain all text resulting smaller patch, and it will highlight that nothing
changed but moved/renamed?
Thanks,
ferruh
<....>
Yes. I missed to notice that.
I will fix it.