《Microduino实战》——1.2 为什么要开源

简介:

本节书摘来自华章出版社《Microduino实战》一 书中的第1章,第1.2节,作者:姚琪 杨立斌,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 为什么要开源

开源意味着用户可以获得软件的源代码,用户可以自由地使用、学习、改进甚至重新发布自己的软件。
在《大教堂与集市》一书中一再提到了Linus定律,即只要有足够的测试员及共同开发者,所有问题都会在很短的时间内被发现,而且能够很容易地被解决。任何人都可能在使用的过程中发现bug,并向维护团队提交一个可能存在的bug;而更多的人参与到内核的开发中,可能使得bug的修复变得更加快速。这种“众眼众手”机制,让更多的bug暴露在人们面前,并及时地反馈并修复。如今,Linux内核在全球有成千上万的贡献者,但因为有一套严格的代码控制管理的流程,使得Linux内核的代码质量很高。在Steve McConnell的写的《代码大全》中提到,Linux内核每10 000行代码中只有1~5个bug,而在一般软件行业中,平均每1000行代码中就约有30个bug。显然,Linux内核的开发受益于这种开发模式。
开源有可能带来的好处[1]如下:
(1)获得更高质量、更安全的软件代码
在开源社区中,很多开源项目都是由一些技术高手维护的,同时一些用户也会承担一部分维护工作,更多人参与进来会使得存在的bug可以被及早地发现和修补。
(2)可定制化
因为源码是开放的,用户可以免费定制开源软件,使用其中一部分开源软件代码,并根据实际情况修改或添加自己需要的功能。这样,既能享受他人的劳动成果,又能为开源软件做出自己的贡献,同时也降低了开发的成本和风险。
(3)降低开发成本
在开源项目中,用户可以免费使用高质量的软件代码,在享受其他人劳动成果的同时,也可以做出自己的贡献。
(4)标准化
开源软件一旦用户增多,会顺其自然地遵循或形成一种开放的标准。
这些只是从实用的角度来看开源所带来的优势,但开源指的不仅仅是一种开源的方法,背后更是体现了一种自由的精神,是分享和协作人类文明的一种机制。
在互联网上,开源是这样一种精神:予人玫瑰,手有余香。而往往这些“余香”才能带来更多的玫瑰。所以说,深入开源的世界,更应该抱着开放的心态,将自己的贡献汇入这无尽的江河湖海中。

相关文章
|
4月前
|
开发框架 JavaScript 前端开发
方舟笔记:方舟开发框架概述
方舟笔记:方舟开发框架概述
110 0
|
5G 程序员 定位技术
IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲
那么作为IM开发者,或者移动端开发者来说,提前了解5G技术显然是很有必要的。那么什么是5G技术?技术原理是怎么样的?5G技术将带来哪些技术革新?本文将以零基础的应用程序开发者为阅读对象,帮你找到这些问题的答案。
124 0
IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲
|
传感器 网络协议 物联网
应用实战精解系列(二十):RVB2601之YoC系统
应用实战精解系列(二十):RVB2601之YoC系统
481 0
|
自然语言处理 算法 机器人
直播预告 | 玄铁开源C906 D1开发板的Waft实战应用开发
12月24日14:00,关注芯片开放社区直播间,一起玩转Sipeed LicheeRV D1 哪吒计算条开发套件
782 0
直播预告 | 玄铁开源C906 D1开发板的Waft实战应用开发
下一篇
云函数