天天看點

《Microduino實戰》——1.2 為什麼要開源

本節書摘來自華章出版社《microduino實戰》一 書中的第1章,第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)标準化

開源軟體一旦使用者增多,會順其自然地遵循或形成一種開放的标準。

這些隻是從實用的角度來看開源所帶來的優勢,但開源指的不僅僅是一種開源的方法,背後更是展現了一種自由的精神,是分享和協作人類文明的一種機制。

在網際網路上,開源是這樣一種精神:予人玫瑰,手有餘香。而往往這些“餘香”才能帶來更多的玫瑰。是以說,深入開源的世界,更應該抱着開放的心态,将自己的貢獻彙入這無盡的江河湖海中。

繼續閱讀