5W1H聊开源之What——开源是什么?

陈哥聊测试
• 阅读 235

美国政治传播学家拉斯韦尔提出了5W传播模式,经过后人的不断运用和发展总结,形成了一套逐渐成熟的“5W1H”体系,即:对选定的项目、工序或操作,都要从原因(何因Why)、对象(何事What)、地点(何地Where)、时间(何时When)、人员(何人Who)、方法(何法How)等六个方面提出问题进行思考。

本系列文章就以5W1H体系来讲一讲开源的那些事。

一、What——开源是什么?

开源即开放源代码(Open source code),也称为源代码公开,指的是一种软件发布模式,一种基于去中心化、自组织式的软件开发模式运作的工作方式。 这个模式中,软件是开源的最基本含义是:代码是公开的,任何人都可以去查看,修改以及使用。与开源相对的是闭源代码,闭源代码就是普通的商业版权软件,代码是封闭的,只有作者才能看到,出了问题也只有自己能修改。

开源软件就是公开源代码的软件。开源软件在发行的时候会附上软件的源代码,并授权允许用户更改、传播或者二次开发。

5W1H聊开源之What——开源是什么?

二、误解:开源不是什么

下面澄清关于开源的一些常见误解:

1.开源不意味着免费

开源软件和免费软件是两个概念, 开源软件开放源代码,允许用户更改、传播、二次开发。免费软件是免费提供给用户使用,但不一定公开源代码,也不允许随意修改、二次发布等。比如我们常用的微信、QQ及大多数软件,我们可尽情使用,但如果自己添加或删除了一些功能、甚至发布在网上供人下载使用以此牟利的话,那就是在犯法的边缘反复横跳了。

当然,大多数开源项目是免费的,但“免费”不是开源定义的一部分。有些方法可以通过双重许可或有限功能间接地为开源项目收费,同时仍然遵守开源的官方定义。

2.开源不抵制商业

开源软件是不抵触商业的,开源的目的是分享共享,但不是做慈善事业。 开源是利他主义的,专有软件或私有软件是利己主义的,而开源的商业模式也是利己主义的。利他主义的开源与利己主义的商业模式结合在一起,才能为开源真正做贡献。具体盈利模式有技术支持、培训、高级功能、云服务等方式收费。不同的软件、不同的领域有不同的盈利模式,但所有模式的基础都是用户数。只有用户数量达到了一定的规模,才有成其商业化模式的可能。

商业开源是通过更多人的参与,减少软件的缺陷,丰富软件的功能,同时也避免了少数人在软件里留一些不正当的后门。开源软件最终还会反哺商业,让商业公司为用户提供更好的产品。相对来说,后端开源项目最容易商业化,而越接近底层设施的软件越容易商业化开源。

3.开源项目不代表最高的代码质量

开放式联合开发,其本质是保证其他参与者无法隐藏低质量的代码、漏洞和其他问题,所有代码将受到分析和评判。 但也有一些开发者的经验不足和Code reviewer的疏忽会导致一些不那么好的代码被提交。还有开源社区会进行低效讨论,在不同的需求情况下,有时做出最后的决策是妥协了的结果。

同理,任何人都能为开源项目提供代码,也并不意味着开源代码品质较差,因为毕竟大多数是经过了门槛和审查筛选。

5W1H聊开源之What——开源是什么?

三、写在最后

总体来说,开源项目的代码质量虽然不是最好的,但是也是相当不错的,而且由于开源社区是由众人拾材火焰高,所以好的项目会活得更久,这样的优胜劣汰之下,能够被大多数人关注的项目的代码质量也随之水涨船高。

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
GitHub已确认被微软收购
GitHub是一项在线服务,允许开发者托管他们的软件项目。在这个平台上,世界各地的任何人都可以下载这些项目,并提交他们自己的改进。这个功能使GitHub成为开源软件开发世界的中心。GitHub提供的工具对于软件开发者来说十分重要,开发者们用GitHub来存放代码、记录版本更新、并讨论项目问题。GitHub拥有2300万独立用户。
Stella981 Stella981
3年前
DevOps 安全威胁,你值得关注!
随着开源软件被大量引用,线上运行的代码中超过80%的部分是开源代码。软件安全的重点已经从内部代码转移到所引用开源部分上。DevOps安全需要关注内部研发团队的自研代码以及外部第三方开源软件的安全,对于内部代码,所使用的依赖必须清楚,如果底层依赖有风险,还必须快速反向分析哪些其他软件受到同样的威胁;目前DevOps安全团队和持续交付团队往往独立运行,信息交
Wesley13 Wesley13
3年前
2014年国人开发的最热门的开源软件TOP 100
不知道从什么时候开始,很多一说起国产好像就非常愤慨,其实大可不必。做开源中国六年有余,这六年时间国内的开源蓬勃发展,从一开始的使用到贡献,到推出自己很多的开源软件,而且还有很多软件被国外的认可。中国是开源不可忽视的力量。而我们这个榜单也是从这些国人开发、主要参与开发或者基于国外开源软件进行改进并形成独立版本的软件中,根据该软件的访问、收藏、下载等多个角度
Wesley13 Wesley13
3年前
GNU 对自由软件的定义:与免费无关
近年来,很多开源项目在商业化的过程中遇到了困难,抗议开源商业化的声音也一直存在。在很多对自由与开源软件不太了解的人眼中,开源软件免费软件——这其实是一个错误的观念。自由软件运动之父RichardStallman(RMS)曾在GNU章程中明确表示,自由软件是可以被售卖的。也就是说,自由与开源软件的商业化其实是一件非常合理的事情。
敏捷开发 敏捷开发
5个月前
关于开源软件的七大错误认知(上)
开源软件已经像水和电一样融入到了我们日常的生活中,但我们对开源软件还有很多错误的认知,我尝试站在开源软件作者的角度来进行总结。
京东云开发者 京东云开发者
5个月前
代码革命的先锋:aiXcoder-7B模型介绍
国内开源代码大模型4月9日aiXcoder宣布正式开源其7B模型Base版,仅仅过去一个礼拜,aiXcoder7B在软件源代码托管服务平台GitHub上的Star数已超过2k。同时跻身HuggingFace趋势榜单TOP30,令全球开发者瞩目。背后团队ai
陈哥聊测试 陈哥聊测试
5个月前
5W1H聊开源之What——开源协议有哪些?
开源许可协议是指开源社区为了维护作者和贡献者的合法权利,保证软件不被一些商业机构或个人窃取,影响软件的发展而开发的协议。
WeiSha100 WeiSha100
2年前
开源系统内部培训考试可打学习证明
这是一个开源软件,可用于内部人员的培训学习,有源代码,代码完整,测试了软件的功能,有在线学习,在线直播,刷题,考试,督学,在线考试和在线支付等功能,后台可查学习路径,可打印学习证明,开源可二次开发,用于个人或企业搭建私人的培训系统,分享给有需要的人。具体功能测试了以下功能,详细功能可下载文件研究1、在线学习:在线点播视频,课后可上传图文资料,习题等2、直播:
WeiSha100 WeiSha100
2年前
学习系统开源软件
学习系统开源软件,有开发文档,前后台源码,源码可二次开发。私有化部署,内网外网均可部署,支持多个终端,功能有点播,题库,直播,考试,督学,营销等,经搭建测试软件源码完整可用。1、点播:在线点播视频,可上传图文资料,习题,课件等,视频防盗等2、题库:可批量管理上传的题库,随时随地刷题,试题防复制3、考试:多场景考试设置,高并发、强制交卷、考试防作弊、成绩导出、
万界星空科技 万界星空科技
9个月前
快速部署MES源码/万界星空科技开源MES
什么是开源MES软件?开源MES软件是指源代码可以免费获取、修改和分发的MES软件。与传统的商业MES软件相比,开源MES软件具有更高的灵活性和可定制性。企业可以根据自身的需求对软件进行定制化开发,满足不同生产环境下的特定需求。开源MES软件的优势免费获取