转自 http://wulfric.me/2013/09/github-and-academy/

以 github 的精神提供学术服务,也许是一个不错的方向。

什么是 github?

Github 是编程项目的托管服务,在这里,既有老鸟的牛逼项目,也有新手的实验性项目。表面上,github 是项目的集合,本质上则是代码的集合。同时 github 也有社交功能,你可以关注某人/组织,也可以关注某个项目,但本质上,github 还是以代码为中心的。

学术论文撰写现状

现在学术论文的写作其实有很多需要改进的地方:

* 文章多是孤立分散的,虽然多数论文数据库都提供推荐功能,但推荐文章之间并不一定具有很强的联系性(比如,当跟进某课题组的项目时,需要查找所有该项目的文献,但推荐系统一般无法达成这一目的)。

* 文章发表之后才能看得到,看到文章的时候文章的撰写已经完成,不利于其他人参与。

* 很多数据库的论文的投稿和下载都需要收取不菲的费用,不利于知识共享。

* 文章无法为作者带来直接的利益。文章往往只会给作者带来间接的利益,但其实,文章也应该可以为作者带来直接的利益。

* 不同作者撰写文章的方法千差万别,互相之间交流困难。对于没有 MS Office 的读者,所见即所得的 MS Office 需要费时费力安装软件;对于不熟悉 tex 的读者,tex 又很难阅读。同时,虽然 MS Office 已有历史记录的功能,但这只是简化版的版本控制,无法进行比较、自由回溯等操作。

* 投稿不能做到格式无关。一篇文章的本质应该是由章节、公式、配图和参考文献等语义化组件组织起来的,不应该包含格式,但投稿的期刊、杂志、会议等都有不同的格式要求,增加了作者不必要的工作,甚至有写文章 20% 改格式 80% 时间的说法。

* 现有文献管理方式混乱而低效。现有的文献搜集方式是搜索-下载-归类放置,高级一点的则使用 endnote/jabref 等软件来管理。但这种方式需要维护所有的文献,万一一不小心删除了某篇文章找起来就会很麻烦,找到之后还要重复执行下载-归类的操作。

学术型 github 可以是什么样的呢

我们能不能更酷的组织文章的写作与管理呢?不妨看看学术型 github 可以是什么样子的。

学术型 github 本质上将会是文章的集合,它同样以项目为组织形式。同时也具有社交元素,你可以关注感兴趣的人、组织和机构。这样一来,文章不再是孤立的一篇一篇,而是属于某个项目中,方便了查找与阅读。除此之外,还可以参考 github 的 watch/关注、fork/派生、Pull Request/合并请求、issues/工单,方便其他人参与到项目中来。

秉持开放与自由的哲学。如同软件开发曾经由大公司主导一样,学术的学院派气息很重,普通人难以负担论文下载的费用,参与到学术中来困难重重。如果学术界也能有一股如同编程领域内开源社区的清风,取消投稿与下载收费,另谋商业模式,想来应该是一件功在千秋之事。另外,可以仿效开源软件的协议(license),定义文章的再使用权限。作者可以借助较为严格的商业协议获得直接利益。

撰写论文使用 markdown + pandoc。其优点为:

* 版本控制,回溯历史更加方便;

* 纯文本,便于比较不同版本的差别;

* 便于交流。这种书写方式可以实现语义与格式的分离,将格式和布局完全交给第三方。如同网页文件由 html 和 css 实现语义和布局的分离一样;

* markdown + pandoc 可以自由的转换为 tex 和 word。

传统文献管理是管理文章,维护的也是所有的文章,引用的时候也需要指出很多其实并不重要的内容(比如第几卷第几页,这在以前很重要,但在数字时代,并不需要根据这些信息来唯一的标识一篇文章)。学术型 github 的文献管理方式则是维护 ID 列表(比如 URL),每个 ID 唯一标识一篇文章,大大方便维护和管理,引用也更加方便。同时还易于添加社交属性,具有相同兴趣的研究者可以共享文献列表。

意义

一直以来,科学都是学院派的地盘,民科因缺乏完善的基础知识和异想天开一直被广为嘲讽。但在当今互联网大潮下,普通人对很多行业的参与度越来越高,各行各业无不经历或即将经历颠覆的浪潮。今天,名校公开课大行其道。也许,在能够自由获取文献和提交文章的未来,会是民间科学家的弄潮时代?既然传统的出版业已经渐渐萎缩,那么现在的那些牛气冲天的期刊杂志,会不会也有这样的一天呢?

[转]学术型 github 畅想的更多相关文章

  1. 如何快速完成一份学术型PPT

    大多人都知道有模板这么个东西. 但是拿到手却不会运用,所以只得急的找人帮忙. 毕竟一套模板的素材图表和你要展示的内容,很多都太不一样. 这种情况,怎么办?下面就来告诉你.   选中一套模版后,放大看看 ...

  2. GCD的深入理解

    GCD 深入理解(一) 本文由@nixzhu翻译至raywenderlich的<grand-central-dispatch-in-depth-part-1> 虽然 GCD 已经出现过一段 ...

  3. 如何自学Android

    看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫"师傅领进门修行靠个人",再厉害的老师能教你的东西都是很有限的,真正的修行还是要靠自己.博主本科是数学专业,虽研究 ...

  4. GCD 深入理解:第二部分

    在本系列的第一部分中,你已经学到超过你想像的关于并发.线程以及GCD 如何工作的知识.通过在初始化时利用 dispatch_once,你创建了一个线程安全的 PhotoManager 单例,而且你通过 ...

  5. GCD 深入理解

    GCD 深入理解(一) 虽然 GCD 已经出现过一段时间了,但不是每个人都明了其主要内容.这是可以理解的:并发一直很棘手,而 GCD 是基于 C 的 API ,它们就像一组尖锐的棱角戳进 Object ...

  6. 深入理解GCD ( 二 )

    转自@nixzhu的GitHub主页(译者:Riven.@nixzhu),原文<Grand Central Dispatch In-Depth: Part 2/2> 欢迎来到GCD深入理解 ...

  7. [iOS]深入理解GCD

    看到一篇很好的文章,本来想翻译的,但发现已经有人翻译了,遂简单整理了一下,方便阅读学习 新博客[wossoneri.com] 什么是GCD GCD(Grand Central Dispatch)是li ...

  8. jq 分页

    转自:https://www.cnblogs.com/wolflower/p/6898479.html参考:https://github.com/tianxiangbing/paging先引入这两个插 ...

  9. GCD 深入理解(二)

    转自@nixzhu的GitHub主页(译者:Riven.@nixzhu),原文<Grand Central Dispatch In-Depth: Part 2/2> 欢迎来到GCD深入理解 ...

随机推荐

  1. 1219 spring3 项目总结

    Spring3 项目总结 列志华 (组长) http://www.cnblogs.com/liezhihua/ 团队guihub https://github.com/LWHTF/OrderingFo ...

  2. arguments转换为数组格式

    var agArr = []; for(var i = 0; i < arguments.length; i++) { agArr.push(arguments[i]) }

  3. About Mysql 5.7 Installation

    After version of mysql 5.7, mysql increase its security level. CMD run as adminstratot cd c:/mysql/b ...

  4. rabbitmq 学习足迹

    http://www.cnblogs.com/me-sa/archive/2012/10/20/RabbitMQ_VHost_Exchanges_queues_bindings_and_Channel ...

  5. JAVA学习笔记(33-53)

    33:java中的多维数组,以二位为例: 创建方法:int[][] a = new int[2][3]; 建立一个5*5的数组. 或者下面的建立方法也可以: int[][] c = { {1, 2, ...

  6. 关于subGradent descent和Proximal gradient descent的迭代速度

    clc;clear; D=1000;N=10000;thre=10e-8;zeroRatio=0.6; X = randn(N,D); r=rand(1,D); r=sign(1-2*r).*(2+2 ...

  7. 怎样增强MyEclipse的代码自动提示功能

    步骤/方法 1 一 般在Eclipse ,MyEclipse代码里面,打个foreach,switch等 这些,是无法得到代码提示的(不信自己试试),其他的就更不用说了,而在Microsoft Vis ...

  8. Entity Framework技术导游系列 开篇 (转)

    在微软平台写程序有年头了,随着微软数据存取技术的持续演化,我在程序中先后使用过ODBC.DAO.ADO.ADO.NET.LINQ to SQL. Entity Framework这些技术. 近几年来, ...

  9. php生成json或者xml数据

    , ,'数据返回成功',$arr);echo $xml;?>

  10. easyui datagrid 没数据时显示滚动条的解决方法

    今天解决了一个bug,因为datagrid有多列,可是当没有数据的时候,后面的列无法通过滚动条拉动来显示,比较麻烦,而需求要求没有数据也要拉动滚动条查看后面有什么列,一开始在网上找了一些资料,发现都不 ...