X-lab2017 / oss101-bok

https://www.x-lab.info/oss101-bok/
2 stars 4 forks source link

开源 #17

Open will-ww opened 1 month ago

will-ww commented 1 month ago

“开源”概念最早源起于软件,是指任何人都可以授权自由使用、复制、传播和改动的软件,其源代码是开放和共享的。随着开源实践的发展,开源已经成为了社会协作的主要模式,并拓展到了云计算、大数据AI智能、汽车自动驾驶技术及元宇宙等,开源技术的更新迭代又实现了开源社区持续性演化。在开源创新中理念引领行动,开源创新的理念是共享平台运作的基础,也是企业实现高效率、低成本共享创新的前提。开源理念本质上突破了固有的时间和空间限制,已有的知识资源和技术范式等都可以通过开源实现高效且动态的融合,并最终构建出全新的企业运行模式。

开源是种理念、是场运动、是个平台、是种模式,区别于以往的创新模式,开源以开放共赢和无边界协作理念为引领,开放源代码、软件、数据、架构、技术、平台、生态、设计、硬件等形式,以突破组织边界、低成本获取外部资源、实现高效率协同创新。在开源的过程中,由于衍生于共享创新,开源使得企业在未拥有创新资源的情况下也可以使用创新资源并进行创新。开源创新颠覆了传统的创新模式,在整个创新过程中,所有人都可以自由地参与到开源中来,共享开源资源,这便是开源创新的理念。开源创新实践过程中的理念可以从七个方面来概括,包括自由民主、开放共享、赢在声誉、不用重复造轮子、得到的永远多于付出,以及突破“零和博弈”与实现协作共赢。

开源发展历程

开源是从软件和计算机的起源和发展过程中产生的。1949年5月6日,冯·诺依曼发明的计算机在剑桥大学开始运行,这一天被认为是现代计算机的诞生日。1951年,IBM开始对商用电脑进行开发,他们请计算机之父冯·诺依曼担任公司的科学顾问,并于次年12月研制出IBM第一台存储程序计算机 IBM 701。此事件成为T发展史上的一个重要里程碑。自计算机诞生至 20世纪70年代中后期,研发生产的计算机多为大型机,软件也是依附于硬件的绑定附送,并不像现在一样各大公司可以将软件作为产品销售供应。这段时间UNIX源码曾向公众开放,也就是这一时期,开源开始萌芽。

1969年,UNIX的原型--UNICS诞生。1973年,丹尼斯用C语言将UNICS重写,并重新命名为UNIX,至此UNIX才正式诞生。从1969~1977年的数年间,UNIX相继推出6个版本,这一时期的UNIX被称为“前UNIX”,这时UNIX也叫AT&T-UNIX,这段时间的UNIX向社会开放源代码。等到1977年以后,UNIX进入了“后UNIX”时代,这时AT&T公司将UNIX私有化,UNIX演化为闭源的UNIX和开源的BSD,这时UNX(或AT&T-UNIX)的源代码是不开放的,而主流开源的BSD操作系统有386BSD、FreeBSD等。因此,世界开源的历史起源于1970年的“前UNIX”时代,至今已发展了半个多世纪。

1990年,美国法院将UNIX的商标权判给AT&T公司,从此闭源的AT&T-UNIX版本成为UNIX的主流版本,而开源的BSD-UNIX版本变成UNIX的非主流版本。此时UNIX被分为UNIX,也叫AT&T-UNIX和BSD两种,前者是私有、闭源、商业化的,后者是共享、开源的。1983年后多家 UNIX商业公司由“前UNIX”(开源)出发,推出多种基于UNIX的不同变种,如SUNOS、HP-UX、DEC Ultrix、Windows等,这些派生出的产品大多是闭源的商业版。

1974年,随着微处理器的发展第一台个人电脑上市,紧接着苹果公司研发的第一代苹果电脑接踵上市,计算机迈步进人PC时代,也使得软件业态发生了巨大的变化。早期的软件是随着用户购买的硬件免费提供发售的,并且还向政府、高校、科研机构等提供源代码,用户可以按照自己的需求修改使用软件。随着用户需求的增多和使用场景的变化,免费提供的软件不能满足用户多种多样的个性需求,在这一背景下,一些专门开发通用软件产品的公司出现了,他们为用户提供多种可选择的软件,收取相应费用,但这些公司并不愿意对外提供源代码,微软公司就是其中的典型代表。在这些软件公司的推动下,美国通过了保护软件产品著作权的一系列法案,到1983年,几乎所有的软件公司都不再开放源代码。

这种从“免费开源”到“收费闭源”的转变,在当时引起了诸多软件开发者的愤怒,为了让软件重新变得开源,他们发起了著名的“自由软件运动”,这一运动在全世界引起巨大反响,其中最著名的人物就是理查德·斯托曼。理查德·斯托曼对闭源的事件感到十分不满,并认为“所有软件都应该对所有人公开”。1983年,他提出了GNU工程的初始声明希望能让计算机社区变回早期自由而又存在广泛合作的情形,并为此努力破除专属软件所有者带来的障碍。理香德试图通过编写一个自由且与UNIX兼容的操作系统来实现他的目的,并将其命名为GNU。1983年,理查德从 MIT辞职并投入到NU操作系统的开发当中,1985年,理查德发表了《GNU宣言》,开发推出Emacs编译器等自由软件(FreeSofware),并于同年10月在美国波士顿成立了自由软件基金会(FSF)。1989年,代表其共享哲学的通用公共许可证(GeneralPubulicLicense,GPL)许可证第一版发布。这一自由软件许可证至今仍被广泛地使用,其特征为:基于该许可证的代码的所有衍生代码都必须开源并基于相同的许可证发布。此外,在理查德的带领下,涌现了很多重要的软件和协议,如CC编译器GNUEmacs、Glibe等。自由软件的发展吸引越来越多的UNIX开发者转向GNU 软件,为闭源软件公司带来了巨大冲击。

经过多年的发展,自由软件已经逐渐暴露出其局限性,发展瓶颈问题亟待解决。1998年,开放源码应运而生。开放源码是1998年2月在美国加州帕洛阿尔托(PaloAlto)召开的一次会议上提出来的,随即著名黑客布鲁斯·佩伦斯为其起草了“自由软件指导方针”。1998年4月,由18位自由软件运动领袖召开的“自由软件高层会议”确定了传播开源的必要性(中国开源软件推进联盟,2022)。

开源的定义

开源(0penSource)一词于1998年2月3日由克里斯·彼得森提出“Open Source”的概念出自当时著名的黑客(Hacker)社区Debian的社长布鲁斯·佩伦斯起草的“Debian自由软件指导方针”。1998年2月下旬埃里克·雷蒙和布鲁斯·佩伦斯共同创立“开放源代码促进会”(OSI)OSI承担的首要任务之一是起草开源定义(0SD),并使用它来开始创建OSI批准的许可证列表。对确立“0penSource”定义有决定意义的事件是1998年4月7日在美国加州帕洛阿尔托由18位“自由软件运动领袖”召开的自由软件高层会议,通过了传播开源的必要性。随着时代的变迁开源已经发展成为主流创新模式,同时开源的定义内涵也在不断演进。

最初开源即仅指源代码的开放(狭义的),“开源”概念最早源起于软件,是指任何人都可以授权自由使用、复制、传播和改动的软件,其源代码是开放和共享的,随着开源实践的发展,其内涵也不断拓展。开源生态不仅指开源软件,还包括开源文化、开源社区、开源硬件、开源技术、开源教育、开源企业和开源商业模式。当前,开源驱动创新的能力日益显著,已成为经济社会新变革的赋能者。开源通过汇聚创新资源、构建信任环境,促进知识、智慧、技术、成果等的共享,加速创新要素的高效流动,促进全球技术创新成果的落地,已经成为软件技术升级和产业发展的主要模式,也是通过软件推动科技创新的核心动力和重要路径。中国工程院院士倪光南在第十七届开源中国开源世界高峰论坛上聚焦《拥抱开源与世界协同创新》的主题进行了分享,他表示:“开源是时代的产物,是科学传播精神的一种体现,如果我们加强对开源的投入和贡献,不仅可以更好地推进科技的进步,还将成为中国加速融入世界协同创新的有效方式。”中国科学院院士王怀民认为:“开源已成为当前软件技术创新的重要模式,我们应积极推进国内开源组织形成开源创新联合体,共建开源创新基础设施,接力孵化原始创新开源项目,繁荣开源创新生态。”

开源可以从四个方面来理解:一是广义的开源。包括代码开源(训练框架开源、预测框架开源、数据处理分析工具开源、模型训练代码开源)数据开源(数据集开源、已训练模型数据开源、知识图谱的开源)。二是更加开放的开源(开放和开源密不可分,辩证统一),开源硬件是没有国界的,开放、共享、平等、全球化是开源背后的精神和理念。三是向善的开源,在新冠疫情发生后,开源彰显了它在这个新时代的能量,包括灾难预警、信息安全、个人隐私的保护等。四是合力的开源,在新的开源时代,各类开源贡献者真正形成合力,才能让开源产业更快地发展。

基于以上论述,对开源作出如下定义:开源是指各类主体以开放共赢和无边界协作理念为引领,开放源代码、软件、数据、架构、技术、平台、生态、设计、硬件等形式,以突破组织边界、低成本获取外部资源、实现高效率协同创新的创新模式。

开源是一种可积累、可复用、可再生的公共技术资源,能使中国技术、中国产品突破重围,能集众智、采众长,加速技术迭代升级,促进产用协同创新,推动产业生态完善,已成为全球软件技术、产业和产品创新的主流模式。时至今日,开源已成为开源软件、开源硬件、开源生态、开源技术、开源社区、开源经济、开源商业模式、开源理念、开源文化、开源教育、开源许可证、开源基金会、开源孵化器、开源数字化治理体系开源标准等的总称。

PureNatural commented 2 weeks ago

在软硬件开发、数据与信息共享中广泛采用的开放式协作模式,协作的产出物符合开源许可证条款的要求。

开源的概念与起源

“开源”最初起源于软件领域,指软件的源代码对外开放,允许任何人自由使用、复制、传播和修改。这一概念的产生源于20世纪60年代的计算机发展,当时软件通常是随硬件捆绑免费提供的,用户可以获取源代码并对其进行修改以适应自己的需求。然而,随着计算机技术的快速进步,软件逐渐成为了独立的商业产品,软件公司开始将源代码封闭,以获取商业利益。这一转变引发了一些开发者的反感,他们希望软件能像早期一样自由开放,由此催生了“自由软件运动”,并最终发展出“开源”理念。

“开源”一词于1998年被正式提出,用以替代“自由软件”的说法,强调开放源代码的实际效果,而非仅仅是哲学上的自由。开源软件的关键特征是源代码的公开,任何人都可以修改和重新发布软件,而这些修改的成果也必须继续公开。这种开放的协作方式推动了技术的发展和创新,同时也形成了全球性的开源社区。

开源分类:

按主体类别 • 个人开源(非正式组织) ➢ 个人、高校、科研院所 • 企业开源 ➢ 大企业开源(战略开源) ➢ 中小企业开源(商业开源)

按行为模式:

image

开源的发展历程

开源的历史可以追溯到早期的计算机和操作系统,如UNIX系统。1970年代,UNIX的源代码曾对外开放,开发者可以自由修改和使用,推动了多个操作系统的演进。然而,随着1977年AT&T将UNIX私有化,开源与闭源的分界逐渐形成。

20世纪80年代,自由软件运动的领袖理查德·斯托曼提出了GNU计划,致力于开发一个完全自由的操作系统。这一运动的核心理念是软件的自由使用、修改和分发权利。GNU计划的成功激发了许多开发者的参与,并形成了日后的自由软件基金会(FSF)。1989年,GNU通用公共许可证(GPL)发布,这一许可证规定,任何基于GPL的软件修改都必须继续保持开源,并以相同的许可证发布,确保了开源软件的共享和传播。

进入90年代后,开源运动经历了快速扩展。Linux操作系统的诞生是这一时期的标志性事件,Linux与GNU软件工具的结合,构成了今天许多服务器和计算机系统的基础。1998年,开源被正式提出为一种新型的软件开发和传播方式,并成立了开放源码促进会(OSI),进一步推动了开源在全球的普及。

开源的核心理念

开源不仅仅是指源代码的开放,更是一种全新的创新模式和协作文化。以下是开源理念的几个核心要素:

  1. 开放共享:开源的本质是共享,源代码的公开意味着开发者之间可以互相学习、共同进步。这种开放式的合作方式使得创新不再局限于某个组织内部,而是能够在全球范围内快速传播和应用。

  2. 协作共赢:开源打破了传统的商业壁垒,鼓励开发者和企业之间的跨界合作。通过共享资源和技术,所有参与者都能够从中受益,达到共赢的效果。

  3. 持续创新:开源社区的开放性和包容性使得技术更新迭代非常迅速。任何人都可以对开源项目提出改进建议或直接贡献代码,这使得项目能够不断完善和适应新的需求。

  4. 降低成本:开源的开放性使得企业可以在不需要自行开发所有技术的情况下,利用现有的开源资源,从而大幅降低研发成本。同时,开源项目的快速发展也为企业带来了更多的创新机会。

  5. 自由民主:开源的协作模式推崇去中心化,所有开发者都有平等的参与机会。开源社区中的贡献者依据他们的贡献和能力赢得声誉和地位,而不是依赖于商业关系或公司结构。

开源对现代技术和产业的影响

随着开源的不断发展,其应用范围早已超越了最初的软件领域,扩展到了包括云计算、大数据、人工智能、自动驾驶技术、元宇宙等多个前沿领域。开源不仅推动了技术的快速迭代,还促成了多个行业的创新和变革。

  1. 云计算:开源软件是云计算技术的重要支柱。像OpenStack、Kubernetes等开源项目为云平台的构建提供了基础工具。开源技术帮助企业迅速部署和管理大规模的云基础设施,极大降低了进入云计算市场的门槛。

  2. 大数据与AI:大数据和人工智能的发展依赖于大量开源工具和平台,如Hadoop、TensorFlow、PyTorch等。这些开源项目为数据处理、机器学习模型的开发与训练提供了标准化的工具链,推动了AI技术在各行各业的应用。

  3. 硬件与物联网:开源不仅局限于软件领域,在硬件和物联网方面也发挥着越来越重要的作用。开源硬件项目如Arduino和Raspberry Pi,为开发者提供了低成本、高灵活性的硬件平台,激发了物联网创新的浪潮。

  4. 自动驾驶和元宇宙:在自动驾驶和元宇宙等新兴领域,开源技术同样是不可或缺的推动力。自动驾驶系统中许多关键的软件组件,如自动驾驶平台Apollo,都是基于开源的。元宇宙的构建也离不开开源的虚拟现实(VR)和增强现实(AR)技术。

开源的挑战与未来

尽管开源取得了巨大的成功,但它在发展过程中也面临一些挑战。首先,开源项目的管理和维护是一项巨大的工程。由于参与者众多,如何协调开发者的贡献、确保项目的质量和安全性成为了开源社区面临的主要问题。此外,商业化与开源的平衡也是企业需要解决的关键问题,尤其是在一些以开源为基础的商业模式中,如何在保持开放的同时获取商业利益,仍然存在争议。

然而,开源的未来依然充满机遇。随着越来越多的企业和组织接受开源理念,全球范围内的协作将进一步加速创新。开源不仅仅是技术的推动者,也是社会协作的一种新模式。它通过打破传统的边界,汇聚全球智慧,为人类共同解决技术、环境、社会等多方面的挑战提供了新的可能。

开源已经从一个软件开发的技术手段,发展为一种协作创新的全球化模式。它不仅改变了技术研发的方式,也深刻影响了现代企业的商业模式和全球技术生态的演变。