License statements may be included in various synication formats, generally at the feed and item level, where the latter overrides the former.
Select examples of producers and consumers of license-annotated feeds being added, in progress.
Contents |
RSS 1.0
RSS 1.0 is an RDF+XML format for feeds. A module for licensing has been published. More information and examples are available here.
RSS 2.0
RSS 2.0 is a simplified feed format. A module for licensing has been published. More information and examples are available here.
Atom 1.0
The IETF has published RFC-4946 defining an extension to Atom 1.0 for specifying license information. See this page for examples and more information.
Human-visible notice
Some podcast players display the contents of a copyright element found in a feed. Example usage, not intended to be machine-parsable, customize for communication with human readers, but do include URL of the relevant CC license and most importantly URL where users can get back to your site:
- <copyright>All the songs in this podcast, and the podcast itself, are licensed to the public under http://creativecommons.org/licenses/by-nc-sa/1.0/ verify at http://magnatune.com/info/openmusic</copyright>
Licensed Content Discovery
Not all feeds include license metadata. In psuedocode, here are heuristics for discovering licensed content via feeds, perhaps useful in particular for aggregators.
function feedItemLicense(feedItem) {
# license found for feed item URL (e.g., rel="license")?
if (feedItem.license() != null) {
return feedItem.license();
}
# license found at feed top level?
if (feedItem.feed().license() != null) {
return feedItem.feed().license();
}
# no explicit license in feed, fetch feed item URL
# see http://wiki.creativecommons.org/Marking_works#Web
feedItemContent = httpGet(feedItem.itemURL());
if (parseLicenseFromHTML(feedItemContent) != null) {
return parseLicenseFromHTML(feedItemContent);
}
# no license found in content at feed item URL, fetch
# item referred to in enclosure if there is one,
# look for embedded metadata
# see http://wiki.creativecommons.org/Marking_works#Non-Web
if (feedItem.enclosure() != null) {
enclosureContent = httpGet(feedItem.enclosure());
return parseLicenseFromMedia(enclosureContent);
}
}
This is obviously just a sketch. Aggregators may wish to use different heuristics for different feeds. Different aggregators will want to be more or less aggressive -- e.g., many will not want to go through the step of downloading and attempting to parse enclosure content. See content curators for some sites with feeds of CC licensed content.
| Syndication | |
|---|---|
| Have an idea about this page? Want to help build the CC ecosystem? Check out the challenges related to Syndication, or add one of your own below. | |
| Open Challenges | |
| Completed Challenges | |
- About CC Wiki
- This page was last modified on 3 March 2008, at 23:30.