有的时候,我们很难分清楚协作分工的过程,也是技术工程进步的过程,在互联网出现之前的软件编码协作,是存在着物理限制的,大型机系统、介质交换、运行的费用等等都是实质上的限制。我们不能用历史后来者的思考模式来对那么所处年代的协作进行批判,而是要学习即使在那样的环境下,我们的计算机先驱们仍然在竭尽全力的去进行协作。追溯历史的细节,我们总能发现惊喜,哪怕是一个名词的引用,Copyleft 的首先使用的人,并没有想到这个词汇具有如此巨大的用途,就像Open Source的首次提出一样,也不会想到这会成为一种社会现象,成为信息产业的支柱性的一部分,再次感慨一下文化的力量,人类虚构的能力!杨紫琼女士因为其在电影《他妈的多元宇宙》中获得了奥斯卡最佳女主角的殊荣,并为不被定义代言,让人振奋不已。但终究是个人的特殊经历,这部电影确实非常的不错,我们可以无数次幻想、演绎个体的各种经历,但是只能选择当下的生活。对于一些朋友好奇的看法,我大约只能满足他们对于自身的想法,而要放弃解释自己所谓的最真实的情况。人类对于抽象的符号、标志是需要形成共识的,就开源这个名词而言,是高度抽象的技术下的产物,设计分工、工程、规则、秩序、交换、分配、社会构建等等诸多内容,那么有一小波人联合起来起草一份文件,似乎是极为重要的,否则不过是一盘散沙,形不成势力,而是各自用力,各自行走。创建开源世界,从定义开源开始。将人群区分出来,是商业的必经之路,总是有人愿意购买,无论是商品、服务、理念、承诺,开源项目所形成的能够有效解决问题的知识财产抽象物品,软件作者按照自己的意愿和理解,不同的使用者授予不同的许可,一切都是理所当然、合情合理的。将文章凑成书,是需要努力的,不然就是乱七八糟,不知所谓的信息罢了。开源本身的文化固然可贵,但是这毕竟是现代社会中极少数的一个群体采用了一种看似可以的方法,从人数的占比,以及在现代社会中所起到的作用来看,显得微不足道,当我们面对探索太空、破解基因、利用RNA、气候变化等更大的难题的时候才会发现,开源是镶嵌于其中的,而文化不过是众多文化中一种罢了,不是计算机革命,根本就不显山不露水。我们无法脱离计算机程序而大谈特谈开放源代码,至少不应该偏离太远,正如『开源之道』主创适兕经常举的例子一样,用文言文到白话文的比喻,也是和语言有关。我们的这个大章节是讨论关于程序开发的协作的,万变不离其宗,或许我们需要转换完全不同的视角来看这个。我们很难画出一条明确的界线,某年某月某日,基于电子邮件的开源协作诞生了,人们只是朴素的认为当什么什么出现了,是不是可以将正在做着的事情更加简化的使用,基于电子邮件的协作其实恰好是因为作者们住的比较远,又时间对不上,索性就用起来了,尽管有各种各样的来回沟通,但是却打开了一个全新的协作世界。理解自下而上,没有比Apache 软件基金会更好的例子了,从治理的角度讲,这是一个优绩制堪称完美的演化,从8+3的小组,发展为如今几千人的开发者团队,掌控着互联网半壁江山的运行,而所遵守的Apache之道也不过寥寥数语,为道日损也不过如此。围绕一类技术的发明和创造可以发展出一批相关的人群,我们耳熟能详的创客、极客,就是如此,这类人群在历史上总是能找到自己的位置,从建筑工程到制造工具,计算机也不能例外,自从发明以来,就有一群有一群的工程师不断的形成各自的风格和文化,以及坚守的价值观、伦理,其中对后世发展至关重要的一类叫做 Hack 文化,这类人叫做Hacker,做的事叫 Happy Hacking。在知识之树上,社会和文化是枝叶繁茂的重要表现,文化究竟对于社会发展和个体的完善发挥着何等定量的作用,数学家面对此一筹莫展,只有经济学家说文化至关重要。就开源而言,如果能够把它背后的文化抽离,它还能剩下什么?它还是开源吗?这才是值得回答的一个问题。开源的许可,是镶嵌在整个信息产业下的知识财产权之中的,如果不能了解正式的关于版权、专利、商标等立法的,那么也就无从了解开源许可的意义,当然就更加无法理解风险是什么?为什么会出现兼容性问题,每个许可要解决的问题是什么,或者说为什么不把他们放在公有领域。笔者还是在这里给读者简单梳理一下关于软件及其服务的知识财产相关的立法情况。古人教我们不要走极端,凡事有个平衡之道,专利的作用是保护创新,但是过度保护就是阻碍,在 ICT 领域专利之争从电报/电话时代就开始了,这并非一片净土,而是你死我活的法律之争,开源共同体如果学不会,又可能出现悲剧,面临巨额罚款,甚至牢狱之灾,都是有可能的。但是,也没有必要因噎废食,拒绝它或恐惧它,社会问题就通过社会创新来解决它。logo、商标、品牌都是劳动成果被大众识别的重要符号表征,塑造现代世界的重要特征之一,尤其是全球化的资本主义崛起,以可口可乐、麦当劳为标识,开源项目概莫能外,为非专业人士呈现的时候,俨然是一种象征,开源世界得以矗立的基石,被世人所识别的重要符号,但是无底线的分享也会被投机者利用,又该如何保护?不让公地悲剧上演,是人类社会重要的、积极主动的、解决问题的举措,开源的代码不仅可用,而且有利于进一步的创新,那么这些有用处的项目可持续的发展至关重要,开源是政府、民间团体、立法等组织与机构努力想办法去推动发展的,而不是等待让坏的、悲催的事情发生。Linux基金会的诞生和发展不仅证明了开源项目的可持续发展,而且还是共同利益的重要表率。终于到了该总结一下的时候了,在追溯了十几篇开源许可的演化,在软件市场的大的背景下,步履蹒跚的不断更新和发展着,让笔者产生无限感慨,人真是奇迹,在促进社会的发展不遗余力地努力推动。从积极自由的角度而言,我们必须去争取开源的发展,而不是被动的等待,等来的只有毁灭。当然,许可是一种保护和促进,但同时也是限制和保守,应该审时度势,务实地解决问题。能解决问题是商业的重要因素,相比大部分人能解决别人解决不了的问题,竞争优势就有了,那么采取点市场的策略,运营上用点心,营利并不是件困难的事情,作为第一家采用自由软件(开源的概念尚无)的商业公司——Cygnus Solution 做到了,而且开辟了全新的领域,并以Hacker式的方式碾压竞争对手,在上世纪90年代,这仍然可以称得上一个奇迹。法官如何思考?这是著名的法学家和大法官波斯纳写的一本书,面对此起彼伏的开源许可,背后是市场的繁荣和利益的争夺,从更大的视角看是法律经济秩序的正常局面,因为软件的作者有权利处理自己的作品,不过是要兼容更多的社会因素:法律、政治、利益分配等,开源许可该往何处走?历史告诉我们尚无定论。技术从来就没有停止过发展,由技术形成的市场也在不断的扩展,GPLv2许可在一些新的领域无法做到软件自由,比如智能终端、更多许可的兼容性等等,已经是乏力,这意味着无法促进项目和共同体的发展了,那么就需要求变,变化就意味着有人追随有人反对,这会带来分裂,那么是否能吸引到新生力量了呢?这也意味着一种创新的冒险。软件许可的发明和创建,和知识财产的其它方面是一个道理——保护创作者的权益,尤其是商业模式,Mozilla 公共许可是在各种紧迫的条件下所产生,有工程师自身的境遇思考,也有网络商业的法律不成熟,当然更有被强大的竞争对手利用霸权所欺负的愤怒和恐惧,更有甚者,是传统的律师参与了这个许可的创建,很明显了没有让步于开源共同体,而是更多的强调了公司自身的利益,预示着开源世界逐步被商业渗透扩大的开始。Apache 许可2.0 是目前开源世界中选择最多的许可,它有着非常多的平衡性,没有GPL的强势,也没有BSD/MIT的任性,承认现实世界的各方力量,从商标到专利,再到著作权,以优雅的方式赢得了众多开发者的信赖,有人说Apache许可超过了Apache基金会的功劳,或许有点夸张,但是有其不可替代的重要作用。接下来我们就回顾一下这份许可创建的路径。知识财产法律可以重塑市场,书、音乐、艺术作品都是通过这个方式来实现的,软件也不例外,在个人电脑发起革命式的市场之下,著作权再一次起到了重要的作用,软件供应商不断的建立保护自身的机制,从技术实现到加密,再到强制的合同签署,商业建立壁垒,就是立法的过程。回顾人类的历史,关于知识财产方面的内容:版权、专利、商标等都不过是近代以来的事情,很多经济学家都把工业革命的成功其中一个要素就是知识财产的保护是激励发展的重要原因之一,但是并不是一蹴而就的,笔者以有限的知识,回顾一下软件出现之前的有关知识财产方面的内容,不如说是一幕幕的斗争戏。不知道从什么时候起,一提到道德、伦理等话题,大家都会刻意的避讳,尤其是谈论开源的时候,有一部分会非常理直气壮的自己是为了赚钱才去违反许可和规范的,也就是说为了钱做些偷鸡摸狗的小事没什么,可这种恰恰是让开源无法发展和持续的隐形杀手,我们谈开源而避开文化,其实已经和开源无关了。所以,谈开源,不就是在谈文化吗?对于软件这个新事物而言,在和硬件割舍的过程中,出现了大胆的叛逆者,指出了其中不合理的地方,虽然在商业中的许可仍然是像商业公司那样签订合同的方式来售卖,但是我们能够在重大事件中,看到其中的矛盾和冲突,也预示着未来的商机,以及最后针对最终用户许可同意书EULA的出现打好了伏笔。人性是脆弱而贪婪的,人类社会通过文化和制度来约束人性,任由人性的肆意妄为,造成历史的悲剧数不胜数。开源的起源是从个体的意愿出发,希望大家共同完成一个伟大的能解决实际问题的项目,但是如何保障最后的成果?个体又该如何保障自身的生活来源?俗语云‘活人不会被尿憋死’,总是有办法的,社会创新乃良策也!巴斯夏写过一本书叫《看得见和看不见的》,我们可以在开源世界中看到任何想看到的,但是对于自身的知识是要具备的:计算机、编程、协作、共同体、商业、法律许可、上下游、产业经济、财务核算、个体动机、社会氛围等等,如果我们不能掌握任何一项知识,去理解「开源之史」无疑都是不够全面的。高等院校收取许可这类事,不是Gopher始作俑者,NCSA也不是最后一个,但是凑巧的是它们都和万维网有关,万维网的开放,与实现软件的开源,造就了如今的web,也与其当初的选择许可有关,置于公共领域的开源项目极少,但是却至关重要。不过我们可以思考,假如当年的万维网采用了商业授权,能走到今天吗?我们还需要搜索引擎吗?要提出自己的主张,当认为自己受到了不公,就要站出来反抗,用实际行动证明自己的期望,GPL的被发明和创造,并不是天才一下子想到的,而是一位意志坚定的普通人,遭受了不公平的待遇,破坏了自己所热爱的共同体生活,不过是选择了软件自由的方式来捍卫自己的尊严和主张罢了,GPL威胁到了谁?历史赋予它公正的评价了吗?Rules,without it,we will live with anmials. [1]开源的发展得益于人类社会坚实的契约基础,以及商业信誉这样驱动人类发展的品质,我们追溯开源的历史,毋宁说回溯几代人寻找共同的契约,然后遵守并维护它,这才是重要的基石,我们很难想象一片混乱的抄袭、抢夺、碾压式的世界能够发展出开源这等人类奇迹。软件发展的初期,看起来是极为混乱的,当最后的黑客失望的看到共同体的衰落之时,处于这个共同体的人却选择了继承和发扬科学的精神,仍然让一些项目延续,并选择了和时代同时进步的方式来声明自己的作品,保持学术传统,保持开放和共享,保持最大化受众享用。起源,是解释任何事物的重要源头,作为一名现代数字人,每天都会和各式各样的软件打交道,但是除了同意之外别无选择,那么究竟同意了什么?动不动几十万字的法律文本肯定是看不了了,但是最原始最简单的文本,我们还是应该了解一下的。伟大的卢梭说「人生而自由,却无往不在枷锁之中。」软件亦是如此,为共享和协作而生的代码,最终被各种势力所禁锢,也有人不断的试图向挣脱,于是一场场残酷的斗争上演了,尽管不是暴力那样的流血,但是紧张和压迫却让人有点透不过气来,除非能够跳出来做个旁观者。无论我们是否意识到,一个群体中的习惯表现在日常中的行为、语言和交流方式之中,开源作为一种社会现象,有其独特的方式,尽管具体到每个项目的共同体中会有不同的表现,但是总是能够找出他们相似的地方,比如基于互联网,坚持源代码开放等等,那么从文化的角度看它也经历了相当的演变过程,尤其是随着其项目产生的经济和社会作用之后的扩展,在全球的不同地方,遭遇了不同的困境。我们需要日常,因为我们只能通过日常来理解世界,想要理解开源,需要一些更为贴近生活的类比,于是笔者使出九牛二虎之力尽最大努力为读者呈现出和开源一样被无视,但重要的观念、技术、技巧、制度等,只希望读者可以切身感受到开源的力量,假如它迸发,我们是否承受得住?人类最伟大之处便是能够协作,而大规模的协作均是通过政治、经济等力量来完成,而完全的基于互联网的全球技术协作,则目前为止只有开源项目实现了,从GNU到Linux再到Kubernetes、Apache等无数的成千上万人协作的成果,这是人类历史上最伟大的奇迹,当我们感慨万里长城和金字塔的古人劳动之时,也不妨仔细的看看数字时代的基础设施建设:供全球人享用的伟大协作。在创作发现开源三部曲当中,无论如何都会追溯一个事情:项目、共同体、开发者、基金会、商业公司等等,那么开源本身的历史却仍然无从下手,此去经年终于发现: