Introducing RDF for GNU Licenses
This provides a great new tool that developers can use to raise awareness about the free software license they use for their work, and that users can use to find the software they're looking for. Here I'll go over the technical details of how it works, and then explain how developers can use and benefit from it.
A Way-Too-Brief Overview of RDF
The Resource Description Framework, or RDF for short, is a data model for metadata. You're probably already familiar with metadata from your music library. Many popular audio formats like Ogg Vorbis and FLAC let people store metadata about the song in the file: what the song's title is, who wrote the song, who performed it, and so on. These formats generally have their own specialized method of saving metadata directly inside the audio file. RDF, however, offers a general framework for providing metadata about anything.
Because it's so flexible, RDF doesn't have any built-in vocabulary. By itself, it doesn't know how to say that Beethoven wrote his Symphony No. 9; people who want to use RDF to indicate this have to define a vocabulary that describes the relationship themselves. For a long time, Creative Commons has published such a vocabulary for licenses, and used it to offer RDF metadata for the Creative Commons licenses. This metadata briefly describes what the license allows the licensee to do, and what major conditions it places on a licensee. This is not a complete description—or even a thorough summary—of the license's terms, and it's not intended to be. Instead, it's simply meant to highlight the license terms that people are most likely to care about when they're looking for work that they can incorporate into their own projects.
We've used Creative Commons' vocabulary as much as possible to describe our own licenses. The couple of additional terms we needed have been added to their documentation. Thanks to this, it should be very easy for software that works with Creative Commons' license metadata in some way to also handle ours. It's theoretically possible that some of this software can work with the new GNU license metadata without being changed at all.
How To Take Advantage Of This
If you've published a work under one of the GNU licenses, the easiest way to get the most benefit from this metadata is to put a clear license link on your project's web page. Here's an example of how to do this:
Foobar is free software; you can redistribute it and/or modify it under the terms of the <a href="http://www.gnu.org/licenses/gpl.html" rel="license">GNU General Public License</a> as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Of course, you should adapt this text as appropriate for your project. There are two key points to bear in mind when you provide the link:
Make sure you include the
rel="license"attribute in your license link. Software that crawls the web looking to associate works with specific licenses looks for a link like this first and foremost. This will ensure that they pair your project with the right license.
If you want to link to a specific version of one of our licenses, please be sure to use one of our stable license links.
Links like this will set the stage for people to develop tools that use all this metadata to provide useful information to others. In the future, someone who's working on an LGPL-covered library will be able to search for other LGPL-covered code all over the web that can help make the job easier. Or a writer who wants to make documentation for a program will be able to search for a manual published under the FDL that they can use as a starting point. The possibilities are endless, but first we need authors and developers to publish this information. Next time you update your project's web site, make sure it has a license link like this—then you'll be ready when new tools arrive to make use of it.