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"

From SPDX Wiki
Jump to: navigation, search
(Introduction)
Line 16: Line 16:
 
* Its language neutral.
 
* Its language neutral.
 
* Its easy to machine process.
 
* Its easy to machine process.
* Leads to code that is easier to read (no messy headers to shift through).  
+
* Leads to code that is easier to read (no messy headers to sift through).  
 
* The license travels with the file.
 
* The license travels with the file.
 
* Its simple and can be used without much cost in interpreted environments like java Script, etc.,.
 
* Its simple and can be used without much cost in interpreted environments like java Script, etc.,.
 +
* Its a standard and can be universal. There is no need for all the variation.
  
 
== History ==  
 
== History ==  

Revision as of 19:48, 20 September 2013

SPDX Meta Tagging

20 September 2013: This is currently a DRAFT and work in progress.

Last Updated: 20 September 2013

Introduction

Meta Tagging is a proposal by the SPDX Work-group to use short license identifiers from the SPDX License List in place of software license headers. The advantages of doing this are numerous but include:

  • The license list for SPDX is immutable and will never change.
  • Its precise, there is no ambiguity due to variations in license header text.
  • Its language neutral.
  • Its easy to machine process.
  • Leads to code that is easier to read (no messy headers to sift through).
  • The license travels with the file.
  • Its simple and can be used without much cost in interpreted environments like java Script, etc.,.
  • Its a standard and can be universal. There is no need for all the variation.

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

Examples of Meta Tagging
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.