From patchwork Mon Dec 18 12:39:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 122209 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp2779219qgn; Mon, 18 Dec 2017 04:40:11 -0800 (PST) X-Google-Smtp-Source: ACJfBosT+1OZ054ROu1wBu235BXcO82cosxbR7H7t8Gk2/dSvAXTuxbXnszgoLtn1KVYDAbq2wdn X-Received: by 10.28.193.139 with SMTP id r133mr12754844wmf.39.1513600811627; Mon, 18 Dec 2017 04:40:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513600811; cv=none; d=google.com; s=arc-20160816; b=L88jUGo5gru3DveCQTzF85MMHL4U0no/Mt6IPDyHGzTqGBsPg2UxxE7j1elWVRluGb TI3Lrajh1BWtVG9jEhEAiM0PqWAcnfGq92Cs2tXGXtzBE8eub6i5zRj8vDql4aH4OxvM IF/npyn3iRbHJ3GFx0aeXcz5E1A0Kk0u9ZdrG6K2DwajlBSozwDk8Zuie6bFRI5D1Eaw jsPz2n/YHeo1FVFNK18cWi9ETbtMG/fCLBz2LpLvk9mIAPw2HgJ9IlWdpc/lpWwjayib WQz0EwWmD8yqSUTvC71XPoEREOKB6PrPHNybaswi/9528aUYooqt54ljPBeD/nb0KIVb m7Hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:spamdiagnosticmetadata :spamdiagnosticoutput:mime-version:references:in-reply-to:message-id :date:cc:to:from:arc-authentication-results; bh=z7CmeW0DZzMVkt/5EK5NsGjDxASIV53KQWWHTNWgp5M=; b=KrlpqffI7Txyyfvo4jKogHCE3Xhx7J9dp2jswlbtlncEum+tGikIwdD7Hd17bCfMzB IlhCOWgoDdGWjNfQSpNx4XtTpjw4Ofhwba9hL5t02th0ZkpRq99cu+hAPK+ozTSvkUEL rOMtBk8dTQz5V9QXQKKiHFTIsSSts3z2bePBNbiQqpb4OjEgNPsUjIxotBT2DdNzB5lM yhzmd/ohLOO9OVYMxmYh9gvYZogHl6aVDTtvIikAbbInyecgFr8FoeiASgIswfHGrAPm QDvwfNl6Kc5/pHnLQ0s2barT95OP5i3DZwd6QvJvcptPTEW5RBUD70YiickEbasSW6vC 7LHQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from dpdk.org (dpdk.org. [92.243.14.124]) by mx.google.com with ESMTP id t80si9622231wrc.307.2017.12.18.04.40.11; Mon, 18 Dec 2017 04:40:11 -0800 (PST) Received-SPF: pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) client-ip=92.243.14.124; Authentication-Results: mx.google.com; spf=pass (google.com: domain of dev-bounces@dpdk.org designates 92.243.14.124 as permitted sender) smtp.mailfrom=dev-bounces@dpdk.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 97744E5D; Mon, 18 Dec 2017 13:40:10 +0100 (CET) Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0046.outbound.protection.outlook.com [104.47.34.46]) by dpdk.org (Postfix) with ESMTP id CF511271 for ; Mon, 18 Dec 2017 13:40:08 +0100 (CET) Received: from CY4PR03CA0104.namprd03.prod.outlook.com (10.171.242.173) by BN3PR03MB2353.namprd03.prod.outlook.com (10.166.74.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.323.15; Mon, 18 Dec 2017 12:40:06 +0000 Received: from BL2FFO11FD045.protection.gbl (2a01:111:f400:7c09::143) by CY4PR03CA0104.outlook.office365.com (2603:10b6:910:4d::45) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.323.15 via Frontend Transport; Mon, 18 Dec 2017 12:40:06 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; intel.com; dkim=none (message not signed) header.d=none; intel.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11FD045.mail.protection.outlook.com (10.173.161.207) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.302.6 via Frontend Transport; Mon, 18 Dec 2017 12:39:54 +0000 Received: from bf-netperf1.ap.freescale.net (bf-netperf1.ap.freescale.net [10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id vBICe2b7020937; Mon, 18 Dec 2017 05:40:02 -0700 From: Hemant Agrawal To: CC: , , Date: Mon, 18 Dec 2017 18:09:01 +0530 Message-ID: <1513600744-13749-1-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512718913-11462-1-git-send-email-hemant.agrawal@nxp.com> References: <1512718913-11462-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131580743950562949; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(979002)(336005)(39380400002)(346002)(39860400002)(376002)(396003)(2980300002)(1110001)(1109001)(339900001)(3190300001)(189003)(199004)(4326008)(47776003)(6916009)(498600001)(53936002)(53376002)(19273905006)(50466002)(2351001)(106466001)(5660300001)(2950100002)(50226002)(105606002)(48376002)(966005)(1720100001)(104016004)(51416003)(356003)(575784001)(6306002)(77096006)(85426001)(59450400001)(305945005)(81166006)(8676002)(316002)(81156014)(16586007)(76176011)(36756003)(97736004)(86362001)(68736007)(8936002)(2906002)(54906003)(2004002)(563064011)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR03MB2353; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD045; 1:73wYC96sqfXGMWpy5aq68UY00EzYthqSVAVc1KmBrj41fW9MpIWNXu21mKiGCWxFep8+Fmdigd3IyGgRGHv7/PcizYkXeALQz25nsFUF3+iYc6dr1ipGAq1ydZZDS0PM MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: c8b3e442-152b-478b-1528-08d5461470e9 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4628075)(201703131517081)(2017052603307); SRVR:BN3PR03MB2353; X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2353; 3:leEY096L6W3dTKb+iBOVB+M9SwC1RUuRtgMcBK2oijWbAsxOsXq0CfmgmBS3pK2Crj8+7Pe17uBiXSdzdkhJYW8UDKfxQX/pabfP7vcCdHkoXsylLFlOEyEz/5n4de7MHX4yO1s2VoKHyYEvF/LQji4J2NiausB5FFuGOOq3slgcZ+WMdX4RfxP8sl0r8Yk5BuHXh7I/b1q9p8RmaUM4CgIsSHMiIgCjFlHN5uIprwkuaex3a6NPeKAGf3idLsN30MwL6lni2FDDrkIwcO4KFI6IT7FwKKFBm+Et10jtgKF68/NdBKJnJPUJ5LgqhLI4rvmI7+mf7BeStmjoFZRtLykSm9DwhngjlcgKDiTbKyM=; 25:xGafeq4wssPueQjbM4USXL7/w0oGoT8sClMOd+WDbkqJG5aa8hLk5IhiONbO3crz+Q9SPNvbQqMf4s+EvzRZY7T7kkAsNA6No5N0yB1wwwK7Ukv9wZOxy2ur43JLx/bmWWGvwVA4yIeUTsY+RLQbkENJvXqgLHqDwpOxYzlXxyjvA/vCmVQLr7I8t36gh3qv8UhJRaZpJVBnIJqARREkv4YD6gkR8r8OJ/IA1AsLwSmYfcizcpOI0hdoyVBd6pENXH0/Qz2DJNBDckdHKpylsCFNir7vR7YFHMLuATMoFQCom2bxtYlIpAOzUE1PVHJObKtsDGCB9acVWvcqUyduWrT3yuGLi+IsF5rroQ7/cTU= X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PR03MB2353: X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2353; 31:kf95TJWfvJYnGNjUw/T0Mb1cFb9N+Qtm1JfAQOgbrYRXp1uFT3bBigAdkpLyKDEapiabzUxjF1KDwl6gzZLP08l4CT8ChWTvAsrfeqMrmd6KaoHk0oQSpkYz7FizlSuM2XOUwhmtDudrl1DbIuDaHroVIJwhe7LZiCIhcyFIaWfqCwi1hU9sC9Z+Fx3+ALLld+HmCMFoSlYb3rJFHEoJVzs1YbNgLNpDlczDAmJKhzM=; 4:To+x3TMpd6ejggrdjlvN/3r/IrgUhAQwXnrEHocM8zZ2Su6q22Jr8EVnlfeAK6SkCRyCbX0S60k7Zhgml24uVNI1G0OxBuuwtnLfRbTyR9+/MJxaEnfnb6ZG/K08ynz+27V+Lcxbm+HFa87s8wtIvG+xfgrrIvZ6WW+UifzpPX1/pSGTmTsLCJsW6iVazbYbB5uNH4iAD/PJASUi0v0doIXF3DQjDqYTUDYEl9M0RypAvPPu2HCUCQeLwjQGflso2fKwrReklwJnFobSGFL8yNbgAAiYCOvQ6utGzJGhq+oi1KYMbk+pzccA4a/EE/STQXbJKwz/7+sFeWDXLNc3bA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231023)(6055026)(6096035)(20161123556025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123559100)(20161123565025)(20161123563025)(20161123561025)(201708071742011); SRVR:BN3PR03MB2353; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:BN3PR03MB2353; X-Forefront-PRVS: 0525BB0ADF X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR03MB2353; 23:3UcIohio3foLJVXW51U0aV4OVEsVDWQCBb6f4mLKB?= aB70KlbTliPMIFfoQKiXBiXjNb/28BNwSlF2w5F9RS2SKp2RSqNH00GJfiJMQxAf9wJeCSYaePngKCtrdKGbgHNpqU6sTgc8GRdiDUrmlCiaSdbTa4BiQOThl1JJr497YDlGKp8tO69eePRyKXv02VmEVn0SMpRm/zgCeV7eGXsWChx61YaL0kjgwGkPKSIOCvFotOhzGbhhRj6EHzTd/yDvk6YdDw7PpNlBhTWA+CTC11t35GEGNC1SHKHP20f1kPAdGTFH825n37XT0LlZ2YdDW0hWgahVdBBaTq2boeJVs2R/iCvXPmymXcAxGUqNDRF4smc6EcuBdS1f9SL0z9RF2b28o5lbuZsAPmnq99i9QifNpOffGC/wPjPAnE0WKZdSVJBa533Ul2NwWS6hY2eEH+r9pL7SkP3o/FjrO/dFmFQ/KgiI4U3SK5zcBM2HppjfTXJZWGlB8YPzHOdr3R4V/BtMBgLPa4nKoiClPcAPrcAefUTVkanlyVgeUDDJEZH7au/jpCWB1aiCojVbO1USI1yhjt5dxRLjpKl/5nsHvhW0beYfeB6yEiPzR6cX5pDtoG0KQX1bZsgqwLV+AbiMZZBbDesoLatGOJvAAd9bywlx5iyMroVyplwDnGu4ZEqBxhExFnYDNvG/kApvpaVwy2jYrg3STeE5jolvw7qST67Lr0/3SbkDDQs/w6ZHNVOpaCf2Zekzyz5wxOTAF6DlieJdZ4CG4+T0aSbSWWr9zEwlSr28ernCH3jA4QTWReeGwxQOgGpp2ksMZT6KpY2ZVE0k2qNiUkvjVUx0Lf6xGbyNRnosJim26c9ZuWoGBf1L5UcXh6C8kXzFcIY5RNw7qwLNbtVhYndvugOCfzeOujTQzdX09SeQ/ZxH6Nw8BqAmmb4g5EBHHo+7pYJsCreV0Q8XTyR0zofjhMEcxSU3QzGQ5rXJ8xS26wVC+OEuG9xuEp6rAyFz2rAvKbowJrRgtpUUp2VO6Zx1ANkUSTvprKWtBQ+Ib60dqdmCCFHDVit+0ujxd5ASOIONYXHImo8Ro4jxvmej04QvDWKiexONOvTW+Lpk6Qr/ChW+u0gcv96ONQzFWaI+hRsKxJaYnrcRC7DH0ipXjrteHBIDkBYv/y3pDKiKL5zQQXVTCxZeGerR5fHmV4uPv2e56YHDAhs/lucftq1Lcp52ut0bmAWFivdwBCxKBi1a+V9PUmaqBURsyxxWTwTUDKqXREdhH8xHcbS3IPEnG9tacQxt2gMqBPgiVdx8q8Lw3orMifs52mJez4a3yuOqSZJ5RUwrCxO+D/FEFsFDUDWDJoFxoUcVvgm14Zs32ywCqBEFtYAXmA= X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2353; 6:GQU+89TAAD930XoJr2yvD4nS3MFwIoAK74iUDrsg6MGK+QSR4Y4P8hyWL6cB0I+U0nJ8vF6DC+YEzRpZMxihKAzmZjbeIvr+MSHo/iX3ZJSuaXBzlYyG6zGX7L7HTmjEFULPFblJ4R+APPHo41Ig52coxXu+j4x8jfHi44ZMAmm//NFtVYc6YtXgrkpn1I4DT7tVYAnE5RWV0p8codfzQq5O4mZ60qzRuwG1R9MelSCEXGwzR+kSfrGo4BqT9xoQPFk8XNrVvm5jNIQCwjWTucNGkH/l8tmfkj8Re6btZuMzK4As8FJw88V9uVh6CQzJVUBfPVXlK9uIvrux5kjXUSNjmR5s58xZFdAO5dgHoCA=; 5:UrK2IEHSBfXkZtWywWkY+ELTnCHqBYe4i91gBkr8D8KpAAFbTvr8ZDuDLd2pIQXyA5yH18sB5j+J99byfadFee2hQbZezMnI3178IPtzl5WpfJPMrdHJpPZQ2FhrC1GMpN20effDgm/z+4U4tGjIh20w704b3PfoVTvmgIK1yoI=; 24:shjM92CDU2bW1Z4F5r1o4u1rMuHl2zhtVaSkPSUGt6AHYYhzWOJL+BC939vklKfY4+9HfyKibjd4E4hStm0gxAmRJ8rBTJAE9PgPX8/j63k=; 7:BEj66wsa42Mdr4y863cjnplPnZAQ5qQ90vkDp03lig+/Wh4MyY0PXHuKKymXdVSrwL2QOmCKmF/1kRqPeaDbZpKzcVC4fZMWYtmcnMt+ltPxChCnYNaGziYm8t6hXXGV954chOxMMvKT0TuGvwIEoGyzYv2qZeg3Edl/4vPoU3JWB6YNEgQQpBATXx5prBwPDkijZjtb/RAO1q8gSfnRYyl48dSLYo0J84SjoIPPB3sDCaAXfhgL/31oNV/RzEH3 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Dec 2017 12:39:54.8846 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c8b3e442-152b-478b-1528-08d5461470e9 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB2353 Subject: [dpdk-dev] [PATCH v4 1/4] Introducing SPDX License Identifiers X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 uses of a single line reference to Unique License Identifiers in source files as defined by the Linux Foundation's SPDX project https://spdk.org. 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 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 as the top line of the file. SPDX-License-Identifier: BSD-3-Clause Note: Any new file contributions in DPDK shall adhere to the above scheme. It is also recommended to replace or at least amend the existing license text in the code with SPDX-License-Identifiers. Any exception to DPDK IP policies 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: 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 Acked-by: Stephen Hemminger --- README | 4 +- doc/guides/contributing/patches.rst | 23 +++++++++++ license/README | 77 ++++++++++++++++++++++++++++++++++++ license/bsd-3-clause.txt | 9 +++++ license/exceptions.txt | 18 +++++++++ LICENSE.GPL => license/gpl-2.0.txt | 14 +++---- LICENSE.LGPL => license/lgpl-2.1.txt | 18 ++++----- 7 files changed, 145 insertions(+), 18 deletions(-) create mode 100644 license/README create mode 100644 license/bsd-3-clause.txt create mode 100644 license/exceptions.txt rename LICENSE.GPL => license/gpl-2.0.txt (98%) rename LICENSE.LGPL => license/lgpl-2.1.txt (99%) -- 2.7.4 diff --git a/README b/README index 29ba0e0..55df158 100644 --- a/README +++ b/README @@ -1,8 +1,8 @@ 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 GPL-2.0 licensed. Please check the doc directory for release notes, API documentation, and sample application information. diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst index 40983c1..64408e7 100644 --- a/doc/guides/contributing/patches.rst +++ b/doc/guides/contributing/patches.rst @@ -32,6 +32,29 @@ It is also worth registering for the DPDK `Patchwork `_ 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 GPL-2.0 licensed. DPDK uses single line +reference to Unique License Identifiers in source files as defined by the Linux +Foundation's `SPDX project `_. + +DPDK uses first line of the file to be SPDX tag. In case of *#!* scripts, SPDX +tag can be placed in 2nd line of the file. + +For example, to label a file as subject to the BSD-3-Clause license, +the following text would be used: + +``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: + +``SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)`` + +Refer to ``licenses/README`` for more details. Maintainers and Sub-trees ------------------------- diff --git a/license/README b/license/README new file mode 100644 index 0000000..c7b79fc --- /dev/null +++ b/license/README @@ -0,0 +1,77 @@ +The DPDK uses the Open Source BSD-3-Clause license for the core libraries and +drivers. The kernel components are naturally GPL-2.0 licensed. + +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 uses a single line reference to Unique License +Identifiers in source files as defined by the Linux Foundation's SPDX project +(https://spdx.org/). + +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 at https://spdx.org/licenses/. + +DPDK uses first line of the file to be SPDX tag. In case of *#!* scripts, SPDX +tag can be placed in 2nd line of the file. + +For example, to label a file as subject to the BSD-3-Clause license, +the following text would be used: + +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: + +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: + +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: + +SPDX-License-Identifier: (BSD-3-Clause OR LGPL-2.1) + +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. + +Any exception to the DPDK IP policies 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 alternative + 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. + +DPDK project supported licenses are: + +1. BSD 3-clause "New" or "Revised" License + SPDX-License-Identifier: BSD-3-Clause + URL: http://spdx.org/licenses/BSD-3-Clause#licenseText + DPDK License text: licenses/bsd-3-clause.txt +2. GNU General Public License v2.0 only + SPDX-License-Identifier: GPL-2.0 + URL: http://spdx.org/licenses/GPL-2.0.html#licenseText + DPDK License text: licenses/gpl-2.0.txt +3. GNU Lesser General Public License v2.1 + SPDX-License-Identifieri: LGPL-2.1 + URL: http://spdx.org/licenses/LGPL-2.1.html#licenseText + DPDK License text: licenses/lgpl-2.1.txt diff --git a/license/bsd-3-clause.txt b/license/bsd-3-clause.txt new file mode 100644 index 0000000..731a737 --- /dev/null +++ b/license/bsd-3-clause.txt @@ -0,0 +1,9 @@ +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/license/exceptions.txt b/license/exceptions.txt new file mode 100644 index 0000000..f2ef037 --- /dev/null +++ b/license/exceptions.txt @@ -0,0 +1,18 @@ +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 + +Note that following licenses are not exceptions:- + - BSD-3-Clause + - Dual BSD-3-Clause OR GPL-2.0 + - Dual BSD-3-Clause OR LGPL-2.1 + - GPL-2.0 (*Only for kernel code*) + +----------------------------------------------------------------- +SPDX Identifier TB Approval Date GB Approval Date File name +----------------------------------------------------------------- +1. + +----------------------------------------------------------------- + diff --git a/LICENSE.GPL b/license/gpl-2.0.txt similarity index 98% rename from LICENSE.GPL rename to license/gpl-2.0.txt index d511905..d159169 100644 --- a/LICENSE.GPL +++ b/license/gpl-2.0.txt @@ -1,12 +1,12 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. - Preamble + Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public @@ -56,7 +56,7 @@ patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE + GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains @@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. - NO WARRANTY + NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN @@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - END OF TERMS AND CONDITIONS + END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Programs + How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it diff --git a/LICENSE.LGPL b/license/lgpl-2.1.txt similarity index 99% rename from LICENSE.LGPL rename to license/lgpl-2.1.txt index 4362b49..e5ab03e 100644 --- a/LICENSE.LGPL +++ b/license/lgpl-2.1.txt @@ -55,7 +55,7 @@ modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. - + Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a @@ -111,7 +111,7 @@ modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. - + GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION @@ -158,7 +158,7 @@ Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. - + 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 @@ -216,7 +216,7 @@ instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. - + Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. @@ -267,7 +267,7 @@ Library will still fall under Section 6.) distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. - + 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work @@ -329,7 +329,7 @@ restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. - + 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined @@ -370,7 +370,7 @@ subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. - + 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or @@ -422,7 +422,7 @@ conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. - + 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is @@ -456,7 +456,7 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - + How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest