The great thing about Creative Commons is that it will generate the licensing code you want for your image to copy and paste into your website. If you use the HELP OTHERS ATTRIBUTE TO YOU! option and add additional information about your image, the license will generate additional code using RDFa. Below is a very brief and overly simplistic explanation of what all that gobbledygook means in case you were curious. See the RDFa link above for more detailed information.
RDF (Resource Description Framework) is a way to encode information on the Semantic Web (e.g. to tell computers that a particular use of the word VIKING refers to the Mars lander or a high end stove or a Norse Seafarer).
RDF does this by using subject - predicate - object statements, known as Triples. For example, I have the Book Version Control by Dexter Palmer. One triple statement is BOOK - (has) AUTHOR - (named) DEXTER PALMER. In addition I have another triple statement for the same book BOOK - (has) TITLE - (of) VERSION CONTROL. The subject is BOOK and I am making the statements that author = DEXTER PALMER and title = VERSION CONTROL.
Depending on what we want as our subject, we can also form triples of DEXTER PALMER - (is) AUTHOR - (of) VERSION CONTROL along with subject DEXTER PALMER (is) AUTHOR - (of) THE DREAM OF PERPETUAL MOTION.
RDFa is the way to encode triples into xhmtl. I have the following statement I want to make about licensing my image:
<That photo> <is licensed under> <a Creative Commons Attribution license>.
This looks fine at first glance, but someone can read this and ask, what do you mean it's Licensed? Who is Creative Commons? What is an Attribution License? What does the Creative Commons Attribution license say I can do with this photo? How do I find out? We need to define all of these terms, so that people will understand how we are using them.
Instead of having to explain all the meanings and ways you are using these words on your site, RDFa links to all the terms and their definitions at already standardized vocabularies and schemas (or sets of rules) where users will be able to get more information. For example, this helps clarify what you might mean by Photographer or Fotógrafo or Creator or Contributor or however you decide to refer to yourself. Your users can then determine what those terms mean in the context you are using them.
Here is a little snippet of the Creative Commons RDFa code for a license
1: <span xmlns:dc="http://purl.org/dc/elements/1.1/">
2: href="http://purl.org/dc/dcmitype/Text" property="dc:title" rel="dc:type">
Line 1: It says to the user: Some of the terms I am using are following the Dublin Core (DC) element definitions (version 1.1) put together by the Dublin Core Metadata Initiative (purl.org) found at this address. Dublin Core is a standardized set of metadata elements for the web - or descriptors that describe information about information. There are many other metadata schemas and they are often mixed and matched depending on user needs.
Since we don't want to have to type all of our definitions and URLs out every time we use a Dublin Core element, we are going to abbreviate it from now on as DC in our document (i.e. when you see dc: go to this website to look up the terms to understand how I am using them). The xmlns is saying we are taking some of our vocabulary from somewhere outside this website, which we call a namespace (ns). Some of the Dublin Core elements will be used in our document and we'll let you know by prefacing them with DC. You can refer to multiple namespaces in a single document depending on what you are encoding.
Short version: We are using some Elements from Dublin Core v 1.1, found at this URL. Those elements will be prefaced with the abbreviation dc.
2: href="http://purl.org/dc/dcmitype/Text" property="dc:title" rel="dc:type">
Line 2: Here is a link to the Dublin Core Element TEXT ("A resource consisting primarily of words for reading") that we are using to define our object (you can read up on how the Dublin Core Metadata Initiative defines those terms and their use by going to the url supplied.) To describe our object which is a TEXT we are also using the property TITLE which is the name we are going to give our Text. When you see in my document dc:title that means I am using the Dublin Core definition of TITLE. I may be using the term title in other ways in other parts of my document, it's only when prefaced with dc that I am using it with the Dublin Core definition.
I'm also using the term TYPE as my relationship or value, which describes the "nature or format" of the object. Here it is defined as TEXT (other TYPEs are Software, Sound, Still Image, Moving Image, Dataset etc.). So my object has a TYPE, or format, which is defined as TEXT (granted it looks a little backwards here but that's how it works.)
Short version: In particular we are using the Dublin Core TEXT element, which is one of many TYPEs. To describe our TEXT we will be using the element TITLE. These terms are being used as they are defined by Dublin Core.
3: Now that I've told you how I am using the terms TITLE and TYPE, here is the object am talking about: RDFa FAQ. So my object that has a TYPE (format) which is TEXT, yet defined: It could be a website, book, article, or letter for all we know, but is made up of words according to the DC definition of TEXT. This text has a TITLE whose property is RDFa FAQ, or in other words for this particular text, TITLE = RDFa FAQ.
Short version: Now that I've told you I'm describing a Text (as defined by Dublin Core), here is the TITLE (as defined by Dublin Core): RDFa FAQ.
In short, RDFa is a way for you to say you are using a specific Creative Commons license for your image, while defining what you mean by Image or Photo or Creator and License and Creative Commons, providing links for your users to everything. It sounds like a lot of legalese, which is basically what it is. To make sure no one can misinterpret what you mean.
RDFa is one way (of many) to encode meaning into the stuff that is put up on the web. Adding an additional layer of meaning to information found on the web is referred to as The Semantic Web, which has been defined as:
If you've been frustrated by your search results when trying to find something on the internet, you can start to understand what the semantic web is trying to do: Add additional information about text and media to make it easier for humans and machines to find what they want to find and exclude results they are not interested in.
Search for VIKING and your results list will be a jumble of hits for Norse seafarers, high end appliances and NASA's Mars rover. This term has multiple meanings and our browser does not know how we are using it. Of course, we can easily refine our results by adding an additional keyword such as MARS or NORSE or STOVES to get the results we want.
Perhaps you are researching the holidays and type Christmas into your browser of choice. As far as the computer is concerned, you are looking for the letter C, followed by the letter H, followed by the letter R... and so forth. The string of characters that make up the word Christmas have no meaning to your computer. It will return results for that particular set of letters, but not results for Xmas, 12/25, December 25, Jul, or even tomorrow for something posted on December 24th. Most people realize these words refer to the same thing, but your computer cannot make that connection by itself. The semantic web would add a layer of information to all these terms to encode them as the Christian holiday known as Christmas that occurs on December 25th. This would allow a computer to understand they all refer to the same thing and return more relevant results.
This is a very general idea of what the semantic web is trying to do. For more information, check out the W3C website below.