“自由”与“开源”的分歧
开源基金会的运作模式
开源许可证虽然多,但它们也都不是凭空诞生的,在它们的背后有着各种各样的基金会支持着,而这些许可证的条款的定义及法律解释权,也自然归这些基金会所有。
开源软件基金会(Open Software Foundation)是一类专门的非营利性组织,他们为支持开源软件项目而创建,遵循公开、透明、开放等理念,为开源项目的孵化提供技术、运营、法律等全方位支持和服务,致力于开源社区的建设,是开源软件成长发展的孵化器和加速器。
目前,开源基金会已经是整个软件生态中非常重要的一一份子,作为非营利性组织,它的运行主要依赖于志愿者的奉献和参与,软件项目也多来自于一些个人和公司机构的捐赠。各类基金会都遵循开放、合作和共享机制,从而让开源生态不断发展壮大,形成良性循环。
目前全世界范围内,已有几十家处于运作中的权威的开源基金会,例如大名鼎鼎的自由软件基金会(Free Software Foundation,FSF)、Apache软件基金会(Apache Software Foundation,ASF)、Linux基金会(Linux Foundation,LF)、Mozilla基金会(Mozilla Foundation,MF)、 (Eclipse Foundation,EF),以及中国的开放原子基金会(OpenAtom Foundation,OF)。
从运作模式上他们被划分为三个大类。
共同决策模式
在这一模式下,整个基金会由开源社区共同运营,如果出现分歧就以投票形式进行表决,这一模式下最典型的就是Apache软件基金会的运作。
他们倡导扁平化
管理,是否孵化项目,以及如何孵化由社区成员共同表决后决定,鼓励成员畅所欲言,自由发表意见:如果想做某件事,只要没有反对票或者反对票很少就可以开始干了。
即使有些项目孵化得并不理想或涉及到战略及法律风险,基金会也不会强制干预,仍然是投票表决。可以说,正是这种灵活性和良好健康的社区氛围,让Apache软件基金会得以孵化出自诞生以来几百个成功的开源软件项目,其中不少都是为业界所熟知的重量级开源项目,例如Tomcat、Maven、Dubbo、Spark、Hadoop、Kafka、Log4j、Solr、Storm、Zookeeper等。
仁慈的独裁者(Benevolent Dictator)模式
仁慈的独裁者
这一称号最初由(美国)全国研究创新联合会
的肯马·内梅尔
创造,因为当Python语言的创始人吉多·范罗苏姆在加入其中时,肯马·内梅尔
正试图创立一个监管Python语言开发的半正式团体,吉多·范罗苏姆就意外地获得了这一头衔
,并被称为终身仁慈独裁者(Benevolent Dictator For Life,简写BDFL)。
但是,终身仁慈独裁者与仁慈的独裁者(Benevolent Dictator)的含义并不一致,后者因埃里克·雷蒙的《开拓智域》(《Homesteading the Noosphere》)一文而广为人知。
埃里克·雷蒙在文中提到:开源软件运动的本质会促使‘独裁者’保持仁慈,否则巨大的分歧会导致项目被复刻并由新的领导所掌管
。
Linux基金会基金会借鉴了这一称呼,将他们的项目负责人称为仁慈的独裁者
。在这种模式下,由项目决策者,也就是项目负责人保持对整个项目生命周期的绝对控制,确定项目的发展方向,负责制定发展战略、方针,带领项目发展,并为此承担全部责任。即使是社区出现对开源项目质疑的声音,也不需要任何的正式或非正式调解流程,完全由项目负责人拍板决定如何处理。
公司主导模式
如果某个开源项目由一家软件公司主导、控制和资助,那么这就是开源项目的公司模式了,例如国内众多大厂都或多或少有自己的开源项目。
不管是哪种开源运作模式,都离不开各个社区中贡献者及志愿者的倾力支持,不然就纯粹是开了个玩笑。
开源基金会盘点
在知道了各种开源运作模式后,再来稍稍盘点一下那些颇为出名的开源基金会。
自由软件基金会(Free Software Foundation,成立于1985年)

1983
年,美国软件工程师Richard.M.Stallman(理查德·M·斯托曼)在麻省理工学院公开发起GNU计划(GNU Project,又译为革奴计划
),它的目标是创建一套完全自由(Free
)的操作系统。
两年之后的1985
年,Richard.M.Stallman创立了自由软件基金会来为GNU计划提供技术、法律以及财政上的支持。他也亲自挽起袖子,下场给GNU项目一口气编写了GNU Emacs、GNU GCC、GNU GDB和GNU Make这四个至今仍在使用的自由软件。

当GNU计划开始逐渐获得成功时,一些个人和商业公司开始介入开发,并给予技术支持,也逐渐演变为今天模样。
顺便说一句,自由
(Free
也有免费的意思)的不一定是廉价的,它有可能更贵。因为许多UNIX系统上也安装了GNU软件,而它的功能和质量比UNIX自带的商业化软件还要好,这些GNU工具还被广泛地移植到Windows和Mac OS上。

Apache软件基金会(Apache Software Foundation,成立于1999年)

Apache软件基金会于1999年3月成立,最初由Apache HTTP Server的一群开发爱好者组成(他们称自己为Apache Group
),他们通过Brian Behlendorf创建的邮件列表进行技术交流,后来逐渐演变成为一家非营利性组织,旨在支持各类开源软件项目的孵化、发展和运营。
迄今为止,Apache软件基金会所孵化和运营的开源项目数量,即使不是最多,但也绝对算是影响力最为巨大开源基金会之一的。
Linux基金会(Linux Foundation,成立于2000年)
Linux基金会始于2000
年的开放源代码发展实验室(Open Source Development Labs, OSDL),它与自由标准组织(Free Standard Group,FSG)合并后成为现在的组织。
Linux基金会赞助Linux的创始人Linus Torvalds和维护者Greg Kroah-Hartman的工作。
近年来,Linux基金会通过活动,培训和认证以及开源项目扩大了服务范围。
迄今为止,Linux基金会所孵化和运营的项目数量已有900个。

Mozilla基金会(Mozilla Foundation,成立于2003年)
1998
年,网景(Netscape)公司成立了Mozilla,通过它来协调Mozilla应用包(Mozilla Application Suite)的开发。
尽管Mozilla主要由网景公司的员工组成,但理论上它是独立于网景公司运作的。
当美国在线(America Online,AOL)收购网景并进行大规模裁员后,在2003
年成立了Mozilla基金会,其的目的是保证Mozilla可以在没有网景后能继续生存下去。
在最初阶段,Mozilla基金会开始涉及更广的领域,把以前网景公司的工作都拿来做了,并在之后推出了自己的商标和使用政策。
随着其子公司Mozilla的成立,Mozilla基金会逐渐把所有的软件开发和商业相关的活动都转移到子公司,而Mozilla公司也控制了其程序源代码库并且决定谁可以提交源代码入库。
Mozilla基金会现在只专注于制定管理开发政策、管理商标及知识产权,它把自己描述为一个致力于在互联网领域提供多样化选择和创新的公益组织
。
在Mozilla基金会所遵循的Mozilla宣言当中,其中列出了十条原则,涵盖认为对全民及商业活动有益的互联网发展重要方针。

Eclipse基金会(Eclipse Foundation,成立于2004年)
Eclipse最初是由IBM所开发的下一代IDE工具,被用来替代商业软件Visual Age for Java。
在2001
年的时候,IBM将它捐赠给了开源社区,从事Eclipse开源项目的第一批提交者都是IBM子公司Object Technology International(OTI)
的员工,这些提交者获得了在开源项目上的全职工作,回答有关新闻组的问题,解决错误并继续开发新功能。
之后,在Eclipse开源项目的基础上成立了一个由对它感兴趣的软件供应商所组成的联盟,称为Eclipse联盟
,其初始成员包括Borland、IBM、QNX Software Systems、Rational Software、RedHat和SuSE等公司。
2004
年,由Eclipse联盟
发起并成立了Eclipse基金会,继续管理和开发Eclipse项目,同时运营不断发展的社区。
迄今为止,Eclipse基金会所孵化和运营的项目数量已达400多个。

开放原子基金会(OpenAtom Foundation,成立于2020年)
开放原子基金会是中国内地首个开源领域的基金会,是一家非营利性的独立法人机构。基金会成立于2020年6月,为各类开源项目提供中立的知识产权托管、运营和品牌营销等服务,由国内的阿里巴巴、百度、华为、浪潮、奇虎360、腾讯、招商银行等企业联合发起。
截至2023
年,开放原子基金会已涵盖了包括OpenHarmony、XuperCore和AliOS Things等近50个孵化期和孵化筹备期项目。

“自由”与“开源”
在开源发展的早期,有两个词是存在着争议的,那就是Free
(自由,也有免费之意)和Open Source
(开源)。
1984
年Richard.M.Stallman通过GNU项目发起了自由软件运动,并随后建立了自由软件基金会。根据Richard.M.Stallman的定义,用户应该具有四种自由。
自由度0:无论用户出于何种目的,必须可以按照用户意愿,自由地使用该软件。
自由度1:用户可以自由地学习并修改该软件,以此来帮助用户完成用户自己的计算。但前提是用户必须可以访问到该软件的源代码。
自由度2:用户可以自由地分发该软件的拷贝,这样就可以助人。
自由度3:用户可以自由地分发该软件修改后的拷贝。借此,用户可以把改进后的软件分享给整个社区令他人也从中受益。作为前提,用户必须可以访问到该软件的源代码。
但需要明确的是,自由软件仍然是有著作权的,因为著作权是当某项作品完成时就自然产生了,不需要额外申请或注册。即使是在自由软件中,仍然会经常要求署名或维持相同的许可。
在自由软件基金会成立之后,一些对自由软件以及GNU/Linux感兴趣的人,打算用更符合市场口味的方式来介绍自由软件,以试图在商业世界中找到合适的利益点,减少沟通成本,这就导致了开放源代码
(Open source,简称开源
)这一称谓的产生。
1998
年,开放源代码促进会(Open Source Initiative,OSI)创立,这种试图以商业手法让自由
为之牟利的做法招致了Richard.M.Stallman的反感,并让FSF与OSI分道扬镳。
虽然OSI也致力于使得源代码可为用户所获得,但也有其他的目标。
自由地发布(Free Distribution)
:也就是允许获得源代码的人可以自由地将此源代码再原样发布出去。衍生品(Derived Works)
:让用户在修改源代码后,在遵守相同许可协议的情形下再散布。许可协议不得限制其他软件(License Must Not Restrict Other Software)
:当某一开源软件与其他非开源软件一起发布时(例如放在同一光盘),不得限制其他软件也要遵照开源的许可条件。
所以可以说,自由软件
和开源软件
其实是两个不完全相同的概念:自由软件的定义更严格,而开源软件的范畴则更广阔,因为符合自由标准的基本上也是开源的,但开源的就不一定是完全自由的,例如强著佐权的GPL许可证。
自由软件的兴起得益于黑客文化
,而开源软件则更为注重开放的开发方式和对原创作者的尊重、保护,这二者之间不存在孰优孰劣的问题:就像FSF不认可OSI的商业化,忽视用户的自由权利的现实主义观念;而OSI也不赞同FSF将道德强加于人的理想主义观念那样——对于大多数普通工程师来说,这完全是仁者见仁,智者见智的事情。
从某种程度上来说,FSF打开了开源世界的大门,而OSI和后续更多的开源基金会则从利益的角度出发,遵循人性和市场的规律,让开源
更符合现实世界的需要——其实对于广大开发者来说,这两者的重要程度是一样的。
感谢支持
更多内容,请移步《超级个体》。