打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
开源技术:漫谈起源和发展

开源的定义

开源兴起于软件行业,是源代码开放共享的开发模式,具有自由开放、共建共享的特性。开源是促进信息技术创新的重要途经。目前,技术领域的开源已包含源代码、源数据等技术和资源的开放共享,源代码仍然是开源的主要内容。

下载链接:

中国开源发展蓝皮书(2021)

在开源模式下,通过许可证的方式,使用者在遵守许可限制的条件下,可自由获取源代码等,并可使用、复制、修改和再发布。开源模式实际上是一种依托互联网平台,大规模群体智慧通过共同参与和协作,不断累积智慧,实现持续创新的方法。该方法中,项目的核心开发人员与大规模的外围群体紧密合作,他们通过互联网来共享资源、开展协同开发、管理代码等,由此使得项目开发的效率、应对需求变化的能力大幅提升。开源的本质、范畴及背后的价值,还包括:

开源的本质在于开放、共享、协同,作为一种创新协作模式,开源已经不仅仅是开放源代码的软件技术开发,还包括更为广泛的开放技术领域及协同创新的理念与机制,总体包括开放科学、开源软件、开源硬件、开源技术、开源文化、开源经济等;

开源文化具有“创新、开放、自由、共享、协同、绿色、民主化”等价值取向和重要特征,即以创新为发展基轴,具有开放(开放标准、开放环境、开放源码),自由(自由发布、自由传播、自由复制、自由修改、自由使用),共享(共享资源),协同(协同开发、协同作业、协作生产),绿色(支持绿色可再生能源、绿色环境和零边际成本效应),民主化(在新兴协同共享中,创新和创造力的民主化正在孵化一种新的激励机制,这种机制很少基于经济回报,而更多地基于推动人类的经济生活方式,缩小收入差距,实现全球民主化)的特征;


  • 开源是创新的基础,无论是在全球范围还是中国国内,开源正在推动深度信息技术(云计算、物联网、社交网络、移动终端、大数据、智慧城市、区块链、量子计算机和人工智能等)的创新发展,是重要途径也是核心动力;

  • 为避免原创技术的流失,不能单纯限制孵化阶段开源代码的自由传播,可通过开源的商 业模式、安全模块、运维举措、生态系统所构筑的屏蔽层来解决。


开源定义的起源

开源(Open Source)—词是1998年2月3日由Chris Peterson提出的,“Open Source”的概念出自当时著名的黑客(Hacker)社区Debian的社长Bruce Perens起草的“自由软件指导方针”。

在“Open Source”概念提出的次日,Linux创始人Linus Torvalds就给予了非常重要的版权许可说明,Bruce Perens发起建立了www.opensource.org网站。对确立“Open Source”概念有决定意义的是在1998 年4月7日由18位自由软件运动领袖召开的“自由软件高层会议”,通过了传播开源的必要性。这次会议由Tim O\\\\'Reilly主持,Brain Behlendorf (Apache创始人)、Linus Torvalds( Linux创始人)、Guido Van Rossum (Python创始人)、Eric Raymond (著名记者、OSI首届主席)等参加。


开源的起源

讲述开源的起源,需要从软件和计算机的起源谈起。1949年5月6日,世界第一台完整的冯·诺依曼结构计算机在剑桥大学开始运行,因此这一天后被认为是现代计算机的诞生日。1951年,IBM开始决定开发商用电脑,聘请冯·诺依曼担任公司的科学顾问,1952年12月研制出IBM第一台存储程序计算机IBM701,这是通常意义上的电脑。此事件成为IT发展史上的一个重要里程碑。

自计算机诞生至70年代中后期,计算机主要形式是大型机,软件并不作为单独产品提供,这一时期软件的传播依附于硬件的绑定附送。在这段时间Unix源码曾向公众开放,因此开源的起源与Unix的发展息息相关。

1969年AT&T贝尔实验室研究员Ken Thompson开始编写Unix, Unix是1970年定名的,因此1970年定为Unix元年(Unix名字的由来:Uniplexed Information and Computing System,即UNICS=Unix)。

1969-1977年Unix相继推出V1-V6版本,这段时间的Unix向社会开放源代码(早于1998年在加州Palo Alto会议上首先提出开源这个概念出现之前),此时的Unix叫“前Unix”。从Unix的发展历史看:

Unix可分为“前Unix”和“后Unix”两个不同的发展阶段。“前Unix”,1969-1976年,这时Unix或叫AT&T-Unix,向社会开放源代码,是开源的;“后Unix”,1977年至今,1977年AT&T公司将Unix私有化,这时的Unix(或AT&T-Unix)是闭源的,即其源代码是不开放的。


自1977年始(即自AT&T-Unix实行私有化开始),Unix开始分支,分为AT&T-Unix和BSD-Unix,前者是闭源的,后者是开源的;1990年美国法院将Unix的商标权判给AT&T公司,从此AT&T-Unix商业版成为Unix主流,而由加州大学伯克利分校推出的BSD-Unix版本变成Unix的非主流版本,即此时伯克利推出不包括任何AT&T-Unix源代码的BSD版本(自4.4BSD-Unix版本开始);此时Unix区分为Unix(即AT&T-Unix)和BSD(即BSD-Unix,从此时开始只叫BSD,不再叫BSD-Unix)两种,前者是私有、闭源、商业化的,后者是共享、开源的;目前流行的BSD操作系统主要有6个,其中386BSD、FreeBSD、NetBSD、OpenBSD是开源的,BSD/OS和macOS是商业产品。

自1997-1983年后各家Unix商业公司先后推出各种Unix变种,如SUNOS、IBM AIX、HP-UX、DEC Ultrix、Windows与SCO Xenix、Sun Solaris等,这些Unix变种均基于“前Unix”(开源)派生发展的,而Unix变种大多是闭源的商业版。

1987年出于教学目的,Andrew S. Tanenbaum编写了一个基于“前Unix”(开源)和4.3BSD(开源)的开放源代码操作系统Minix,Linux是基于Minix发展起来的(1991年Linus Torvalds开发并发布了开放源代码操作系统Linux0.01,Richard Stallman也称之为GNU Linux)。苹果公司的iOS源自BSD及“前Unix”(BSD也源自“前Unix”),但iOS是闭源的。


1971年,Intel 4004微处理器的出现,1974年第一台个人电脑Altair8800的上市,以及1976年乔布斯的第一代苹果电脑上市,计算机发展已经开始进入PC时代,这一时期内软件业态发生了大幅变化。早期的软件不仅随硬件免费发售,且向当时的政府科研机构和高校等专业用户提供源代码,以便用户根据自己的需求来进行修改,但随着用户和使用场景的快速增加,硬件附带的软件无法满足用户日益扩大的需求,一些专业开发通用软件的公司出现了,他们需要通过软件来收费,且不愿继续向用户提供软件源代码,微软公司就是其中的典型代表。

在第一代软件公司的推动下,美国在1974年到1980年之间逐步通过一系列法律,确定了用著作权法保护软件的路径。并且在1981年,美国最高院通过一个判例确定了软件也可以受专利法保护。到1983年,几乎所有的软件公司都不再对外开放软件源代码。


然而,软件这种从免费且开源到收费且闭源的转变,令当时许多软件开发者感到愤怒和不满,其中最著名的就是Richard Stallman,他随即发起了自由软件运动,在全世界引起巨大反响。

Richard秉成所有软件都应该对所有人公开的共享哲学。对上述闭源事件感到不满的他认为解决问题的手段就是编写一个完全自由的且与Unix(当时最流行的闭源操作系统)兼容的操作系统,并将其命名为GNU(GNU’s not Unix的递归缩写)。于是Richard于1983年辞职并投入到GNU操作系统的开发当中,并于1985年在美国波士顿成立了自由软件基金会(Free Software Foundation,FSF),发表了《GNU宣言》。1989年,代表其哲学的GPL(General Pubulic License)许可证第一版发布。

该许可证是使用最广泛的自由软件许可证,其特征为:适用该许可证的代码的所有衍生代码都必须开源并且基于相同的许可证发布,具有鲜明的著佐权(copyleft)性质。此外,Richard还牵头开发了GCC编译器 、GNU Emacs文字编辑器等自由软件,吸引越来越多的Unix开发者转向自GNU软件,可以说,GNU、Linux、iOS、Open Source均源自“前Unix”。


显然,以GNU Linux为代表的自由软件的发展壮大对闭源软件公司带来了巨大冲击,1998年微软公司在法国发布了反对Linux的臭名昭著的公开信,这也是微软“FUD”战略的开端。与此同时,经过多年的发展自由软件已经逐渐暴露出难以满足大生产、大流通的需求特点。大生产是指开发、复制、修改、发行、服务、维护、升级等各环节的规模化。大流通是指缺乏商业模式的市场流通的自由软件无法形成商业规模。没有大生产和大流通就不能形成大发展,自由软件的发展瓶颈问题亟待解决。

1998年,开放源码(Open Source)应运而生,开放源码首先是在1998年2月3日在美国加州Palo Alto 召开的一次会议上提出来的,随即著名黑客Bruce Perens为其起草了“自由软件指导方针”。1998年4月7日 由18位自由软件运动领袖召开的“自由软件高层会议”通过了传播开源(Open Source)的必要性。事实上,开源软件是对自由软件的继承和发扬,没有自由软件就没有开源软件,两者都很重要,两者都很成功,都 推动了软件产业的发展,因此许多国家包括中国常常用Free Libre Open Source Software (FLOSS) 来表示两位一体的概念。

如果将开源软件和自由软件对立起来可能其效果会适得其反的。如果从开源软件的世界中删除了自由软件,就没有Linux,没有了GCC,没有了Gnome,没有了Blender等等。自由软件和开源软件均支持自由传播,开源软件的自由传播是有条件的,即 遵循不同开源许可证的开源软件具有不同的自由度,而自由软件具有最大的自由度。开源软件和自由 软件也是有差别的,主要表现在相对于自由软件开源软件更适于大规模的生产和商业流通的大发展 的需要,商业模式更适用于开源软件。

下载链接:

中国开源发展蓝皮书(2021)

网易云原生架构转型之路

云原生计算研究报告

云原生平台介绍
云计算研究报告
中国容器云市场研究报告
2020行业云原生应用报告指南
云原生安全技术报告
中国云计算产业发展白皮书
Edge Native技术架构白皮书
中国云计算行业研究报告
中国云安全产品及技术概览
中国灾备行业白皮书(历年大全)
云基础设施技术需求(白皮书)
2021中国零售SaaS行业概览
阿里云网络白皮书
云原生架构白皮书
2021中国行业灾备白皮书

推荐下载:
RDMA技术原理白皮书
NVMe存储基于SPDK加速I/O性能

本号资料全部上传至知识星球,加入全栈云技术知识星球下载全部资料。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

免责申明:本号聚焦相关技术分享,内容观点不代表本号立场,可追溯内容均注明来源,发布文章若存在版权等问题,请留言删除,谢谢。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
开源软件协议(MIT/BSD/Apache/LGPL/MPL/GPL)
第 1 小节:什么是开源 | 开源指北
***Linux之开源软件及其相关组织(开源历史)
从 UNIX 到 GitHub:十个关于自由和开源软件历史的重要事件
常用开源协议简要介绍
开源许可证授权
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服