开源操作系统(open source operating system) ,就是公开源代码的操作系统软件,可以遵循开源协议(GNU)进行使用、编译和再发布。在遵守GNU协议的前提下,任何人都可以免费使用,随意控制软件的运行方式。

开源操作系统的发展史

开源操作系统的历史是和GNU紧密联系在一起的。从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年 Linux 内核发布的时候,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在Linus Torvalds和其他开发人员的努力下,GNU组件可以运行于Linux内核之上。整个内核是基于 GNU 通用公共许可,也就是GPL(GNU General Public License,GNU通用公共许可证)的,但是Linux内核并不是GNU 计划的一部分。1994年3月,Linux1.0版正式发布,Marc Ewing成立了 Red Hat 软件公司,成为最著名的 Linux 分销商之一。

Unix & Linux历史源流早期Linux的开机管理程序(boot loader)是使用LILO(Linux Loader),存在着一些难以容忍的缺陷,例如无法识别8G以外的硬盘,后来新增GRUB(GRand UnifiedBootloader)克服了这些缺点,具有‘动态搜寻核心档案’的功能,可以让您在开机的时候,可以自行编辑您的开机设定系统档案,透过 ext2 或 ext3 档案系统中载入 Linux Kernel。 Linux 的标志和吉祥物是一只名字叫做 Tux 的 企鹅,标志的由来是因为Linus在澳洲时曾被一只动物园里的企鹅咬了一口,便选择了企鹅作为Linux的标志。Linux的注册商标是Linus Torvalds所有的。这是由于在1996年,一个名字叫做William R. Della Croce的律师开始向各个 Linux 发布商发信,声明他拥有Linux商标的所有权,并且要求各个发布商支付版税,这些发行商集体进行上诉,要求将该注册商标重新分配给 Linus Torvalds。Linus Torvalds 一再声明 Linux 是免费的,他本人可以卖掉,但 Linux 绝不能卖。 Linux发行版的某些版本是不需要安装,只需通过CD或者可启动的USB存储设备就能使用的版本,他们称为 LiveCD。

特点

相对于不开源的操作系统,如Windows和Mac,开源操作系统最大的特点就是开放源代码和自由定制,但也会因为使用者的技术水等关系出现很多不可预知的情况及维护问题,并且由于多数硬件和软件厂商并不支持开源软件.所以在驱动和软件源方面有很大困难,这就要求个人用户在选择系统时需要注意根据自己的实际情况来选择,这也是目前个人使用开源操作系统较为困难的最主要原因。

在普遍认知中

,技术开源就意味着将源代码完全开放,供其他人无条件地免费使用。的确,一部分技术开源是可以无条件免费使用,但并非所有的开源都是如此。

第一种情况,是有选择地开源一部分技术。Android系统的开源就是有保留的,谷歌向主机厂商开源了AOSP(Android Open Source Project)系统,但包含了谷歌地图、谷歌支付等功能的GMS服务则是闭源的。对中国以外地区的大部分手机用户而言,GMS服务是刚需,这让海外的安卓主机厂不得不乖乖为支付每部手机0.75美元的授权费。此次俄乌战争中,被断供了GMS服务的主机厂商痛不欲生,用户连用GooglePay坐地铁的权限都没有了。

和谷歌做法类似的是华为,其开源的OpenHarmony同样只是操作系统的一部分,而HarmonyOS则是基于OpenHarmony开发的闭源商用版。OpenHarmony少了HMS的服务部分,这也是国内除了华为外至今仍没有其他主机厂商开发基于Harmony OS手机的原因。但这并不影响家电设备对OpenHarmony的应用,何况OpenHarmony对硬件要求不高且为分布式操作系统,家电企业对OpenHarmony的开放程度明显更高。

对底层架构进行开源,而对能够产生收益的商用服务收费,这对企业而言有百利无一害。部分开源让更多人参与架构开发,让更多企业没有顾虑地使用开源技术,更多终端设备和用户成为架构的使用者,这也让基于该架构的商用模块更有价值。

第二种情况,是有条件地开放技术。这与技术采用的开源协议设置有关。主流开源协议曾被一位乌克兰工程师总结在一张图上,大致可以根据贡献者是否可将新代码闭源分为两派。Apache被普遍认为是比较宽松的开源协议,被OpenHarmony和AOSP所采用。

除了通用开源协议外,企业还可在协议基础上增加一些自定义项,以最大化公司在技术开源上的收益。Facebook当年在开发Instagram时,积累起了一个构建用户界面的语言库,取名为React.JS,React的开源就是在BSD许可的基础上增加了一项专利协议,使得Facebook可以合法使用相关企业的所有核心专利技术而不必面临诉讼风险。这一协议设置一度迫使百度放弃使用React,耗费半年时间转向Vue或自研San作为替代方案。

开源协议在帮助开发者规避风险、激发创造的同时,也在帮助企业通过各种复杂条款实现“开源获利”。作为开源技术的使用企业,要尤其关注所使用技术的开源协议的设置和不同协议间的兼容,避免陷入协议框架内的“开源陷阱”

推荐内容