|
GitHub:打造民主数据库 |
明升体育app家正转向软件开发网站共享数据和代码 |
|
图片来源:project twins
当西非埃博拉疫情在2014年7月加速来袭时,Caitlin Rivers开始收集关于受感染人群的数据。当时还是计算流行病学专业博士生的Rivers想建立疫情扩散模型。为此,她会每天下载PDF格式的更新数据,并且将数字转换成计算机可读的表格。这些数据由遭到埃博拉病毒重创的各国卫生部发布。不过,Rivers并未将这些文档据为己有,而是把它们发布到GitHub.com上。这是一个广受欢迎的网站,旨在就软件代码开展协同工作。Rivers觉得,发布的内容可能会吸引那些对埃博拉疫情最新信息感兴趣的人。“我想,如果我需要它,其他人也会。”
Rivers是对的。其他研究人员开始下载这些数据并为该项目作贡献。在某些日子,第三方会赶在Rivers前面下载并转换各国卫生部的数据,然后将其加载到GitHub存储库。其他人会创建程序脚本,从而对数据进行简单的错误检查,比如确保每天的患者数量是合理的。当开始该项目时,Rivers是美国弗吉尼亚理工学院暨州立大学的博士生,如今则是陆军公共卫生中心的流行病学家。
成立于2008年的GitHub目前拥有约1500万用户,并且正成为一个日益受欢迎的网站,以供研究人员共享、维护和更新明升体育app数据集以及代码。澳大利亚麦考瑞大学生态学博士后Daniel Falster表示,“当我们开始使用GitHub时,它简直让人称奇。现在,我们做每件事情时都会用到它。”Falster的生物质和异速生长数据库聚集了来自176项研究的关于植物大小的各项指标,并且被存放在GitHub上。“开放的明升m88之树”项目也是如此。其旨在汇编已发表的不同系统发育树,以建立一棵总的“明升m88之树”。该项目利用GitHub储存数据文档和发表记录,并且接收来自第三方的最新数据集。
目前已有足够多的网站致力于数据分享。不过,GitHub专门为透明、开放的合作而建,因为它利用版本控制软件追踪对代码或数据做出的每一个改变。这意味着大规模、分布式的程序员团队能在网络上共同开展一个项目,而用户可通过文件的版本记录进行实时回看,并在每个改变出现时,看到它是由谁以及处于何种目的做出的。程序员可复制存储库以试验新想法;有用的改变会被并入主项目,其他改变则被忽视或者随后被回滚。
例如,任何人都可以访问基于GitHub的“系外行星开放目录”,并且通过他们的浏览器提交新信息。这是一个关于太阳系外上千颗已知行星且在不断增大的数据库。和“开放的明升m88之树”一样,该项目的主网站在其URL地址中并未出现github.com,因此临时访客不一定知道他们正在同版本控制软件进行互动。然而,对于更加复杂的用户来说,文档在GitHub存储库中是可以公开获取的。对文档进行的任何编辑都会通知包括加拿大多伦多大学天体物理学家Hanno Rein在内的项目开发者,以便回顾建议作出的改变。Rein表示,和静态的系外行星在线目录相比,GitHub创造了“一种更加民主的方式”,因为任何用户都可以提出修改意见,甚至能根据他们自己的规范“量身定制”数据集版本。约有100人复制了该项目的存储库,而Rein智能手机上复制了同一数据库的应用程序“系外行星”已吸引了约1000万次的下载量。
GitHub依靠的软件工具被称为Git。2005年,Git由编码员Linus Torvalds创建,旨在管理开源操作系统Linux的开发。Linux是一个涉及上千名独立程序员的大型项目。“Git被用于对源代码进行精细的逐行监控。”GitHub项目经理Arfon Smith介绍说,虽然它不是唯一可用的版本控制软件,却是最流行的软件之一。
数据共享是开放明升体育app的核心要求,而研究人员能在他们希望的任何地方共享数据集。培训研究人员使用数据的非营利性机构——“数据木工”执行董事Tracy Teal表示,即便不使用GitHub.com,明升体育app家也应当考虑利用Git或者类似工具记录对数据集和数据处理脚本做出的改变。而对学习使用Git和GitHub感兴趣的研究人员可借助很多网络资源:和GitHub 一样,Codecademy提供免费的交互式教程。科研计算技巧网站——“软件木工”创始人Greg Wilson则在今年1月合著了一本操作手册。同时,很多程序员和生物信息学家在使用Git,因此他们可以总是被寻求帮助。
虽然有很多其他工具存在,但Git和GitHub在明升体育app家中拥有一个忠诚的粉丝群。开放的明升m88之树”项目成员、加州大学默塞德分校进化生物学家Emily Jane McTavish表示,它们是必不可少的资源。“如果没有它们,我不知道该怎么活下去。”(宗华编译)
更多阅读