THE SPDX WIKI IS NO LONGER ACTIVE. ALL CONTENT HAS BEEN MOVED TO https://github.com/spdx
Difference between revisions of "Technical Team/SPDX Meta Tags"
(→Introduction) |
|||
Line 2: | Line 2: | ||
'''SPDX Meta Tagging''' | '''SPDX Meta Tagging''' | ||
− | + | This is currently a DRAFT and work in progress. | |
__TOC__ | __TOC__ | ||
− | Last Updated: | + | Last Updated: 3 October 2013 |
= Introduction = | = Introduction = | ||
− | + | The need to identify the license for open source software is critical for both reporting purposes and license compliance. However, determining the license can be difficult due to a lack of information or ambiguous information. Even when licensing information is present, a lack of consistent notation for providing license information can make automating the task of license detection very difficult, thus requiring vast amounts of human effort. | |
+ | Meta Tagging is a proposal by the SPDX Work-group to use [http://spdx.org/licenses/ short license identifiers] from the SPDX License List to indicate license info at the file level. The advantages of doing this are numerous but include: | ||
+ | |||
+ | * It is precise, there is no ambiguity due to variations in license header text. | ||
+ | * It is language neutral. | ||
+ | * It is easy to machine process. | ||
+ | * It is concise | ||
+ | * Leads to code that is easier to read. | ||
+ | * The license travels with the file (as sometimes not entire projects are used or license files are removed). | ||
+ | * It is simple and can be used without much cost in interpreted environments like java Script, etc.,. | ||
+ | * It is a standard and can be universal. There is no need for all the variation. | ||
* The license list for SPDX is immutable and will never change. | * The license list for SPDX is immutable and will never change. | ||
− | * | + | * It provides simple guidance for developer's who want to make sure the license for their code is respected. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
== History == | == History == |
Revision as of 17:07, 3 October 2013
SPDX Meta Tagging
This is currently a DRAFT and work in progress.
Contents
Last Updated: 3 October 2013
Introduction
The need to identify the license for open source software is critical for both reporting purposes and license compliance. However, determining the license can be difficult due to a lack of information or ambiguous information. Even when licensing information is present, a lack of consistent notation for providing license information can make automating the task of license detection very difficult, thus requiring vast amounts of human effort.
Meta Tagging is a proposal by the SPDX Work-group to use short license identifiers from the SPDX License List to indicate license info at the file level. The advantages of doing this are numerous but include:
- It is precise, there is no ambiguity due to variations in license header text.
- It is language neutral.
- It is easy to machine process.
- It is concise
- Leads to code that is easier to read.
- The license travels with the file (as sometimes not entire projects are used or license files are removed).
- It is simple and can be used without much cost in interpreted environments like java Script, etc.,.
- It is a standard and can be universal. There is no need for all the variation.
- The license list for SPDX is immutable and will never change.
- It provides simple guidance for developer's who want to make sure the license for their code is respected.
History
Although discussed by SPDX for some time, with proposals by Windriver, the U-boot project was the first open source project to adopt (that we know about). This was the commit message by Wolfgang Denk the project maintainer:
Like many other projects, U-Boot has a tradition of including big blocks of License headers in all files. This not only blows up the source code with mostly redundant information, but also makes it very difficult to generate License Clearing Reports. 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 automatic processing a nightmare. To make this easier, such license headers in the source files will be replaced with a single line reference to Unique Lincense Identifiers as defined by the Linux Foundation's SPDX project [1]. For example, in a source file the full "GPL v2.0 or later" header text will be replaced by a single line: SPDX-License-Identifier: GPL-2.0+
Meta Tags
The following Meta Tags are available for use.
SPDX-License-Identifier
This tag declares the license the file is under.
Tag: SPDX-License-Identifier: <SPDX Short License Name>
Example:
What to do if your license is not on the list?
Text for conjunctive and disjunctive licenses.
Examples
Entity | Link / Notes |
---|---|
U-boot | [1]Using SPDX-License-Identifier in place of a license header in source. |
Proposing New Meta Tags
To propose a new Meta Tag, send your proposal to the SPDX Technical Workgroup using their mailing list.