第一章开源的基本概念
人们常常使用“自由开源软件”这个统一概念:FLOSS(Free/LibreOpenSourceSoftware),但是开源与自由软件是从两个角度看待同一事物,开源侧重于技术层面,自由软件侧重于被许可的权利。人们在开发软件时,欲利用、移植或剪裁现有的开源、自由软件资源,这是允许的,但有一个制约条件,即人们不能违背开源、自由软件许可证的规定,中断或破坏被应用、移植或剪裁的开源、自由软件自由传播的特征(在自由传播时,自由软件许可证比开源许可证的规定更为严酷),也就是说,人们不可侵犯开源、自由软件的知识产权。
图1:开源许可证与自由软件许可证的区
今天,开源的发展比自由软件的发展更接地气、更蓬勃,普及度也更高。
1.1开源的定义和特征
1.1.1开源的定义
开源(OpenSource)一词于年2月3日由ChrisPeterson提出,“OpenSource”的概念出自当时著名的黑客社区Debian的社长BrucePerens起草的“DebianFreeSoftwareGuidelines"(DFSG)。
年2月下旬,EricRaymond和BrucePerens共同创立”OpenSourceInitiative“(OSI)。OSI承担的首要任务之一是起草开源定义(OSD),并使用它来开始创建OSI批准的许可证列表。
对确立”OpenSource"定义有决定意义的时间是年4月7日在美国加州PaloAlto由18位“自由软件运动领袖”召开的FreeWare高层会议,通过了传播开源的必要性。会议由TimOReilly主持,BrianBehlendorf(Apache创始人之一),GuidovanRossum(Python创始人)、LarryAugustin(SourceForge创始人)、EricRaymond(著名记者、OSI首届主席)、MichaelTiemann(后来任OSI主席、RedHatCTO)、Jon"maddog"Hall(后来任LPI主席)等参加,LinusTorvald(Linux创始人)在当日未及参加18任会议,他在次日闻讯后支持这次会议,并给予OpenSource非常重要的版权许可说明。
随着时代的变迁,开源的定义内涵也在不断演进。目前的共识是:开源是促进信息技术创新的重要途经,是将源代码、设计文档或其他创作内容开放共享的一种技术开发和发行模式。技术领域的开源包含源代码和软硬件设计文档源代码、源数据等技术和资源的开放共享,源代码仍然是开源的主要内容。在开源模式下,通过许可证的方式,使用者在遵守许可限制的条件下,可自由获取源代码等,并可使用、复制、修改和再发布。
本质上,开源模式是一种依托互联网平台,大规模群体智慧通过共同参与和协作而不断累积,实现持续创新的方法。该方法中,项目的核心开支人员与大规模的外围群体紧密合作,他们通过互联网共享资源、开展协同开发、管理代码等,由此使得项目开采的效率、应对需求变化的能力大幅提升。
1.1.2开源的特征
中国开源软件推进联盟于年归纳提出的(已被国际认可)开源特征包括:开放、创新、自由、共享、协同、绿色、民主(化)。开源的本质在于开放、共享、协同。
.开放指开放标准、开放环境、开放源码;
.创新是主轴;
.自由是指自由发布、自由传播、自由复制、自由修改、自由使用,其中自由传播时开源运动的要义;
.共享指共享资源;
.协同指协同开发、协同作业、协作生产;
.绿色指支持绿色可再生能源、绿色环境和零边际成本效应;
.民主化指再新兴协同共享中,创新和创造力的民主化正在孵化一种新的激励机制,这种机制很少基于经济回报,而更多地基于推动人类的经济生活方式,缩小收入差距,实现全球民主化。为避免原创技术的流失,不能单纯限制孵化阶段开源代码的自由传播,可通过开源的商业模式、安全模块、运维举措、生态系统所构筑的屏蔽层来解决。
作为一种创新协作模式,开源已经不仅仅是开放源代码的软件技术开发,还包括更为广泛的开放技术领域及协同创新的理念于机制,总体包括开放科学、开源软件、开源硬件、开源文化、开源经济等。“互联网+基于知识社会的创新2.0”是开源创新的理论基础(年由中国开源软件推进联盟提出,后来获得全球开源界领袖们的确认),与工业4.0、工业互联网机制相通,与元宇宙(Metaverse)概念相似。利用开源渠道,将高阶社会(知识社会、虚拟化的实验空间)中的技术、管理、资源等要素,作用于低阶社会(显示的工业社会,屋里空间)中的业态(生产的、技术的、经济的、社会的),促进其产生从零到一的爆发性重构。
1.1.3开源的范畴
时至今日,开源已成为开源软件、开源硬件、开源生态哦、开源技术、开源社区、开源经济、开源商业模式、开源理念、开源文化、开源许可证、开源基金会、开源孵化器、开源数字化治理体系、开源标准等的总称。
1.2世界开源发展简史
世界开源发展史,有三个里程碑时间节点:年、年、年,分别对应UNIX、GNU、Linux的发展。
1.2.1UNIX简史
.年之前,Bell实验室和MIT、GE合作启动开发一个多任务、多用户的操作系统Multics,为UNICS操作系统诞生创造条件;
.年,UNIX原型——UNICS(UNiplexedInformationandComputingSystem)诞生;
.年,DennisRitchie用新发明的C语言将UNICS重写并更名为UNIX,UNIX正式诞生;
.—年,UNIX相继推出V1-V6版本,向社会开放源代码;
.年开始进入“后UNIX”时代,UNIX演化为UNIX(闭源,即ATT-UNIX)和BSD(开源,即BSD-UNIX)。主流的开源BSD操作系统有BSD、FreeBSD、NetBSD、OpenBSD。
因此,世界开源的历史始自年开启的“前UNIX”,至今52年,开源在事实上已经历了半个世纪的发展。
1.2.2GUN简史
GUN系统是一套向上兼容UNIX的完全自由的操作系统。GUN代表“GUNsNotUNIX”。
.年9月27日,RichardStallman提出了GNU工程的初始声明,意图找回在早期计算机社区中广泛存在的合作精神,通过除掉专属软件所有者设置的障碍而使合作再次成为可能。
.年1月,RichardStallman从MIT离职并开始编写GUN软件,同年9月开始GUNEmacs的开发工作;
.年,RichardStallman发表《GUN宣言》,吸收“前UNIX”和BSD的开源成果,开发推出Emacs编译器等自由软件(FreeSoftware)。同年10月。自由软件基金会(FSF)正式成立。
“FreeSoftware”中的"Free"关乎自由,而不是价格,使指可以付费或者不付费的得到GUN软件。一旦得到了软件,便拥有了使用它的四项特定自由,可以自由按照自己的意愿运行该软件;可以自由复制软件并将其送给朋友和同事;可以自由通过对源代码的完全控制而改进程序;可以自由发布改进的版本从而帮助社区建设。
1.2.3Linux简史
Linux的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX操作系统、Minix操作系统、GUN计划、POSIX标准和Internet网络。
.年,UNIX的重要分支——BSD在UCBerkeley诞生。开发者是SUN公司创办者BillJIoy。
.年,AndrewS.Tanenbaum为能继续进行学术教育研究,重新开发了一个基于“前UNIX”和BSD4.3的开放源代码操作系统——Minix,这是Linux最开始的前身。
.年,GUN开源计划和FSF基金会成立。在这个时间前后,涌现了很多重要的软件和协议,如GPL协议、GCCC编译器、Emacs编译器、Glibc、bashshell等,为Linux后来的发展创造了“:肥沃的土壤”。
.年,芬兰本科生LinusTorvalds在Minix和GUN成果的基础上开发,并以GUNGPL许可方式发布了开放源代码操作系统Linuxv0.01;
.年1月5日,Linuxv0.12release版本的内核重新以GUNGPL的协议发布。原来的许可证是禁止任何商业用途的,通过这次协议变更,发布和出售Linux成为可能。5月21日,PeterMacDonald发布第一个独立的Linux安装包SLS;
.年6月17日,Slackwarelinux由PatrickVolkerding发布,这是第一个取得广泛成功的Linux发行版。8月16日,IanMurdock(Debian中的"ian")发布了第一个DebianLinux发行版。Debian是最有影响力的Linux发行版之一,是MEPIS、Mint、Ubuntu等的鼻祖。8月19日,MattWelsh写的《LinuxInstallationandGettingStarted》第1版出版,这是第一本关于Linux的书籍;
.年3月14日,Linux内核V1.0发布,它支持基于i单处理器的计算机系统。8月15日,WilliamR.DellaCroce,Jr,申请了“linux”商标,9月进行了注册。11月3日,RedHat共同创始人MarcEwing宣布可以以49.95美元的零售价格获得RedHatSoftwarelinux的CD-ROM和30天的安装支持;
.年5月9日,吉祥物Tux诞生。6月9日,Linux内核V2.0发布,这是第一个在单系统中支持多处理器的稳定内核版本。Linux从此成为很多公司的重要选择。10月14日,MattiasEttrich发起KDE项目,此前UNIX和Linux都没有统一的桌面系统,编写桌面软件非常复杂;
.年1月9日,第一个”Linuc病毒“Bliss被发现;
图2Linux的吉祥物Tux
.年5月1日,基于Linux的Google搜索引擎面世。12月4日,IDC报告称年Linux出货量至少上升%,以其他任何操作系统无法企及的速度增长着;
.年3月3日,GNOME桌面系统进入Linux世界;
.0年2月4日,IDC报告表明Linux排在“最受欢迎的服务器操作系统的第2位”。10月30日,第一个Linuxlive发行版Knoppix发布;
.1年1月,Linux2.4发布,进一步提升了SMP系统的扩展性,同时集成了很多用于支持桌面系统的特性:USB、PC卡(PCMCIA)的支持,内置的即插即用的功能;
.3年3月6日,SCOGroup宣布正在发起对IBM高达10亿美元的诉讼,声称IBM把SCO的商业机密整合到Linux中。12月,Linux2.6版内核发布;
.7年8月8日,Linux基金会由开源发展实验室(OSDL)和自由标准组织(FSG)联合成立,得到了主要的Linux和开源公司,包括富士通、HP、IBM、Intel、NEC、Oracle、Qual