[dpdk-dev] [PATCH v2 1/2] Introducing SPDX License Identifiers

Hemant Agrawal hemant.agrawal at nxp.com
Fri Dec 8 05:57:08 CET 2017


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.agrawal at nxp.com>
>> Acked-by: Stephen Hemminger <stephen at 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.



More information about the dev mailing list