Network Working Group J. Snell Request for Comments: 4946 July 2007 Category: Experimental Atom License Extension Status of This Memo This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract This memo defines an extension to the Atom Syndication Format for describing licenses associated with Atom feeds and entries. Table of Contents 1. Introduction ....................................................2 1.1. Notational Conventions .....................................2 1.2. Terminology ................................................2 2. The "license" Link Relation .....................................3 2.1. Unspecified License Links ..................................3 2.2. Comparing License Links ....................................3 2.3. Example ....................................................3 2.4. Inherited Licenses .........................................4 2.5. Relationship with the atom:rights Element ..................4 3. Security Considerations .........................................5 4. IANA Considerations .............................................5 5. Normative References ............................................5 Appendix A. Acknowledgements ......................................7 Snell Experimental [Page 1] RFC 4946 Atom License Extension July 2007 1. Introduction This document defines an extension to the Atom Syndication Format that can be used to add links to Atom feed or entry documents referencing resources that describe the explicit rights that have been granted to consumers of those documents. Describing licenses using the mechanisms defined in this specification is currently considered to be largely experimental. While it is a common practice for feed publishers to associate licenses with syndicated content, there are still very few feed consumers that utilize such metadata, and the effectiveness of doing so is still largely unknown. As it is not yet certain how these mechanisms will be used, implementations and feedback are encouraged. 1.1. Notational Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, [RFC2119]. 1.2. Terminology The term "link relation" refers to the value of the Atom link elements rel attribute as defined in Section 4.2.7.2 of [RFC4287]. The term "license" refers to a potentially machine-readable description of explicit rights that have been granted to consumers of an Atom feed or entry. Rights granted by a license may be associated with obligations that must be assumed by those exercising those rights. Atom allows the use of Internationalized Resource Identifiers (IRIs) [RFC3987]. Every URI [RFC3986] is also an IRI, so a URI may be used wherever below an IRI is named. When an IRI that is not also a URI is given for dereferencing, it MUST be mapped to a URI using the steps in Section 3.1 of [RFC3987]. Atom allows the use of the xml:base attribute [W3C.REC-xmlbase- 20010627] to establish the base URI (or IRI) used to resolve any relative references as described in Section 5.1.1 of [RFC3986]. Atom allows the use of the xml:lang attribute to indicate the natural language of an element, its attributes, and its descendents. The language context is only significant for elements and attributes declared to be "Language-Sensitive" as described in [RFC4287]. The title attribute of the atom:link element is defined as being Language-Sensitive. Snell Experimental [Page 2] RFC 4946 Atom License Extension July 2007 2. The "license" Link Relation The "license" link relation can be used to associate licenses with a feed or entry. Feed and entry elements MAY contain any number of "license" link relations but MUST NOT contain more than one with the same combination of href and type attribute values. The IRI specified by the link's href attribute SHOULD be dereferenceable to return a representation of the license. The license representation MAY be machine readable. Feeds and entries can be dual-licensed by including multiple "license" link relations specifying different href attribute values. If multiple "license" link relations are specified, each SHOULD contain a title attribute specifying a human-readable label for the license. 2.1. Unspecified License Links A publisher can use an "unspecified license link" (a "license" link relation with an href attribute value equal to "http://purl.org/atompub/license#unspecified") to indicate that a feed or license has not been explicitly linked to a license description. A feed or entry containing an unspecified license link MUST NOT contain any other "license" link relations. 2.2. Comparing License Links Atom implementations that are capable of supporting "license" links SHOULD use the simple string-comparison method described in [RFC3987], Section 5.3.1, to determine whether multiple "license" links are equivalent. The other comparison methods discussed in Section 5.1 of the IRI specification MAY be used. If the "license" link is specified using a relative reference, it MUST be converted to its fully qualified form before comparison. 2.3. Example http://www.example.com/myfeed My Example Feed 2005-07-28T12:00:00Z Snell Experimental [Page 3] RFC 4946 Atom License Extension July 2007 Copyright (c) 2005. Some rights reserved. This feed is licensed under a Creative Commons Attribute-NonCommercial Use License. It contains material originally published by Jane Smith at http://www.example.com/entries/1 under the Creative Commons Attribute License. James tag:entries.org,2005:1 Atom Powered Robots Run Amok 2005-06-28T12:00:00Z Atom Powered Robots Run Amok Jane Smith 2.4. Inherited Licenses "License" links specified within atom:feed or atom:source elements are inherited by entries. Generally, a more specific license overrides a less specific license. More specifically, if an atom:entry has any "license" link relations, including the "undefined" license, it does not inherit any license from a containing atom:feed element or contained atom:source element. If an entry has no "license" link relations, and contains an atom:source element, it inherits licenses from the atom:source. If the atom:source element contains no "license" links, or if the entry does not have an atom:source element, the entry inherits licenses from the containing atom:feed. An entry's license MAY be inherited by media resources associated with the entry. Some media types have ways of including license information, which always overrides the entry's licensing. An agent searching to find entries that fall under a specific license (e.g. a search for entries containing pictures and the word "knitting" where the entry is under any Creative Commons license) MUST check the most granular license definition available, rather than assume license inheritance without checking. 2.5. Relationship with the atom:rights Element "License" link relations are related to the atom:rights element in that both are intended to communicate information about the rights Snell Experimental [Page 4] RFC 4946 Atom License Extension July 2007 associated with an Atom document. Where the two differ, however, is in the fact that atom:rights is intended strictly as a human- readable assertion of rights held over a work while the "license" link relation is intended to provide a potentially machine-readable description of what rights have been granted to others. The two constructs may overlap one another and conflicts could arise if they are contradictory. It is important that publishers of Atom documents ensure that the atom:rights and "license" link relations are consistent with one another. If an atom:entry that does not contain an atom:source is copied from one feed into another feed, then if the feed into which it is copied contains a license, an atom:source element SHOULD be added to the copied entry. If a source feed contains a license, that license SHOULD be preserved in an atom:source element added to any entries copied from the source feed that do not already contain atom:source elements. 3. Security Considerations When "license" link relations are used in Atom documents, the security considerations specified in [RFC4287] Section 8 apply. 4. IANA Considerations This specification defines one new Atom link relation type to be registered in the IANA Registry of Link Relations as defined by [RFC4287]. Attribute Value: license Description: Specifies the IRI of a license associated with the containing feed, entry, or source element. Expected display characteristics: None Security considerations: When "license" link relations are used in Atom documents, the security considerations for handling links in Atom documents apply. 5. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005. [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource Identifiers (IRIs)", RFC 3987, January 2005. Snell Experimental [Page 5] RFC 4946 Atom License Extension July 2007 [RFC4287] Nottingham, M., Ed., and R. Sayre, Ed., "The Atom Syndication Format", RFC 4287, December 2005. [W3C.REC-xmlbase-20010627] Marsh, J., "XML Base", World Wide Web Consortium Recommendation REC-xmlbase-20010627, June 2001, . Snell Experimental [Page 6] RFC 4946 Atom License Extension July 2007 Appendix A. Acknowledgements The author gratefully acknowledges the feedback from Mike Linksvayer, Robin Cover, Lisa Dusseault, Bjorn Hohrmann, Frank Ellermann, and the members of Atom Publishing Format and Protocol working group during the development of this specification. Author's Address James M Snell EMail: jasnell@gmail.com URI: http://www.snellspace.com Snell Experimental [Page 7] RFC 4946 Atom License Extension July 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Snell Experimental [Page 8]