「开放数据」简介

什么是开放数据?

“开放数据是可以被任何人自由与免费使用、重用、以及重发布的数据。唯一可能的限制便是要求你署名和以相同授权方式分发” OpenDefinition.org

开放知识定义对于「开放」数据和内容给出了详细的定义. 主要特性如下:

可访问并获取: 数据应当能够被完整获取,并且所需的花费应当不超过合理的重制费用 (较好的方案是提供免费的网络下载)。数据本身必须使用方便使用和修改的数据格式。

可重用和重发布: 应当允许对数据的修改和演绎, 特别是要允许与其他数据的聚合,并且修改和演绎后的数据应当被允许重新发布。数据应当提供在 机器可读格式下.

使用无限制: 对于数据的用途应当没有限制,并且不同的组织和个人(无论政治立场、文化背景、种族、社会阶层有何种差异)都应当有权使用、重用、重发布这些数据。传统授权协议中的「非商业」就无法保证开放性,因其限制了商业性的使用。

更多请参见完整版的「开放知识定义」

Open Data: How We Got Here, and Where We’re Going.From the LIFT 2012 conference.

有哪些数据可以开放?

Types of Data

Geodata Culture Science Financial Statistics Climate Environment Transport

地理位置数据

用于制作地图的数据:可以绘制路面,建筑,乃至拓扑和边界

文化类数据

关于文化、艺术类作品的数据,比如标题和作者等通常都由博物馆、画廊、图书馆以及档案馆搜集和管理

科学数据

科研过程中生成的数据

经济类数据

政府开支数据和金融市场数据(比如股票等)

统计类数据

由统计部门产出的数据例如人口普查以及社会经济指标类数据

气象数据

用于研究和认识天气和气象的数据

环境类数据

与自然环境有关的数据以及与空气、水等污染状况有关的数据

交通数据

交通路线、时刻表和统计类数据

为何要开放数据?

为何要开放数据?这个问题的答案肯定要基于数据的不同类型来谈论。但是,有几条理由是无论哪种类型的数据都适用的:

透明化. 在一个良好运作的社会,公民应当能够了解他们政府在做些什么。为此,公民应当能够自由且免费地访问政府的数据和信息并与其他民众共享这些资讯。透明化不止关乎是否能够访问信息,它还关乎着分享和重用这些资讯的权利。这是因为,只有数据足够开放,无论是技术上还是法律上,才能使人们得以自由地进行分析和利用这些资讯。

释放社会价值和经济价值. 在数字时代,数据无疑是社会活动和经济活动的重要资源。无论是找到你附近的邮局还是建立一个搜索引擎都需要数据,然而很大一部分数据资源都是又政府创建和掌控的。因此,通过开放数据,政府可以激活社会创新,鼓励新的创新产品和服务,从而释放数据的社会价值和经济价值

参与和互动 – 很多时候民众与政府都没有太多互动,唯一有的机会可能也就是仅仅参与选举等等。但通过开放数据,民众得以更为直接地了解政策制定的资讯甚至直接参与政策的制定。而这已经超越透明化,而使得我们的社会得以成为可读亦可写的模式。公民不在仅仅被动接受讯息知道社会上发生什么,而且可以通过利用数据来向社会、政府直接作出自己的贡献。

 

如何开放数据

如果你向深入了解具体的开放数据建议和实践方案,我们建议你阅读「开放数据手册」。这本手册里我们详细谈论了开放数据过程中涉及到的法律、社会、技术三个层面的问题。这里我们提供你一些简单的建议来帮助你起步。

三条关键原则

我们推荐你在开放数据时遵循这三条关键原则

  • 尽量保持简单 从小规模的数据开始,做到快速、简单的数据开放。要知道,每人要求你立刻开放所有数据。你大可以从一个数据集开始,甚至是某个数据集的一小部分开始实验数据开放。当然,如果你能开放更多数据,自然是好的。但要知道,不要过于追求完美,你越早开放数据,你越有机会看到它如何激活创新;不要害怕失败,更不要期待每一个数据集都能创造效益,从失败中学习经验,不断改善你的数据开放策略才是正途。
  • 尽早且频繁地让他人参与 尽早且频繁地让现有的或潜在的用户使用或再利用那些数据,不管他们是普通民众,还是商人或是开发者。这将会确保你的服务能在下次迭代中变得更为有用。你有必要记得大部分数据不是直接服务于最终用户的,而往往是通过「信息中介商」。这群人将数据变形或者重新整合后再展现给用户。例如,大部分人并不需要大量的GPS座标数据而更期望一张地图。因此,让那些「信息中介商」先参与进来。这样他们能够开始重利用那些数据。
  • 回应常见的担忧和误解. 这一点在和大型组织(例如政府)的合作中尤为重要。当你把数据开放后,你会碰到许多问题和担忧。这就使得找出其中最关键的问题并且尽早回应他们成为关键。

 

 

 

四个基本步骤

这里四条步骤并没有严格的顺序可言,而且往往你可能要在它们之中反反复复数次。

  • 选取数据集: 选取一个你想开放的数据集。记住当你在之后遇到问题的话,你可以(或者说也需要)回到这一步骤重新选择数据集。
  • 选取一个开放许可协议
    1. 确定数据的知识产权。
    2. 应用一个合适的开放协议来确保这些权利以及遵循「开放知识定义」
    3. 注意:如果你无法选取一个合适的协议,那么就退回到第一步重新选取一个数据集。
  • 使得数据可获取: 将数据提供在可用的、可整批获取的格式下。或者,你可以考虑提供一个API。
  • 使得数据可发现: 将数据发布到网上或者建立一个中央化额数据目录来列举你所有的开放数据集。

 

 

常见问题 – FAQs

 

「开放数据」v.s.「公开数据」

我们常常会将这两个概念搞混。要知道,「公开数据」是一个较宽泛的概念,泛指一切公开的数据。何谓公开的数据呢?比如,最新的人口普查数据是公开的,工商注册数据是公开的。但这些数据严格来说目前还称不上开放数据。因为你要么无法免费获得该数据,要么该数据提供在非开放格式下(比如在纸质书籍上又或是在扫描的PDF文件里),要么是该数据不采用开放授权协议。因此「开放数据」可以理解为一种特殊的「公开数据」。 我们建议当您的组织机构在考虑做数据开放时,一定要区分清楚「开放数据」和「公开数据」,以避免机构内和机构外对该行动的误解。做到「公开数据」很简单,而做到「开放数据」则不易。

商业使用

在「开放知识定义」里最关键的一点便是允许开放数据要允许商业使用。即,开放数据,是不能限制商业应用的。 在完整的 「开放知识定义」里,这一点被详细些微「对任何领域的应用无差别对待:许可协议必须不限制任何人在任何领域使用作品。例如,许可协议不可以限制作品在商业或者遗传研究领域的使用。」 这一条款的主要意图在于禁止许可协议限制任何开放资料的商业化使用。我们希望商业化用户能够加入这个社区而不是被排除在外。

署名,完整性和以相同授权发布

开放数据一般不允许有任何附加限制,但有几个特例:

  • 署名: 开放数据发布者可以要求使用者在使用数据时必须署名(即你在使用数据时要说明是某某提供了该数据)。这一点确保了数据提供者能有足够动力去继续发布数据,同时也让终端用户了解到数据从何而来。
  • 完整性: 开放数据发布者可以要求使用者在修改数据后必须著名原始数据被修改了。这一点对于政府的数据尤为重要,从而能防止他人恶意修改数据而声称数据是官方数据。
  • 以相同授权发布: 开放数据发布者可以要求数据使用者以相同方式发布数据(比如数据被修改或者聚合了的话)。

机器可读和完整数据获取

数据可以被提供在不同格式下,而这将会极大影响到人们是否能轻易地使用它。「开放知识定义」因此要求开放数据必须采用机器可读的格式并且要提供完整的数据集下载。 所谓机器可读,是指计算机能轻易处理相应的数据。这不仅仅是指数据应当是数字化的,而且是指其数字化格式应当是适合相应处理工作的。比如,包含表格数据的PDF文档,虽然是数字化的,但是计算机却很难从其内提取信息(虽然有些PDF文档的数据已经可以通过某些工具提取,但并非所有PDF文件都可以被轻易提取数据)。但如果这些数据一开始就被提供在电子表格格式下(比如CSV),那么计算机可以很轻易理解其数据结构进而自动化地进行处理。 完整数据获取则是指数据能够被完整的下载或通过其他途径获得(比如烧录在光盘上的数据)。如果数据仅是提供在一个查询系统里,你每次只能通过搜索关键词得到一部分数据,却没有方法得到所有数据,那么这不能被认为是完整可获取的。

APIs v.s. 完整数据获取

将数据提供在一个 API 下是件好事,而且这通常对于开发者而言也很方便。但是我们这里要求完整数据获取,这有三点原因:

  • 完整数据获取可以让你自己建立起 API 但 API 访问并不意味着你完整获取了数据 (想想 Twitter,通过 API 你并不可能(或者很难很没效率)完整获取所有数据。因此完整数据获取确保了数据访问的完整性。
  • 提供完整数据获取其实比提供 API 成本更低。你今日可以以少于1美元/每月的价格存储1G的数据,但 API 的建立却要花费比这更多的钱,特别是当有许多人需要使用你的 API 时。
  • 完整数据获取确保了数据时刻都能访问,而 API 则不同,当数据提供者的服务器出现状况,那么所有依赖于该 API 的应用和服务都将瘫痪。

因此,API 并不是开放数据的强制条件,而完整数据获取却是一项要求。 再说到商业模型,开放数据的完整数据获取必须是免费的(或者有基本成本费,比如光盘材质损耗费),但 API 却允许收费(当且仅当完整数据获取被保证)。这一点很好理解,因为我们说过开放数据必须是免费的,但基于开放数据的服务是可以收费的,这样就是开放数据的商机所在。 说到这,你可能会问,如果我的数据是实时数据,随着时间不停更新(比如微博数据随着时间不停增多),那么如何保证完整数据获取呢?我们可以假设所有的历史数据都能够完整获取,然后更新部分通过一个固定的更新间隔来提供完整获取。 比如,微博可以提供20141月1日前所有的完整数据,然后每隔1天,释放一个增量更新包,来更新数据。

进一步阅读