doc: fix file attributes of guides
[dpdk.git] / doc / guides / rel_notes / appendices.rst
1 ..  BSD LICENSE
2     Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
3     All rights reserved.
4
5     Redistribution and use in source and binary forms, with or without
6     modification, are permitted provided that the following conditions
7     are met:
8
9     * Redistributions of source code must retain the above copyright
10     notice, this list of conditions and the following disclaimer.
11     * Redistributions in binary form must reproduce the above copyright
12     notice, this list of conditions and the following disclaimer in
13     the documentation and/or other materials provided with the
14     distribution.
15     * Neither the name of Intel Corporation nor the names of its
16     contributors may be used to endorse or promote products derived
17     from this software without specific prior written permission.
18
19     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20     "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22     A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23     OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25     LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26     DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27     THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
31 Appendix A  Intel®  DPDK License Overview
32 =========================================
33
34
35 The following describes the various licenses used by the Intel® Data Plane Development Kit (Intel® DPDK).
36 The purpose of the Intel® DPDK is to prove the abilities of the Intel® architecture processors and to provide users with a strong set of examples, libraries and proof points.
37 By placing the majority of this software under the BSD License, users may choose to use the Intel® as is, parts of it, or just the ideas for their programs.
38 All code may be modified by the user to suit their project needs and requirements.
39
40 .. note::
41
42     The license in each source file takes precedence over this document, and should be used as the definitive license for that file.
43     All users should seek their legal team's guidance with respect to the licensing used by the Intel® DPDK.
44
45
46
47 The following table lists those files (or libraries) that are not under a BSD License. In some cases, these files are part of the standard Intel® DPDK release package,
48 and in other cases may be a separate package that requires a separate download to be added to the Intel® DPDK. This document spells out those cases where possible.
49
50 The sections following the table provide the various licenses used. Please note that copyright notices may change overtime.
51 It is the responsibility of all users to understand these licenses and seek their legal team's guidance.
52
53 The use of the GPLv2 License is confined to files in kernel loadable modules.
54
55 The use of the Dual BSD/LGPLv2 License and Dual BSD/GPL License allows use with either free/open source software or with proprietary software in userspace.
56
57
58 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+--------------------------------------+
59 | File                                              | Description                                                                                                          | License                              |
60 |                                                   |                                                                                                                      |                                      |
61 +===================================================+======================================================================================================================+======================================+
62 | igb_uio.c                                         | **1st Released**                                                                                                     | GPLv2 License Information            |
63 |                                                   | : 1.0                                                                                                                |                                      |
64 |                                                   |                                                                                                                      |                                      |
65 |                                                   | **Location**                                                                                                         |                                      |
66 |                                                   | :                                                                                                                    |                                      |
67 |                                                   | DPDK/lib/librte_eal/linuxapp/igb_uio/                                                                                |                                      |
68 |                                                   |                                                                                                                      |                                      |
69 |                                                   | **Description**                                                                                                      |                                      |
70 |                                                   | : This file is used for a kernel loadable module which is responsible for unbinding NICs from the Linux kernel       |                                      |
71 |                                                   | and binding them to the Intel® DPDK                                                                                  |                                      |
72 |                                                   |                                                                                                                      |                                      |
73 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+--------------------------------------+
74 | kni_dev.h kni_ethtool.c kni_misc.c kni_net.c      | **1st Released**                                                                                                     | GPLv2 License Information            |
75 |                                                   | : 1.3                                                                                                                |                                      |
76 |                                                   |                                                                                                                      |                                      |
77 |                                                   | **Location**                                                                                                         |                                      |
78 |                                                   | : DPDK/lib/librte_eal/linuxapp/kni/                                                                                  |                                      |
79 |                                                   |                                                                                                                      |                                      |
80 |                                                   | **Description**                                                                                                      |                                      |
81 |                                                   | : The KNI kernel loadable module is a standard net driver which allows Intel DPDK Linux userspace applications       |                                      |
82 |                                                   | to exchange packets/data with the Linux kernel.                                                                      |                                      |
83 |                                                   |                                                                                                                      |                                      |
84 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+--------------------------------------+
85 | rte_kni_common.h                                  | **1st Released**                                                                                                     | Dual BSD/LGPLv2 License Information  |
86 |                                                   | : 1.3                                                                                                                |                                      |
87 |                                                   |                                                                                                                      |                                      |
88 |                                                   | **Location**                                                                                                         |                                      |
89 |                                                   | : DPDK/lib/librte_eal/linuxapp/eal/include/exec-env/                                                                 |                                      |
90 |                                                   |                                                                                                                      |                                      |
91 |                                                   | **Description**                                                                                                      |                                      |
92 |                                                   | : The KNI header files is utilized by both the Intel DPDK userspace application and the KNI kernel loadable module   |                                      |
93 |                                                   |                                                                                                                      |                                      |
94 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+--------------------------------------+
95 | All files under this directory are for the        | **1st Released**                                                                                                     | GPLv2 License Information            |
96 | ethtool functionality.                            | : 1.3                                                                                                                |                                      |
97 |                                                   |                                                                                                                      |                                      |
98 |                                                   | **Location**                                                                                                         |                                      |
99 |                                                   | : DPDK/lib/librte_eal/linuxapp/kni/ethtool                                                                           |                                      |
100 |                                                   |                                                                                                                      |                                      |
101 |                                                   | **Description**                                                                                                      |                                      |
102 |                                                   | : The igb and ixgbe drivers for the Ethtool function available with the KNI kernel loadable.                         |                                      |
103 |                                                   |                                                                                                                      |                                      |
104 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+--------------------------------------+
105 | rte_pci_dev_ids.h                                 | **1st Released**                                                                                                     | Dual BSD/GPL License Information     |
106 |                                                   | : 1.3                                                                                                                |                                      |
107 |                                                   |                                                                                                                      |                                      |
108 |                                                   | **Location**                                                                                                         |                                      |
109 |                                                   | : DPDK/lib/librte_eal/common/include                                                                                 |                                      |
110 |                                                   |                                                                                                                      |                                      |
111 |                                                   | **Description**                                                                                                      |                                      |
112 |                                                   | : Contains the PCI device ids for all devices.                                                                       |                                      |
113 |                                                   |                                                                                                                      |                                      |
114 +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+--------------------------------------+
115
116 Added rte_dom0_mm.h file for Dual BSD/LGPLv2 License information:
117
118 rte_dom0_mm.h 1st Released 1.6.0
119
120 Location: DPDK/lib.librte_eal/eal/include/exec-env/
121
122 Description: The Dom0 header file is utilized by both the Intel® DPDK userspace application and the Dom0 kernel loadable module
123
124 Added dom0_mm_misc.h and dom0_mm_misc.c file for Dual BSD/GPLv2 License Information:
125
126 dom0_mm_dev.h 1st Released 1.6.0
127
128 dom0_mm_dev.c Location: DPDK/lib.librte_eal/linuxapp/xen_dom0
129
130 Description: The Dom0 memory management kernel loadable module is a misc device driver which is used to facilitate allocating and mapping via an **IOCTL** (allocation) and **MMAP** (mapping).
131
132
133 A.1 BSD License
134 ---------------
135
136 .. code-block:: c
137
138     /*-
139      *        BSD LICENSE
140      *
141      *        Copyright(c) 2010-2012 Intel Corporation. All rights reserved.
142      *        All rights reserved.
143      *
144      *        Redistribution and use in source and binary forms, with or without
145      *        modification, are permitted provided that the following conditions
146      *        are met:
147      *
148      *        * Redistributions of source code must retain the above copyright
149      *        notice, this list of conditions and the following disclaimer.
150      *        * Redistributions in binary form must reproduce the above copyright
151      *        notice, this list of conditions and the following disclaimer in
152      *        the documentation and/or other materials provided with the
153      *        distribution.
154      *        * Neither the name of Intel Corporation nor the names of its
155      *        contributors may be used to endorse or promote products derived
156      *        from this software without specific prior written permission.
157      *
158      *        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
159      *        "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
160      *        LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
161      *        A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
162      *        OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
163      *        SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
164      *        LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
165      *        DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
166      *        THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
167      *        (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
168      *        OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
169      *
170      */
171
172 A.2 GPLv2 License Information
173 -----------------------------
174
175 .. code-block:: c
176
177     /*-
178      *
179      *        Copyright (c) 2010-2012, Intel Corporation
180      *
181      *        This program is free software; you can redistribute it and/or
182      *        modify it under the terms of the GNU General Public License
183      *        as published by the Free Software Foundation; either version 2
184      *        of the License, or (at your option) any later version.
185      *
186      *        This program is distributed in the hope that it will be useful,
187      *        but WITHOUT ANY WARRANTY; without even the implied warranty of
188      *        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
189      *        GNU General Public License for more details.
190      *
191      *        You should have received a copy of the GNU General Public License
192      *        along with this program; if not, write to the Free Software
193      *        Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
194      *
195 ..
196
197     \*        GNU GPL V2: `http://www.gnu.org/licenses/old-licenses/gpl-2.0.html <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html>`_
198
199 .. code-block:: c
200
201      *
202      */
203
204 A.3 Dual BSD/LGPLv2 License Information
205 ---------------------------------------
206
207 .. code-block:: c
208
209     /*
210     This file is provided under a dual BSD/LGPLv2 license. When using
211     or redistributing this file, you may do so under either license.
212
213     GNU LESSER GENERAL PUBLIC LICENSE
214
215     Copyright(c) 2007,2008,2009 Intel Corporation. All rights reserved.
216
217     This program is free software; you can redistribute it and/or modify
218     it under the terms of version 2.1 of the GNU Lesser General Public License
219     as published by the Free Software Foundation.
220
221     This program is distributed in the hope that it will be useful, but WITHOUT ANY
222     WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
223     PARTICULAR PURPOSE. See the GNU
224     Lesser General Public License for more details.
225
226     You should have received a copy of the GNU Lesser General Public License along with
227     this program; if not, write to the Free Software
228     Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
229
230
231     Contact Information: Intel Corporation
232
233     BSD LICENSE
234
235     Copyright(c) 2010-2012 Intel Corporation.All rights reserved. All rights reserved.
236
237     Redistribution and use in source and binary forms, with or without modification, are
238     permitted provided that the following conditions are met:
239
240     Redistributions of source code must retain the above copyright notice, this list of
241     conditions and the following disclaimer.
242     Redistributions in binary form must reproduce the above copyright notice, this list
243     of conditions and the following disclaimer in the documentation and/or other
244     materials provided with the distribution.
245     Neither the name of Intel Corporation nor the names of its contributors may be used
246     to endorse or promote products derived from this software without specific prior
247     written permission.
248
249     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
250     EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
251     OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
252     SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
253     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
254     TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
255     BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
256     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
257     ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
258     DAMAGE.
259     */
260
261
262 A.4 Dual BSD/GPL License Information
263 ------------------------------------
264
265 .. code-block:: c
266
267     /*-
268      *       This file is provided under a dual BSD/GPLv2 license. When using or
269      *       redistributing this file, you may do so under either license.
270      *
271      *       GPL LICENSE SUMMARY
272      *
273      *       Copyright(c) 2010-2012 Intel Corporation. All rights reserved.
274      *
275      *       This program is free software; you can redistribute it and/or modify
276      *       it under the terms of version 2 of the GNU General Public License as
277      *       published by the Free Software Foundation.
278      *
279      *       This program is distributed in the hope that it will be useful, but
280      *       WITHOUT ANY WARRANTY; without even the implied warranty of
281      *       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
282      *       General Public License for more details.
283      *
284      *       You should have received a copy of the GNU General Public License
285      *       along with this program; if not, write to the Free Software
286      *       Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
287      *       The full GNU General Public License is included in this distribution
288      *       in the file called LICENSE.GPL.
289      *
290      *       Contact Information:
291      *       Intel Corporation
292      *
293      *       BSD LICENSE
294      *
295      *       Copyright(c) 2010-2012 Intel Corporation. All rights reserved.
296      *       All rights reserved.
297      *
298      *       Redistribution and use in source and binary forms, with or without
299      *       modification, are permitted provided that the following conditions
300      *       are met:
301      *
302      *       * Redistributions of source code must retain the above copyright
303      *       notice, this list of conditions and the following disclaimer.
304      *       * Redistributions in binary form must reproduce the above copyright
305      *       notice, this list of conditions and the following disclaimer in
306      *       the documentation and/or other materials provided with the
307      *       distribution.
308      *       * Neither the name of Intel Corporation nor the names of its
309      *       contributors may be used to endorse or promote products derived
310      *       from this software without specific prior written permission.
311      *
312      *       THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
313      *       "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
314      *       LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
315      *       A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
316      *       OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
317      *       SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
318      *       LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
319      *       DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
320      *       THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
321      *       (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
322      *       OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
323      *
324      */