Linux kernel licensing rulesВ¶
The Linux Kernel is provided under the terms of the GNU General Public License version 2 only (GPL-2.0), as published by the Free Software Foundation, and provided in the COPYING file. This documentation file is not meant to replace the COPYING file, but provides a description of how each source file should be annotated to make the licensing it is governed under clear and unambiguous.
The license in the COPYING file applies to the kernel source as a whole, though individual source files can have a different license which is required to be compatible with the GPL-2.0:
Aside from that, individual files can be provided under a dual license, e.g. one of the compatible GPL variants and alternatively under a permissive license like BSD, MIT etc.
The User-space API (UAPI) header files, which describe the interface of user-space programs to the kernel are a special case. According to the note in the kernel COPYING file, the syscall interface is a clear boundary, which does not extend the GPL requirements to any software which uses it to communicate with the kernel. Because the UAPI headers must be includable into any source files which create an executable running on the Linux kernel, the exception must be documented by a special license expression.
The common way of expressing the license of a source file is to add the matching boilerplate text into the top comment of the file. Due to formatting, typos etc. these “boilerplates” are hard to validate for tools which are used in the context of license compliance.
An alternative to boilerplate text is the use of Software Package Data Exchange (SPDX) license identifiers in each source file. SPDX license identifiers are machine parsable and precise shorthands for the license under which the content of the file is contributed. SPDX license identifiers are managed by the SPDX Workgroup at the Linux Foundation and have been agreed on by partners throughout the industry, tool vendors, and legal teams. For further information see https://spdx.org/
The Linux kernel requires the precise SPDX identifier in all source files. The valid identifiers used in the kernel are explained in the section License identifiers and have been retrieved from the official SPDX license list at https://spdx.org/licenses/ along with the license texts.
License identifier syntaxВ¶
The SPDX license identifier in kernel files shall be added at the first possible line in a file which can contain a comment. For the majority or files this is the first line, except for scripts which require the ‘#!PATH_TO_INTERPRETER’ in the first line. For those scripts the SPDX identifier goes into the second line.
The SPDX license identifier is added in form of a comment. The comment style depends on the file type:
If a specific tool cannot handle the standard comment style, then the appropriate comment mechanism which the tool accepts shall be used. This is the reason for having the “/* */” style comment in C header files. There was build breakage observed with generated .lds files where ‘ld’ failed to parse the C++ comment. This has been fixed by now, but there are still older assembler tools which cannot handle C++ style comments.
A is either an SPDX short form license identifier found on the SPDX License List, or the combination of two SPDX short form license identifiers separated by “WITH” when a license exception applies. When multiple licenses apply, an expression consists of keywords “AND”, “OR” separating sub-expressions and surrounded by “(”, ”)” .
License identifiers for licenses like [L]GPL with the ‘or later’ option are constructed by using a “+” for indicating the ‘or later’ option.:
WITH should be used when there is a modifier to a license needed. For example, the linux kernel UAPI files use the expression:
Other examples using WITH exceptions found in the kernel are:
Exceptions can only be used with particular License identifiers. The valid License identifiers are listed in the tags of the exception text file. For details see the point Exceptions in the chapter License identifiers.
OR should be used if the file is dual licensed and only one license is to be selected. For example, some dtsi files are available under dual licenses:
Examples from the kernel for license expressions in dual licensed files:
AND should be used if the file has multiple licenses whose terms all apply to use the file. For example, if code is inherited from another project and permission has been given to put it in the kernel, but the original license terms need to remain in effect:
Another other example where both sets of license terms need to be adhered to is:
License identifiersВ¶
The licenses currently used, as well as the licenses for code added to the kernel, can be broken down into:
Whenever possible these licenses should be used as they are known to be fully compatible and widely used. These licenses are available from the directory:
in the kernel source tree.
The files in this directory contain the full license text and Metatags. The file names are identical to the SPDX license identifier which shall be used for the license in source files.
Contains the GPL version 2 license text and the required metatags:
Contains the MIT license text and the required metatags
The following meta tags must be available in a license file:
One or more lines which declare which License Identifiers are valid inside the project to reference this particular license text. Usually this is a single valid identifier, but e.g. for licenses with the ‘or later’ options two identifiers are valid.
The URL of the SPDX page which contains additional information related to the license.
Freeform text for usage advice. The text must include correct examples for the SPDX license identifiers as they should be put into source files according to the License identifier syntax guidelines.
All text after this tag is treated as the original license text
Источник
Linux license source code
Your search did not match any results.
We suggest you try the following to help find what you’re looking for:
- Check the spelling of your keyword search.
- Use synonyms for the keyword you typed, for example, try “application” instead of “software.”
- Try one of the popular searches shown below.
- Start a new search.
ORACLE LINUX LICENSE AGREEMENT
“We,” “us,” “our” and “Oracle” refers to Oracle America, Inc. “You” and “your” refers to the individual or entity that has acquired the Oracle Linux programs. “Oracle Linux programs” refers to the Linux software product which you have acquired. “License” refers to your right to use the Oracle Linux programs under the terms of this Agreement and the licenses referenced herein. This Agreement is governed by the substantive and procedural laws of the United States and the State of California and you and Oracle agree to submit to the exclusive jurisdiction of, and venue in, the courts of San Francisco or Santa Clara counties in California in any dispute arising out of or relating to this Agreement.
We are willing to provide a copy of the Oracle Linux programs to you only upon the condition that you accept all of the terms contained in this Agreement. Read the terms carefully and indicate your acceptance by either selecting the “Accept” button at the bottom of the page to confirm your acceptance, if you are downloading the Oracle Linux programs, or continuing to install the Oracle Linux programs, if you have received this Agreement during the installation process. If you are not willing to be bound by these terms, select the “Do Not Accept” button or discontinue the installation process.
- Grant of Licenses to the Oracle Linux programs. Subject to the terms of this Agreement, Oracle grants to you a license to the Oracle Linux programs under the GNU General Public License version 2.0. The Oracle Linux programs contain many components developed by Oracle and various third parties. The license for each component is located in the licensing documentation and/or in the component’s source code. In addition, a list of components may be delivered with the Oracle Linux programs and the Additional Oracle Linux programs (as defined below) or accessed online at http://oss.oracle.com/linux/legal/oracle-list.html . The source code for the Oracle Linux Programs and the Additional Oracle Linux programs can be found and accessed online at https://oss.oracle.com/sources/ . This agreement does not limit, supersede or modify your rights under the license associated with any separately licensed individual component.
- Licenses to Additional Oracle Linux programs. Certain third-party technology (collectively the “Additional Oracle Linux programs”) may be included on the same medium or as part of the download of Oracle Linux programs you receive, but is not part of the Oracle Linux programs. Each Additional Oracle Linux program is licensed solely under the terms of the Mozilla Public License, Apache License, Common Public License, GNU Lesser General Public License, Netscape Public License or similar license that is included with the relevant Additional Oracle Linux program.
- Ownership. The Oracle Linux programs and their components and the Additional Oracle Linux programs are owned by Oracle or its licensors. Subject to the licenses granted and/or referenced herein, title to the Oracle Linux programs and their components and the Additional Oracle Linux programs remains with Oracle and/or its licensors.
- Trademark License. You are permitted to distribute unmodified Oracle Linux programs or unmodified Additional Oracle Linux programs without removing the trademark(s) owned by Oracle or its affiliates that are included in the unmodified Oracle Linux programs or unmodified Additional Oracle Linux programs (the “Oracle Linux trademarks”). You may only distribute modified Oracle Linux programs or modified Additional Oracle Linux programs if you remove relevant images containing the Oracle Linux trademarks. Certain files, identified in http://oss.oracle.com/linux/legal/oracle-list.html , include such trademarks. Do not delete these files, as deletion may corrupt the Oracle Linux programs or Additional Oracle Linux programs. You are not granted any other rights to Oracle Linux trademarks, and you acknowledge that you shall not gain any proprietary interest in the Oracle Linux trademarks. All goodwill arising out of use of the Oracle Linux trademarks shall inure to the benefit of Oracle or its affiliates. You may not use any trademarks owned by Oracle or its affiliates (including “ORACLE”) or potentially confusing variations (such as, “ORA”) as a part of your logo(s), product name(s), service name(s), company name, or domain name(s) even if such products, services or domains include, or are related to, the Oracle Linux programs or Additional Oracle Linux programs.
- Limited Warranty. THE ORACLE LINUX PROGRAMS AND ADDITIONAL ORACLE LINUX PROGRAMS ARE PROVIDED «AS IS» WITHOUT WARRANTY OF ANY KIND. WE FURTHER DISCLAIM ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
- Limitation of Liability. IN NO EVENT SHALL WE BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA OR DATA USE, INCURRED BY YOU OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, EVEN IF WE HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. OUR ENTIRE LIABILITY FOR DAMAGES HEREUNDER SHALL IN NO EVENT EXCEED ONE HUNDRED DOLLARS (U.S.).
- No Technical Support. Our technical support organization will not provide technical support, phone support, or updates to you for the materials licensed under this Agreement. Technical support, if available, may be acquired from Oracle or its affiliates under a separate agreement.
- Relationship Between the Parties. The relationship between you and us is that of licensee/licensor. Neither party will represent that it has any authority to assume or create any obligation, express or implied, on behalf of the other party, nor to represent the other party as agent, employee, franchisee, or in any other capacity. Nothing in this Agreement shall be construed to limit either party’s right to independently develop or distribute programs that are functionally similar to the other party’s products, so long as proprietary information of the other party is not included in such programs.
- Entire Agreement. You agree that this Agreement is the complete Agreement for the Oracle Linux programs and the Additional Oracle Linux programs, and this Agreement supersedes all prior or contemporaneous Agreements or representations. If any term of this Agreement is found to be invalid or unenforceable, the remaining provisions will remain effective. Neither the Uniform Computer Information Transactions Act nor the United Nations Convention on the International Sale of Goods applies to this agreement.
You can find a copy of the GNU General Public License version 2.0 in the “copying” or “license” file included with the Oracle Linux programs or here: http://oss.oracle.com/licenses/GPL-2 .
OFFER TO PROVIDE SOURCE CODE
For software that you receive from Oracle in binary form that is licensed under an open source license that gives you the right to receive the source code for that binary, you can obtain a copy of the applicable source code from https://oss.oracle.com/sources/ or http://www.oracle.com/downloads/opensource/software-components-source-code.html . Alternatively, if the source code for the technology was not provided to you with the binary, you can also receive a copy of the source code on physical media by submitting a written request to:
Oracle America, Inc.
Attn: Associate General Counsel
Development and Engineering Legal
500 Oracle Parkway, 10th Floor
Redwood Shores, CA 94065
Or, you may send an email to Oracle using the form linked from http://www.oracle.com/downloads/opensource/software-components-source-code.html. Your written or emailed request should include:
- The name of the component or binary file(s) for which you are requesting the source code
- The name and version number of the Oracle product
- The date you received the Oracle product
- Your name
- Your company name (if applicable)
- Your return mailing address and email
- A telephone number in the event we need to reach you.
We may charge you a fee to cover the cost of physical media and processing. Your request must be sent (i) within three (3) years of the date you received the Oracle product that included the component or binary file(s) that are the subject of your request, or (ii) in the case of code licensed under the GPL v3, for as long as Oracle offers spare parts or customer support for that product model or version.
Источник