Machine tags (MachineTag) are just standard tag with extra information to extend the information in the tag. They are called machine tags because there are often use by program to get extra information from the tagged work.
Looking for a standard way to express the licensing of a specific work, I'm trying to summarize the potential way to do it with machine tags. I also keeping a list of MachineTag I use in various application like del.icio.us. In this page, you can also find a list of the license predicate I use.
dc:rights="public domain"
Dublin Core specifies the rights with the following (http://dublincore.org/documents/dces/) :
Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights.
That's clearly free form and not easy for a machine to parse. The problem is that could be also expressed in various language (e.g. public domain or "le domaine public"). The translated value could also lead to misunderstanding on the legal side too. For example, public domain and "domaine public" have not the same meaning in US and in some EU countries. Of course, if the author is aware, he could use a more "parse able" form :
dc:rights="gpl"
or a less "parse able" form :
dc:rights="GNU General Public License version 2"
That's already an issue but the parsing problem is a minor stuff compared to the potential interpretation. When "gpl" is used as a value ? does it mean GNU General Public License version 2 only or GNU General Public License version 2 or higher ? for the second is only the version 2 or the author forget about the version ?
To use the "dc:" it looks nice but it's very broad and can lead to interpretation. For licensing, that's not really good to have unclear classification.
Looking the practice on del.icio.us, there are many way to tag the license. There are already some users using license: namespace with various predicate (without value). Some are just using a tag representing the license (e.g. the ones defined by the creative commons).
license:gpl
Simply creating a fixed list of predicate for the licenses would help to better classify and apply license to specific work. Here is a small list :
predicate | license | predicate synonym |
---|---|---|
gpl | GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version (ref: http://www.gnu.org/licenses/gpl-2.0.html). | |
gpl-2 | GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version (ref: http://www.gnu.org/licenses/gpl-2.0.html). | |
gpl-2-only | GNU General Public License as published by the Free Software Foundation; version 2 of the License (ref: http://www.gnu.org/licenses/gpl-2.0.html). | |
gpl-3 | GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version (ref:http://www.gnu.org/licenses/gpl-3.0.html). | |
agpl | GNU GNU Affero General Public License (ref:http://www.gnu.org/licenses/agpl-3.0.html). | affero |
lgpl | GNU Lesser General Public Licensed as published by the Free Software Foundation (ref:http://www.gnu.org/licenses/lgpl.html). | |
art-libre | License Art Libre (ref:http://artlibre.org/) (latest version - 1.3 at the current date / 4/11/2007) | |
isc | ISC License (ref:http://en.wikipedia.org/wiki/ISC_licence) | |
cc-by-nc | Attribution-Noncommercial 2.0 Generic (ref:http://creativecommons.org/licenses/by-nc/2.0/) | by-nc |
beerware | A "free" (to be confirmed) software license similar to license:isc (ref:http://people.freebsd.org/~phk/) | |
artistic | A free software license - (ref:http://dev.perl.org/licenses/artistic.html) | |
perl | A meta machine tag containing license:gpl or license:artistic | |
ofl | Open Font License (ref:http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL) |
Read the table before, pick your predicate… and start to tag on your favorite social web service (from del.icio.us to flickr).
license:gpl
If you want to tag the license document itself, you can add the value "self".
licence:gpl=self
Is the term predicate correct ? Yes and no, but who cares ? if it works.
For a good introduction : http://www.flickr.com/groups/api/discuss/72157594497877875/