在我的文章 “Supplement Creative Commons with open standards” 中(请参见 参考资料)介绍了关于专有 Digital Rights Management (DRM)技术的一些问题,并提出了一些解决方案。还介绍了在选择一个许可时,您应该考虑到的许可和作品署名。我给出了一个跨浏览器菜单示例,这是有关消费者可选择的使用权标准、权限、约束和要求的菜单。
在本文中,我将告诉您如何使用 CC Rights Expression Language(ccREL)描述 Creative Commons(CC)许可,并向您展示 ccREL 的抽象模型和可用的许可类型。我还将给出一个应用程序示例,演示如何把 ccREL 集成到内容中。
Creative Commons 是传统版权(通常被指定为 “保留一些权利”)的一个替代方案。CC 许可的目的是对一个原创作品保留所有权和商业使用权的同时,允许一定程度的共享。例如,一个使用 Creative Commons 许可的音乐作品可以进行私自下载和聆听,但不可以进行再混音或者用于商业目的。然而,创作者也可以明确表明其作品可用于商业用途,甚至可进行再混音,从而创作新的作品。所有的使用权利都在许可中进行了详细说明。对于可以公开获取的创作性作品来说,这是一种消除使用范围不明确性的简单方法。
然而,Creative Commons 不仅仅适用于音乐。它还适用于图像、数据、应用程序代码,或者其他任何涉及版权的东西。
Resource Description Framework(RDF)项目主页(请参见 参考资料)指出,RDF “使用 XML 作为一种交换语法,集成了各种各样的应用程序,从库目录和世界级目录,到新闻、软件和内容的连锁和聚合,再到个人的音乐、相片和事件的集合。RDF 规范提供了一个轻量级本体(ontology)系统,用来支持在 Web 上互换知识。”
与 RDF 相配合的是 RDFa(Resource Description Framework -in- attributes),它在文档中被描述为 “一组 XHTML 属性,用来通过计算机可读的提示增强可视数据。我们将展示如何使用 RDFa 表达简单的和更为复杂的数据集,特别是在不重复内容的情况下,把现有的人类可见的文本和链接转变成计算机可读的数据。”
这对于 Creative Commons 来说是理想的,因为它提供了一种方法来将作品信息附加到作品本身。ccREL 是一个规范,描述如何使用 RDF 和 RDFa 描述许可信息,以及如何把许可信息附加到作品。和在 RDFa 中被编码一样,ccREL 元数据可以嵌入到各种类型的文件中。
XHTML 中的 RDFa 比 XML 语法中的 RDF 更为灵活。RDFa 为一个许可定义了两种类型的属性:作品属性和许可属性。作品属性描述特定作品的各个方面,而许可属性描述的是访客将在 Web 上看到的特定许可。
表 1 列出了作品属性并进行了描述。注意 dc 和 cc 是作品属性的前缀,用来表明规范的来源。我将在下一小节中讨论许可属性。
表 1. 作品属性
| 值 | 描述 | 注意 |
|---|---|---|
| cc:attributionName | 为作品添加属性时,指定要引用的名称。 | cc: 是 http://creativecommons.org/ns# 的缩写。 |
| cc:attributionURL | 分配属性时,指定 URL。 | NA |
| cc:deprecateOn | 许可失效日期。 | NA |
| dc:jurisdiction | 把许可和一个特定的合法权限相关联。 | NA |
| cc:legalCode | 给出许可的相应的合法文本。 | NA |
| cc:source | 关联原始来源和 URI。 | 与软件进行关联时,可以用来为其他类型的来源(如演示文稿)提供权限。 |
| cc:morePermissions | 指向一个 URL,给出除了在 CC 许可中已经指定的权限外的一些附加权限的信息。 | NA |
| cc:source | 关联原始资源和 URI。 | 与软件进行关联时,可以用来为其他类型的资源(如演示文稿)提供权限。 |
| dc:title | 指定文档标题。 | dc: 是在 http://purl.org/dc/elements/1.1/ 中定义的 Dublin Core 词汇的简写形式。 |
| dc:type | 把原始资源作为 URI 进行关联。 | dcmitype:文本和 dcmitype:MovingImage 是 DCMI Vocabulary 的一部分。 |
查看 ccREL 抽象模型,然后,把它转换成可被修改且符合需求的 Web 页面应用程序。
ccREL 抽象模型是以作品属性和许可属性为基础。您必须包含指定这两个属性的值的 RDF 三元组(triple)。这是在 blog 示例中的一个简单的抽象模型。
清单 1. 简单的抽象模型
@prefix xhtml: <http://www.w3.org/1999/xhml#> @prefix cc: <http://creativecommons.org/ns#> <http://JMyerson.org/blog/> xhtml:license <http://creativecommons.org/licenses/by/3.0/> <http://JMyerson.org/blog/> cc:attributionName "J Myerson" <http://JMyerson.org/blog/> cc:attributionURL <http:/jmyerson.org/> |
现在把模型转换成一个能够在 Web 页面应用程序中使用的表单。清单 2 给出了一个示例。
清单 2. Web 页面
<html xmlns="http://www.w3.org/1999/xhml#"
xmlns:cc="http://creativecommons.org/ns#">
<head>
<title>Judith Myerson's Stuff</title>
</head>
<body>
<div about"">
This page, by
<a property="cc:attributionName" rel="cc:attributionURL" href="http://jmyerson.org/">
Judith Myerson
</a>,
is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/">
CC Attribution License
</a>.
</div>
</body>
</html>
|
Creative Commons 力求简易,即使不是律师也能够理解。ccREL 表示也努力实现简单易懂。对属性进行了详细说明,即使是非技术人员也能够轻易识别。表 2 显示的是许可属性。
表 2. 许可属性
| 值 | 描述 |
|---|---|
| cc:license | 对作品颁发许可。 注意:dc:license 的一个子属性,与 xhtml:license 相同。 |
| cc:permits | 允许将作品应用于除默认的版权法以外的特定用途。 |
| cc:prohibits | 禁止作品的某个特定用途。 |
| cc:requires | 要求用户在享用给定的权限的时候,执行某些特定动作。 |
权限详细地说明了一个作品可以用来做什么。每个权限都能单独行使或者结合起来行使。如果您没有指定一个权限,那么,将应用所有的权限。表 3 显示了 cc:permits 的值。工具可以使用这些值,然后根据创建者的意愿自动应用它们,而无需专有的 DRM 协议。
表 3. cc:permits 的值
| 值 | 描述 |
|---|---|
| cc:DerivativeWorks | 准备作品的派生。 |
| cc:Distribution | 重新发行作品。 |
| cc:Reproduction | 以各种形式复制作品。 |
一个 CC-licensed 作品的某些用途有特定的要求,由 cc:requires 属性表示。表 4 显示了它可能的一些值。在 Creative Commons Web 站点上对这些要求的完整说明进行了描述(请参见 参考资料)。表 4 显示了 cc:requires 的有效的 ccREL 值。通常来说,所有的 CC 作品都要求注明其创建者。
表 4. cc:requires 的值
| 值 | 描述 |
|---|---|
| cc:Attribution | 注明相应的创建者。 |
| cc:Notice | 提供管理作品的许可说明。 |
| cc:ShareAlike | 重新发行该作品的派生作品时,使用相同的许可。 |
| cc:SourceCode | 重新发行该作品时,提供源代码(通常用于软件)。 |
禁例涵盖了您不能 对一个作品所做的事情。例如,在撰写本文时,cc:prohibits 惟一的有效值是 cc:CommericialUse,意味着该作品将不可以用于商业目的。然而,为了秉承 Creative Commons 的可扩展精神,将来可能会有其他的禁例,这是因为被许可的作品的本质和它们的用途都在改变。
现在看看由 Creative Commons 提供的许可类型以及它们对创作性作品的影响。表 5 概括了各种不同的许可和它们的属性。在这个表中,“Y” 表示使用了限制。“na” 表示没有使用限制。这些代码很容易记住,而且您能够即时了解可以做些什么。
表 5. 许可类型
| 许可 | 署名 | 非商业性使用 | 禁止演绎 | 相同方式共享 |
|---|---|---|---|---|
| by | Y | na | na | na |
| by-sa | Y | na | na | Y |
| by-nc | Y | Y | na | na |
| by-nc-sa | Y | Y | na | Y |
| by-nc-nd | Y | Y | Y | na |
| by-nd | Y | na | Y | na |
作为一个作品的创建者,在持有所有权的同时,您允许别人复制和转载您的作品。Creative Commons 总是要求注明作品的创建者 — 他或她的名字以及 URL 分配属性。除此以外,人们对作品的使用由具体的许可类型决定。
您可以指定作品可被使用,但是不能进行修改或者用于商业目的。只要人们注明您为原创者,那么就允许他们进行任意目的的修改和转载。还可以要求对作品的派生物使用与原版一样的条款。这提供了很大的灵活性,在保持作品可用的同时还能保留创建者的目的。
下面给出了两个许可类型示例,清单中的内容说明了如何在 ccREL 中表示那些权利。
Attribution Share-Alike v3.0 CC 许可指出,只要按照作者或者许可方的要求设定作品归属,就能够复制、转载、展示、执行作品,以及再混合作品。如果您要修改、改变或者在该作品上进行创作,您在转载结果作品时,只能使用同样的或类似的许可。
清单 3 显示的是描述许可的语法。
清单 3. Attribution Share-Alike v3.0 CC 许可
@prefix cc: http://creativecommons.org/ns# <http://creativecommons.org/licenses/by-sa/3.0/> cc:permits cc:Reproduction ; cc:permits cc:Distribution ; cc:permits cc:DerivativeWorks ; cc:requires cc:Attribution ; cc:requires cc:ShareAlike ; cc:requires cc:Notice |
署名 非商业性使用 禁止演绎 lv 3.0 CC 许可指出,只要按照作者或者许可方的要求设定作品归属,就能够复制、转载、展示、执行作品。不可以把作品用于商业目的。不能修改、改变或者在该作品上进行创作。
清单 4. Attribution Noncommercial No Derivate Works v3.0 CC 许可
@prefix cc http://creativecommons.org/ns# <http://creativecommons.org/licenses/by-nc-nd/3.0/> cc:permits cc:Reproduction cc:permits cc:Distribution cc:requires cc:Attribution cc:requires cc:Notice cc:prohibits cc:CommercialUse |
如您所见,一旦熟悉了 Creative Commons 术语,这些许可的表示就显得具有逻辑性而且简单易懂。
如果您不熟悉 CC 许可的用法,可以使用 License Your Work 向导。
要获得入门,请访问 Creative Commons 的主页(请参见 参考资料),然后单击可用选项中的 License 链接。向导程序将询问是否允许把作品用于商业目的和进行修改。如果同意修改,您可以决定是否允许他人共享作品。您需要指定许可的权限范围。
如果愿意,可以给予用户一些附加信息,如作品的格式、作品的标题、创建者的名字、URL 分配属性、源作品,以及更多的权限。完成后,单击 Select a License 按钮。这将把您引向一个显示所选许可的详细信息的页面。如果不满意的话,您总是能够返回并更改选择,然后再单击按钮查看结果。
一旦对许可满意后,单击一个许可的图片,将显示访客所能看到的效果。然后,复制 HTML 文本,并且把代码添加到定制的 Web 页面的核心部位,这样访客就能知道您的作品所使用的许可了。
尽管由许可生成的 HTML 代码比 XML 语法中的 RDF 版本更容易修改,但它并不美观。我改变了代码,使其更容易读懂,如清单 5 所示。
我去掉了同一源代码中多余的 xmlns,并且在 HTML 标记中去掉了惟一的 xmlns。确定了与一个特定的 bibliographic: topic 相关联的代码块,并且给日历源代码添加了引用。要查看区别,请用向导生成、复制代码,并与这个示例进行比较。表 6 显示的是我使用的值。
表 6. 用于 CC 许可向导的值
| 属性 | 值 |
|---|---|
| 允许把您的作品用于商业用途? | 否 |
| 允许对您的作品进行修改? | 否 |
| 适用范围 | 美国 |
| 作品形式 | 文本 |
| 作品标题 | RFID in the Supply Chain |
| 作者名字 | Judith Myerson |
| 作品 URL | |
| 源作品 URL | www.source.com |
| 更多权限 URL | www.morepermissions.com |
清单 5. 自定义 HTML 代码
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:biblio="http://examplebook.org" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://www.w3.org/2002/12/cal/ical#" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <head> <title>Judith M. Myerson's Stuff</title> </head> <body> <p typeof="biblio:RFID"> <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/us/"> <img alt="CC License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-nd/3.0/us/88x31.png" ></a><br /> <span href="http://purl.org/dc/dcmitype/Text" property="dc:title" rel="dc:type">RFID in the Supply Chain</span>by <a href="www.ibm.com" property="cc:attributionName" rel="cc:attributionURL">Judith Myerson</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/us/"> CC Attribution-Noncommercial-No Derivative Works 3.0 United States License</a>. <br />Based on a work at <a href="www.source.com" rel="dc:source">www.source.com</a>.<br/> Permissions beyond the scope of this license may be available at <a href="www.morepermissions.com" rel="cc:morePermissions">www.morepermissions.com</a> <a rel="cc:legalcode" href="http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode"/> Legal Code</a> <br/> <span property="cal:dtstart" content="2008-11-16T16:00:00-05:00" datatype="xsd:dateTime"> November 16, 2008 at 4:00 PM </span> </p>. </p> </body> </html> |
由于这是常规的 HTML,因此可以在代码中添加样式表。要测试许可代码的话,请单击许可图标按钮或者单击许可标题,便可获得有关许可应用的信息。
看一下使用压缩格式的示例的 RDF 版本。向导不会生成 RDF 代码。您必须从一个基础的 RDF 定义开始,然后定制它来满足您的需求。可以在 Creative Commons Web 站点通过相应的 URL 来获取基础定义。在我们的例子中,由于许可是 by-nc-nd ,所以使用了 URL http://creativecommons.org/licenses/by-nc-nd/3.0/rdf。如果我想要一个不同的许可,我会修改 URL 以匹配许可类型,如 as by-sa。
您收到的代码包含了使用许多语言翻译的标题。为了保持简洁,我把它们删除了。保留所有版本的标题译文不是绝对必要的,但由于您的信息是放在 Web 上的,因此,访问可能会来自世界各地。您也要确保每个人都能够看懂。
<Work> 部分是手动添加到许可中的,而且也添加了作品的特定属性。尽管过程有点麻烦,一旦熟悉了这个模式,整个流程就能够自动处理。
清单 6. RDF/XML
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:cc='http://creativecommons.org/ns#'
xmlns:foaf='http://xmlns.com/foaf/0.1/'
xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xmlns:dc='http://purl.org/dc/elements/1.1/'
xmlns:dcq='http://purl.org/dc/terms/'
>
<Work>
<dc:format>text/html</dc:format>
<dc:title>RFID in the Supply Chain</dc:title>
<cc:attributionName>Judith Meyerson</cc:attributionName>
<cc:morePermissions>www.morepermissions.com</cc:morePermissions>
<cc:source>www.source.com</cc:source>
<cc:source>www.source.com</cc:source>
<cc:License rdf:about="http://creativecommons.org/licenses/by-nc-nd/3.0/">
<dcq:hasVersion>3.0</dcq:hasVersion>
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
<cc:licenseClass rdf:resource="http://creativecommons.org/license/"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Notice"/>
<cc:legalcode
rdf:resource="http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode"/>
<foaf:logo rdf:resource="http://i.creativecommons.org/l/by-nc-nd/3.0/88x31.png"/>
<foaf:logo rdf:resource="http://i.creativecommons.org/l/by-nc-nd/3.0/80x15.png"/>
<dc:identifier>by-nc-nd</dc:identifier>
<dc:title xml:lang="en">Attribution-NonCommercial-NoDerivs</dc:title>
<cc:prohibits rdf:resource="http://creativecommons.org/ns#CommercialUse"/>
<dc:creator rdf:resource="http://creativecommons.org"/>
<dc:jurisdiction>us</dc:jurisdiction>
</cc:License>
</Work>
</rdf:RDF>
|
当您要把数据和应用程序应用到 Mashups、Cloud,以及所有其他未来无法预见的用途时,考虑使用 Creative Commons 来阐明相应的共享和使用。使用这些技巧把信息嵌入到内容中,以便在基础设施演变时,工具能够自动找到并遵守您的信息权限。
- 阅读上一篇文章,“Supplement Creative Commons with open standards”。
- 请参见 w3c 站点中的 Resource Description Framework(RDF)项目主页。
- 在 CC 主页 中进一步了解 Creative Commons。
- 请阅读在 W3C Web 站点中的 RDFa Primer。
- 阅读更多关于 ccREL: The Creative Commons Rights Expression Language(pdf)和 RDFa in XHTML: Syntax and Processing 的信息。
- developerWorks Web 开发专区 提供了大量用于 Web 2.0 开发的工具和信息。
- 使用 My developerWorks 个性化您的 developerWorks 体验。