Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >什么是开源开发模式? | 自由、闭源与开源的区别

什么是开源开发模式? | 自由、闭源与开源的区别

作者头像
TARS基金会
发布于 2022-08-31 01:54:19
发布于 2022-08-31 01:54:19
1.4K0
举报
文章被收录于专栏:TARS基金会TARS基金会

开源软件是指公开可用的计算机源代码,其特性允许任何人都可以查看、修改和分发开源代码。其中,开源社区使用分散和协作的方式进行开源软件的开发。因此,与单个公司或个人开发的软件相比,开源软件更便宜、更灵活。如今,开源软件已被公司和个人用户广泛使用,每年都会创建数千个新的开源项目。在本文中,我们将讨论开源开发模式、自由、闭源和开源软件之间的区别,以及为开源社区中的趋势。

*本文来源于TARS Ambassador Isabella Ferreira文章:《What is the open source development model and what are the characteristics of open source contributors?》

开源社区有着一套用于开发开源软件项目的过程,也被称为开源开发模型[6]。首先,该过程是由一个新想法开始的,可以是一个新项目、新特性或是对现有项目的提升。然后,基于这个被提议的功能,社区里志愿的开发人员完成相关开发并创建一个对现有项目的合并请求。接着,社区中更有经验的人(通常是维护者或审查者)将审查被提交的代码更改并决定是否应将其合并到代码的主要版本中。审阅者/维护者也可能要求作出一定的修改。由社区决定在软件发布中包含该提议功能后,当前版本将作为一个开发版本来发布,即使它可能包含已知和未知的bugs。然后,该软件将由社区进行测试,社区通过邮件列表或其他讨论渠道(例如Slack)讨论该软件,并提供反馈、创建错误报告或提交对遇到的错误的修复。项目成员和维护人员会记录并考虑社区反馈并改进实施,然后将提供新的开发版本。这个反馈循环一般需要发生多次,直到项目成员认为软件的执行足够稳定。当该执行能够作为稳定版本发布时,开发周期会随着开发版本(也称为开发树)继续进行,直到有更新的稳定版本可用。此外,开源软件是在开源许可下发布的,因此任何人都可以查看、修改和分发源代码。

目前大多数开源项目都托管在GitHub上,一个分布式版本控制和源代码管理平台。GitHub 还允许开源项目跟踪错误、功能请求、文档和任务。通过访问GitHub,用户可以访问源代码存储库,还可以通过开发新代码、修复错误或编写文档等方式为开源项目做出贡献。著名的开源项目有LinuxKubernetes和TARS。

如今,开源软件的使用比以往任何时候都多。开源项目可能会捐赠给开源基金会,这些非营利组织旨在支持新的开源项目,整合相关的开源项目,为项目提供业界的认可,通过治理促进开源项目的发展,并尽量减少潜在失败的风险。一个很好的例子是2018年捐赠给Linux基金会的TARS项目。在LF和广大开源社区的支持下,TARS项目在 2020 年发展成为TARS 基金会。

自由软件运动由Richard Stallman 于 1983 年通过GNU 项目发起。这个想法是用户应该可以自由地查看源代码、修改并重新分发它。相反,专有或闭源软件是只有所有者才有权访问源代码的软件。闭源的软件不能被外界合法更改或复制,通常付费用户才能使用该软件。

然而,自由软件长期以来被误解为人们认为自由软件意味着免费拥有它,也就是无需付费购买。事实并非如此!自由软件意味着开发者能够以自己想要的方式使用软件。为了解决这个误解,自由软件被开源取代,开源是一个专注于源代码的术语。开源一词是由 Christine Peterson 创造的,他在一个致力于使开发模型更广泛的工作组中提出了用开源软件替换自由软件的想法。该小组希望每个人都知道软件在共享、协作和开放时会更好发展,能够变得更灵活、更便宜,并且没有供应商锁定。

1997 年,作为该工作组成员之一的 Eric Raymond 发表了著名的论文《大教堂与集市》 ,介绍了如何创建优秀的开源软件。到 1998 年,开源计划(OSI) 被创建并正式定义了开源术语及其定义。

在选择开源或是闭源软件时考虑它们的特点是很有必要的,我们在下面列出了前 5 个差异 [3]:

  1. 价格:开源是没有许可或使用费,而闭源的使用成本会取决于软件的规模等。
  2. 自由定制:开源是完全可定制的,但具体取决于开源许可证。然而,在封闭源代码中,用户需要向销售软件的公司请求更改。
  3. 支持:流行的开源软件(如Red Hat)有很多支持。除此之外,用户可以在用户论坛和邮件列表上找到社区的帮助。在闭源代码中,通常有一个专门的支持团队,支持取决于服务水平协议 (Service-level agreement; SLA)。
  4. 安全性:开源软件有一个完整的社区来审查代码,这使得错误很快被发现并改正。在闭源代码中,软件分销商负责修复发现的错误。
  5. 供应商锁定:开源没有供应商锁定。然而,在闭源代码中,使用专有软件要求大量投资,因此更换到不同的供应商可能会花费很多钱。

与闭源软件相比,开源具有许多优势也被更广泛地使用。根据2021年 Octoverse报告,2021 年有 7300 万以上的开发者使用了 GitHub 平台,其中 1600 万以上是新用户。

图 1 显示了每个国家的项目数量。在2017年11月,在Mombach 等作者进行的一项关于5,388 个项目地分析中呈现这些项目分布在超过 77 个国家。

这些年来,中国的项目一直在显着增长。从 2012 年到 2018 年,Linux 基金会的中国会员增加了 400% 以上 [4]。此外,中国公司现在在云原生计算基金会托管的项目的贡献排名第三,仅次于美国和德国。作为中国项目成长的一个例子, TARS 过去一年贡献者数量增加了 13%,提交数量增加了 34.23%。

图 1:每个国家/地区的 GitHub 项目数量 [1]

同样,2021 年 GitHub 上的大多数活跃用户来自北美和亚洲(见图 2)。虽然北美的活跃用户数量与 2020 年相比下降了 2.3%,但亚洲的活跃用户数量增加了 0.3%。

关于 GitHub 用户,94% 的开源用户是男性,只有 6% 的开源贡献者是女性。根据一项开源调查 [5],与男性相比,为开源做出贡献的女性人数非常少,因为女性更有可能遇到让她们感到不受欢迎的语言或内容以及刻板印象。此外,女性也比男性更有可能向她们认识的人寻求帮助,而不是在公共论坛或渠道(如在开源软件中)寻求帮助。

图 2:活跃用户的地理分布,来自2021 年 GitHub Octoverse报告

除了活跃用户数量众多,许多公司也为开源做出了贡献。根据开源指数(open source index),截至 2022 年 1 月,谷歌、微软和红帽是拥有员工为开源做出贡献的前 3 名组织(详见下图)。

图 3:组织按员工年初至今在 GitHub 上的开源贡献量排名,摘自Open Source Index。

开源软件比闭源软件有很多优势,其中包含的层面有价格、自由定制、技术支持、安全性以及供应商锁定。此外,美国和中国是 2021 年开源的主要贡献者,尤其中国项目一直在增长,而且中国开发者将成为国际开源软件组织的重要力量之一。

文献参考

[1] Mombach, Thais, et al. "Open source development around the world: A comparative study." arXiv preprint arXiv:1805.01342 (2018).

[2] https://medium.com/intuit-engineering/open-source-where-are-the-women-ae20623529ca#:~:text=Currently%2C%20open%20source%20is%20dominated,tech%20industry%20(25%25)%C2%B9.

[3] https://www.synopsys.com/glossary/what-is-open-source-software.html

[4]

https://merics.org/en/short-analysis/china-bets-open-source-technologies-boost-domestic-innovation

[5] https://www.toptal.com/open-source/is-open-source-open-to-women

[6] http://aaaea.org/Al-muhandes/2008/February/open_src_dev_model.htm


TARS基金会是Linux基金会下的非营利性、微服务基金会,致力于建设一个强大而灵活的微服务生态系统。无论你在哪个行业,无论你使用什么技术栈,这里能助你快速实现你的创意。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 TARS星球 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SDN和开源十问十答
开源软件同普通人有啥关系? 普通人只要使用智能手机或者上网,就在不知不觉中使用开源软件。智能手机的Andriod系统是开源的,iOS系统也是源于开源的Darwin。大部分网站系统是基于开源的操作系统(Linux),开源的Web服务器(nginx、Apache)和开源的数据库(MySQL)。据统计,世界排名前一万的网站中有75%由开源软件驱动,因此开源软件同每个人都息息相关。 开源等于免费吗? 开源软件(Open Source)同自由软件(Free Software)的根本区别就是开源软件仅仅把开源当成
SDNLAB
2018/04/02
7130
SDN和开源十问十答
打造一个区块链技术世界的自由开源社区
我心中的区块链技术的开源自由社区,是全球区块链技术爱好者的精神家园! 自由开源软件&自由开源社区是什么鬼?   开源(Open Source)是1998年2月3日提出的概念,是开放源代码,并遵循开源许
rectinajh
2018/05/17
1.3K0
锅总介绍技术标准基金会及组织
技术标准基金会及组织有哪些?中国主导的有哪些?它们之间有何关联?希望本文能帮您解答!
锅总
2024/08/05
1410
锅总介绍技术标准基金会及组织
史上最全! 全球 22 种开源商业收入模式
来源 | 《开源观止》 作者|郭炜(郭大侠) 近些年来开源在全球成为越来越火爆的话题,越来越多的开源项目获得了大量的投资或者最终上市。开源是根据一些开源协议把代码公开在互联网上并拥有开源社区和使用者的一种开发模式,那么开源项目代码是开放的,又是如何能够形成商业闭环形成商业收入的呢? 笔者参考了全球多个论文网站和公司材料,最终总结了全球大部分开源项目形成收入的商业模式,一共 22 种,如果你是开源爱好者或者有自己的开源项目,你可以从这些开源商业公司的商业模式中找到一些启发。我也为此建立了一个开源项目在文章末尾
程序猿DD
2023/04/04
1.2K0
史上最全! 全球 22 种开源商业收入模式
开源分叉为何成为热门话题
也许在未来,公司会意识到开源不是一种商业模式,并在开源之前三思而后行——如果他们不是为了长远利益。
云云众生s
2024/09/28
810
开源即责任
因为 GitHub 的盛行,“开源”成为了当下开发者非常“政治正确”的一个行为。每天在掘金里,我都会看到很多用户写文章说自己开源了这个、开源了那个,同时每年 GitHub 年度总结里不断飙涨的 Repo 数据和 Commit 数据好像昭示着开源生态和文化已经深入人心。然而,事实并非如此,甚至大家对于开源的理解,本身就是让人心寒的。就好像,我们生活在如此便捷的互联网时代中,却并未因此而创造更多。开发是一群有很强判断能力的人,我希望借由此文章帮助大家稍微多理解一些开源。
黄啊码
2022/06/20
3720
美国法院最新判决:未经 OSI 许可的开源是「假开源」!
近日,开放源代码促进会(Open Source Initiative,以下简称 OSI )在官网发布文章,转述了一项来自美国法院的判决:未获 OSI 开源许可证许可,而自称「开源」的软件属于虚假广告。 OSI 成立于 1998 年,是一个旨在推动开源软件发展的非盈利组织。多年来,OSI 在制定开源协议标准、促进开源推广上做出了重要贡献,是公认的开源「官方」组织。此次来自美国联邦第九巡回上诉法院的判决,也是从法律层面对 OSI 在开源领域的权威性进行了认定。 一 事件回顾 本次案件的判决方——第九巡回上诉法
腾源会
2022/03/24
8670
开源运动发展史与开源许可证(BSD、GPL、Apache、MIT、木兰(中国))的那些事儿
2022年1月份,Apache SkyWalking社区在其blog上实锤字节跳动的火山引擎里面违反Apache 2.0许可证,重新发布了Apache SkyWalking开源软件。
Flowlet
2022/08/18
1.4K0
开源运动发展史与开源许可证(BSD、GPL、Apache、MIT、木兰(中国))的那些事儿
围绕开源的系列思考——国家篇
我非常喜欢看各种网络小说,其中最大的一类,自然是穿越小说。其中又可以细分为很多类型。按照穿越回到的时代,从远古到近现代的都有,这其中有一个很小的分类,是回到大约20世纪70年代末、80年代初的。那些主人公,大概率都是要搭上改革开放的顺风车,赚取巨额红利的了。比如抢先去上海,购买股票认购证之类。
开源社
2020/01/16
5020
围绕开源的系列思考——国家篇
开源背后的那几个人
开源让技术跨越了时间和空间的限制,任何人都可以自由使用和贡献开源软件。本文介绍几位开源界的“长老”,文中各位大佬皆是开源软件代码背后的人,也是开源革命铺平道路的先驱者和为开源做出重大贡献的英雄。 RMS Richard Matthew Stallman(理查德·马修·斯托曼,简称 RMS)是公认的自由软件之父,他创立了自由软件基金会 (FSF),发起了「GNU 计划」(打造一个完全由自由软件构建的操作系统),同时还是 Emacs、GCC 和 GDB 等重要开源项目的作者。 除了软件方面的巨大贡献,RM
腾源会
2021/10/15
7140
OSPO如何帮助保护你的软件供应链
It's nearly impossible these days to build software without using open source code. But all that free software carries additional security risks.
开源社
2022/05/24
3320
OSPO如何帮助保护你的软件供应链
开源生态建设卓见成效,腾讯云原生已覆盖百万开发者
在刚刚过去的2020云原生技术大会上,主办方云原生基金会(CNCF)总经理Priyanka Sharma女士在演讲中表示:“目前在云原生Kubernetes相关开源项目中,来自中国开发者提交的代码贡献率排名全球第二,中国已经成为云原生社区建设中一股非常重要的力量。” 作为本次大会钻石供应商,腾讯云是目前国内服务开发者最多的云原生平台,一直以来,无论是在云原生容器、云原生开发工具、Serverless框架演进,以及微服务生态等方面,腾讯云都是开源生态的坚定推进者和建设者。 早在2009年腾讯就开始在容器技术
腾讯开源
2020/08/05
5010
开源,从社区到商业化
开源软件(0SS)运动创造了一些我们最重要和最广泛使用的技术,包括操作系统、 Web 浏览器和数据库。如果没有开源软件,我们的世界将无法运行,或者至少不会正常运行。
51Aspx
2021/11/18
8240
开源,从社区到商业化
一文看懂开源许可证丨开源知识科普
在很多人眼中,「开源」是一个时髦且有情怀的词汇,始终伴随有理想主义色彩,因此不少公司开始给自己贴上“开源”标签。但一个优秀的开源项目远远不止是简单的公开源代码,而是需要将其当作公司战略进行贯彻,才能架设起牢不可破的信任桥梁。
PingCAP
2021/10/21
2.1K0
有人痴狂,有人跑路,开源软件的冰火两重天
最近有关开源软件的话题始终占领着IT界的新闻头条,Log4j开源软件的惊天漏洞,才刚刚出现不久,Fake.js的作者也惊天删库跑路了,CurL的作者怒怼苹果只会白嫖开源却不出力,Linux的祖师爷Linus也不知所云地在Github为WINXP加油打Call。
beyondma
2022/02/01
3380
从开源协议到谷歌禁用华为、Docker实体清单事件
平时我们在日常开发生活都在大量和开源软件打着交道,例如安卓、Linux、Github、Docker等,而其中开源协议比如MIT、Apache也是耳熟能详,但是真正对开源协议的了解相信对大部分人来说都是一知半解。而近来频繁冒出一些事件让我们对开源协议产生了更大的疑问。
艾小仙
2021/01/11
1.8K0
从开源协议到谷歌禁用华为、Docker实体清单事件
自由、开源及其敌人 —— RMS事件簿
目前国际开源界和一些开源软件基金会对于道德和平权的争论正方兴未艾,我们觉得值得关注与了解。
开源社
2021/04/29
6050
自由、开源及其敌人 —— RMS事件簿
开源也要有备胎!安卓遭禁GitHub会闭源?专家:无需恐慌但要警醒
昨日,安卓遭禁的新闻引发轩然大波。随后,开源中国在其博客中指出:Apache 许可证分发的软件也受美国出口管制。
新智元
2019/05/22
7630
开源协议(Open Source License)
国际公认的开源许可证有 80 多种,共同特征是允许用户免费使用、修改、共享源码,只是都有各自使用的条件。
软件书桌
2024/05/06
4040
可视化分析开源社区数据利器
对于许多开源社区的长远发展,跟踪不同类型的社区数据指标尤为重要。指标能让开源项目洞察到具体工作落地,并帮助了解社区的总体情况。为此,开源社区会从各种来源提取数据,并使用可视化工具分析这些数据,从而作出有助于项目的明智决定。本文翻译自《Measuring the Health of Open Source Communities》,介绍了在行业领先的开源社区是如何高效管理社区数据。
TARS基金会
2021/08/24
8060
可视化分析开源社区数据利器
相关推荐
SDN和开源十问十答
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档