上海品茶

您的当前位置: 上海品茶 > 三个皮匠报告百科 > 开源软件

开源软件

目录

开源软件是什么

开源软件即一种依据开源许可证来公开或释出源代码的计算机软件,而在开源许可证中,开源软件的版权持有人授予用户可以学习、修改开源软件,并向任何人或为任何目的分发开源软件的权利。开放源代码是开源软件的首要特征。开源软件通过在网站上公开源代码,使得公众(主要是软件开发者)可以下载使用、复制、修改源代码,进而发布(免费/少许收费)基于源代码的软件。与开源软件相对应的是商业闭源软件,该类软件的源代码往往不公开,使用者只能在许可证允许的范围内使用软件[1]

开源软件

开源许可证通常具备以下10个特点:

(1)免费重新发行。当软件是来自不同来源的程序集成后的软件发行版本中的其中一个组件时,许可证不能限制任何团体销售和分发该软件,并且不能向这样的销售或分发收取许可费和其它费用。

(2)源代码。程序包含源代码,并且必须允许以代码或已编译的形式发布。

(3)衍生产品。许可证必须允许修改原产品和衍生产品,并且必须允许在与原始软件相同的许可情况下发布修改过的产品。

(4)源代码完整性。许可证可以禁止他人以修改过的形式发布源代码,只在该许可证基于修改程度的目的时,才允许随源代码发布“补丁文件”。许可证必须明确允许发布根据修改过的源代码构建的软件。许可证要求衍生产品必须附加不同于原始软件的名称或版本号。

(5)不得歧视任何人和团体。许可证不得歧视任何人和任何团体。

(6)不得歧视任何特定用途。许可证不得禁止任何人在特定领域内使用某一程序

(7)许可证发布。附加在程序上的权利必须应用于那些重新发布程序的人,无需通过其它人额外加以许可使用。

(8)许可证不得专属于特定产品。附属于程序的权利不得仅限于作为特定软件发行版一部分的程序。

(9)许可证不得对其它软件加以限制。许可证不得对与已许可软件一起分配的其它软件附加任何限制。

(10)许可证必须技术中立。任何许可证都不可以基于单独的某项技术或界面风格[2]

开源软件的发展历程

开源软件的发展和互联网的发展密不可分。从上个世纪90年代开始开源软件进入出现萌芽,也就是互联网开始兴起的年代。大致可以将开源软件的发展分为三个阶段:萌芽期、非营利性组织为主阶段、以大型IT企业为主阶段[3]

(1)萌芽阶段(上世纪90年代之前):这个阶段主要以个人和大学为主,因为发布条件受限,大多数开源软件无法得到有效传播,而仅仅流传于互相熟悉的程序员和老师、学生之间。这个阶段的典型开源软件为BSD操作系统。

(2)以非盈利组织为主的阶段:这个阶段应从上个世纪九十年代算起,说起这个阶段,与之相关的大事件包括Richard Stallman发起的自由软件基金会(FSF),还有Apache基金会等。前者发起的GNU计划(GNU is not Unix)(1983年发起,九十年代后随Linux普及),成就了Linux操作系统;后者维护的ApacheWEB服务器,在互联网上几乎占据了统治地位。

(3)以大型IT企业为主的阶段。这个阶段出现于2005年之后,以谷歌为代表的大型互联网企业,开始以各种方式发布开源软件,最为著名的是Chrome浏览器以及Android操作系统;当然还有Intel、Nokia等企业主导的Moblin、MeeGo等基于Linux的智能手机操作系统;近年来华为的鸿蒙、鲲鹏操作系统。

Windows和Linux作为优秀的闭源和开源系统代表,各有其优劣势存在。Windows自1975年成立至今年,已占据全世界桌面操作系统88%的市场份额,以其操作简单、图形工具丰富、软件兼容性强等特点广受好评;Linux近年来素有Windows替代者之称,依靠安全稳定的应用性和共享性强等特点,在企业级服务器领域占有很大的优势,并且份额逐年增加。

著名的开源软件

操作系统主要有Android—基于Linux的操作系统、Firefox OS—基于Linux的操作系统、FreeBSD—类Unix的操作系统、Linux—类Unix操作系统家族、Open Indiana—类Unix操作系统家族、React OS-Windows NT架构操作系统、Haiku—与BeOS兼容的操作系统、Deepin—基于Linux内核的GNU/Linux操作系统等

开源软件

Linux在服务器端对比Windows系统优势明显

(1)稳定性高:Linux稳定性虽然比不上在IBM小型机上运行AIX,但是比Windows服务器确实高很多

(2)硬件投入成本低

由于Linux操作系统相比于Windows先天优越性,相同硬件条件下,Linux服务器能承受负荷普遍比Windows高20%以上

(3)软件投入成本低:Windows服务器端产品价格普遍比较高,加上客户端用户授权费用,是一笔不小开支。Linux由于开源操作系统,甚至可以不花费一分钱。

(4)低维护成本:对于入门级系统管理人员,由于Windows入门容易,Windows维护成本比Linux高;对于专业级系统管理人员而言,Linux维护成本反而比Windows维护成本低很多

(5)病毒造成破坏低:由于Windows先天不足以及Windows在客户端高市场占有率,目前病毒绝大部分是针对Windows操作系统;Linux是开放源代码操作系统,即使出现有针对性病毒,开源社团也会从底层进行修正,从根本上杜绝类似病毒后续造成的危害

(6)保密性:Windows由于是商业产品,源代码封闭,我们无法知道微软在里面做了什么手脚。而Linux由于是源代码开放操作系统,不存在这个问题

(7)低价、高效、完整的备份机制:Linux操作系统本身提供良好数据备份工具;Windows在这方面需要借助昂贵第三方软件方可实现。Linux操作系统可以提供规定时间内(用户自己定义)增量备份,每隔一段时间(用户自己定义)完全备份;这个策略,可胜任绝大部分企业数据备份。

开源软件

开源软件的优点

(1)开源软件具有非常好的开放性,是集体智慧的结晶。和商业软件盈利动机不同,开源软件的初衷是为了解决问题。为了解决某个软件开发问题,开源软件的源代码会在开源社区发布,开发者可以从开源社区下载开源软件,获得源代码,进行复制、修改、完善再在开源社区发布。开源社区的集体智慧给开源运动带来了蓬勃发展,在开源发展的过程中起到了极其重要的作用。典型的开源社区有GitHub、Source Forge、Stackoverflow等。

(2)开放使得开源软件具有更好的安全性、可拓展性和更快的更新速度。由于任何人都可以在开源社区对软件的源代码进行频繁修改和讨论,因此开源软件总体上的漏洞修复能力和安全性要比商业软件要更强,而商业软件的强弱则依赖于开发企业技术团队的能力。

在实际应用中,开源软件的使用范围越来越广泛,开始慢慢地渗透到各个软件,在操作系统、数据库、Web应用开发、开发工具、手机移动开发、服务器软件、浏览器、游戏娱乐等领域都可以看到层出不穷的开源软件。

开源软件

开源软件企业商业模式

Linux基金会阐述了开源企业4种可能的商业模式:

(1)Building open source:企业直接进行开源软件开发,通过技术服务/配套产品获取市场价值。这是最基础也是最具挑战性的模式。Linux基金会认为,RedHat是这个模式最成功的案例。

(2)Building with open source:开源软件是软件/服务的一个功能组件。这种模式是最广泛存在的,现在已经很难找到未集成任何开源软件的商业软件产品。

(3)Building for open source:软件开发完成后,以开源的形式发布。然后,围绕这个开源资源进行商业活动。

(4)Building on open source:在现有开源资源的基础上,构建产品/服务进行获利。这个模式下,企业的软件产品或增值服务高度依赖于开源资源。

开源软件

开源软件产业链

开源代码的源作者/最初贡献者:可能是企业、个人、工作室等主体,没有任何限制源作者开源软件作品的动机,可能是企业的战略和市场决策,也可能是个人的爱好和对开源产业的支持聚焦到企业为主体的开源行为上来,企业进行开源运营可以选择通过自身来开展,也可以将项目捐赠给开源基金会,由开源基金会进行直接的项目运营。

开源软件

开源社区:指代一个开源项目在运营中所处环境,由不同的开源市场主体协同构成,以代码托管平台和开源软件论坛为核心(二者可能合而为一),辅以市场宣传、法律服务、专家指导、产业联盟等机构和服务能力,协同开展项目的开源运营活动,促进项目发展。

开源项目的代码在托管平台上开放,二次开发者和最终用户均可以免费取得。

在二次开发和使用过程中,开发者和用户也会通过开源社区指出项目缺陷,为项目的发展带来启发和思考。

开源软件产业相关政策

2016年9月,《省人民政府关于加快构建大众创业万众创新支撑平台的实施意见》:支持开源社区、开发者社群、资源共享平台、捐赠平台、创业沙龙等各类互助平台发展。

2017年11月,《国务院关于深化“互联网+先进制造业”发展工业互联网的指导意见》:支持建设一批能够融入国际化发展的开源社区,提供良好开发环境,共享开源技术、代码和开发工具。

2018年1月,《浙江省人民政府办公厅关于进一步加快软件和信息服务业发展的实施意见》:支持开源社区发展,构建有利于创新的开放式、协作式、国际化开源生态。

2018年8月,《广东省人民政府关于印发广东省新一代人工智能发展规划的通知》:秉持开放开源理念。倡导开源共享,促进高校、科研院所、企业等创新主体加强对外合作,推进开源软硬件基础平台建设,支持开源社区建设。

2021年3月,《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》:支持数字技术开源社区等创新联合体发展,完善开源知识产权和法律体系,鼓励企业开放软件源代码、硬件设计和应用服务。

2021年5月,《广东省人民政府关于加快数字化发展的意见》:支持建设国际化的开源项目和开源社区,共享开源技术、软件代码、硬件设计、基础软件和开发工具。

2021年6月,《浙江省数字经济发展“十四五”规划》:推进开源开放平台建设,加强云原生架构、关键算法资源、低代码工具等供给,培育具有国际竞争力的开源生态。

2021年8月,《北京市关于加快建设全球数字经济标杆城市的实施方案》:探索建设国际化开源社区,支持搭建开源开放平台,培育具有国际竞争力的开源项目和产业生态。

2021年9月,《省人民政府关于印发湖北省数字经济发展“十四五”规划的通知》:打造自主可控软件信息服务业,推动人工智能相关产业高端化,构建人工智能开源共性技术体系。

2021年10月,《“十四五”国家知识产权保护和运用规划》:健全大数据、人工智能、基因技术等新领域新业态知识产权保护制度。研究构建数据知识产权保护规则。完善开源知识产权和法律体系。

开源案例

(1)阿里:十年开源历程阿里在开源方面非常重视,是apache基金会成员、Linux基金会成员,同时也是Xen顾问委员会成员。在全球最大的开源社区GitHub中,阿里的企业贡献总榜排名位居第12位,在中国企业的贡献排名位居榜首。其贡献开源项目已经超过1700个,Star数超75万,贡献者的数量已突破2万人。2010年,阿里工程师在杭州开源了第一个项目Dubbo,之后的2011、2012年期间,Dubbo的用户越来越多,Fastjson正式开源,开始基于Hadoop和HBase构建大数据体系。后来,阿里的项目Druid、Sea.js、Arale等也不断实现了开源。阿里巴巴开源委员会负责人、Caffe之父贾扬清也首次公开了阿里开源10年全景图。

(2)腾讯:提出“三步走”开源计划2019年6月25日,由Cloud Native Computing Foundation主办的云原生技术大会在上海举办,腾讯开源联盟主席、腾讯开源管理办公室委员、Apache Member堵俊平首次公开了腾讯整体的开源战略路线图。基于代码开放和社区运营,腾讯开源路线通过“三步走”的开源计划,不断深化腾讯已有的技术能力,推动从封闭孤立向协同开放向社区开放治理的纵深方向发展。

参考资料:

[1] 计算机行业:开源,软件企业的梦靥还是拓荒者的福音

[2] 云计算开源产业联盟开源许可证使用指南2018年

[3] 计算机行业:华为开源高斯数据库,信创加速打造中国标准

开源软件研究报告:

中国开源软件推进联盟:2021中国开源发展蓝皮书(88页).pdf

中国人工智能开源软件发展联盟:2018中国人工智能开源软件发展白皮书(159页).pdf

艾瑞咨询:源远·流长—2022年中国开源软件产业研究报告(64页).pdf

云计算开源产业联盟:开源产业白皮书(2019年)(37页).pdf

Coschina:2021 中国开源开发者报告(35页).pdf

中国信通院:开源生态白皮书(2021)(44页).pdf

中国信通院:金融行业开源生态深度研究报告(40页).pdf

恒生技术:证券行业开源治理白皮书(27页).pdf

中国开放指令生态联盟:开放指令集与开源芯片发展报告(63页).pdf

分享到微信 分享到微博 分享到QQ空间
上一篇:互联网医疗
下一篇:胡润百富
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部