谈开源精神:给一个舞台,我们一起改变社会

jopen 10年前

谈开源精神:给一个舞台,我们一起改变社会

        COSCUP ‘14 开源人年会 2014 于上周末在中研院举办,会中除了介绍当前一些开源的技术以外,也讨论了开源开放的精神。

        对于非技术出身的读者来说,第一次听到开源这个名词或许会觉得非常陌生,或者产生一种想法: 噢!开源就是它它在玩的东西啊!就大家写写代码自 High 一下,正常人不必知道啦!

        「开源」是一种精神

        的确,开源在一开始是为了对抗大公司的技术专利所产生。但开源是一种精神并不是软件,利用开放的精神,将其所拥有的技术开放给其他人使用而不收 取金钱,而演进成为一种合作开发的模式,在电脑科学的领域被广泛运用。也因此,平常我们所认知的开源产品,大多是属于技术性的。但随着开源精神的推广,慢 慢的也出现非技术导向的产品像是:

  1. Wikipedia:Wikipedia 是现代人获取知识相当重要的来源之一,相信在这一点上可以不用多解释。
  2. g0v:如果对于 g0v 觉得陌生,您或许对 「 Democracy at 4 am 」这个在太阳花学运期间,以全英文向国外播放台湾究竟发生了什么事情的网站有所了解。g0v 在 4am.tw 的成立上也占有一席之地。其内部的专案也是以开源的精神来执行,其中包含共笔,以及程式的部分。

        其它开源的例子包含了最近特斯拉开放专利,以及中国开发者 9 天完成 Swift 翻译中文版都是大家较为熟悉的例子。

        开源的特性,可以以「星星之火,可以燎原」一句话来比喻。一个好的点子,一个好的平台,我们就可以发挥与贡献自己的力量为社会作出贡献。因为其公开的特性,以及迅速聚集群众的力量,开源的精神往往可以在很短的时间内做到一个人所做不到的事情。

        开源的方式

        说了这么多开源精神的好处,如果我有一个想法,那该怎么利用开源的方式将其实现?有什么是该注意的地方?在 COSCUP ‘14 的会中有些演讲提及了这些概念如下:

  1. 明确的目标
  2. 明确的定义任务
  3. 明确的定义规则

        上述三点其实非常的直觉。首先要聚集众人的力量,得有个明确的主题。以维基百科而言,他的主题就是:

The free encyclopedia that anyone can edit. ( 所有人都可以编辑的免费百科全书 )

        假设有了主题之后,如果没有明确的任务规划那怎么知道我们需要哪些方面的人才?又或者聚集了一堆人却没有人知道自己该做些什么。因此我们需要明确的定义任务。

        再来,人多了,意见也多了。如果没有规则,整个产品就会因为缺乏中心思想或格式而杂乱无章。举例而言,假设我们在编辑维基百科时,有一位作者坚 持全部要使用粗体,若没有相关规定来规范的话这不是会让整个作品看起来很奇怪吗?又或者说,假设我要利用开源的精神一起写一份关于如何学习程式语言的心 得,但是中间有作者决定要加一段台湾与中国之间的统独议题,这跟我的题目有什么关系?因此,在进行开源的计划的时候,必须要能够制定规则与管理。

        如何开源?

        那究竟该用什么平台来进行开源的计划?在这里笔者介绍一个开源平台,你也可以使用它来建立属于自己的开源计划,像是开发代码或者平台写作等。这 个平台称为 GitHub 是一个分散式的版本管理系统,它的好处在于很好的版本控制,以及分支系统。它可以建立不同的分支,分别代表不同的主题,而参与者可以在分支上工作之后经过 管理员的认可就可以把他开发的部分汇流回主干。而且如果有什么地方出了错,它可以回到先前的版本。除此之外,还可以建立『 Issue 』,有人提出了哪里有问题,可以设立 『 Issue 』,开放计划参与者解决。关于使用说明的部分,大家可以参考这里。

        至于使用它的方式我们可以参考一个简单的例子:中国开发者翻译 Swift 语言中文版

参与翻译的网友首先需要在 GitHub 专案上认领章节,认领成功便可开始翻译。在某章翻译完成后,管理者将翻译完成的内容合并起来,通过 Gitbook 转换成在线页面并更新到 GitHub。

        开源即免费?

        的确,以一个使用者的角度而言,开源对我们是非常的方便。因为我们可以免费的使用开源的计划中所开放部分的成果。但对于其他想要建立一个开源计划的人,往往会因为认为其无法收取权利金而认定开源计划是一个无法从事商业行为的活动。关于这点其实并不完全正确。

        我们以开放源码软件( Open Source Software )来举例。其实你或许不知道,开放源码软件定义的起源其实是希望这类软件可以顺利商业化。若软件经过了开放源码促进会的审核通过后,便可以标明这个服务标 章,消费者反而会因为开放源码软件的特性而提高购买的兴趣。

        国外的大公司如 Google、Red Hat 与 Rackspace 都有以开放源码软件成功获利的商业模式的例子。以 Rackspace 举例,其所提供的云端运算服务,就是以开放源码软件 OpenStack 为基础,但以服务为其盈利模式。

        除此之外,开放源码软件还有其他的盈利应用模式,注如:嵌入式硬体贩售模式以及双重授权模式2。

        结语

        其实对于个体创作者而言,开源的平台 GitHub 会记载着每一个参与者的贡献度。你所作过的努力并不会白费。以软件工程师为例,其实在找工作的时候,参加过开发开放源码软件的经验,绝对是让你大大加分!