5W1H聊開源之What——開源是什麼?

陳琦聊測試發表於2021-06-04

美國政治傳播學家拉斯韋爾提出了5W傳播模式,經過後人的不斷運用和發展總結,形成了一套逐漸成熟的“5W1H”體系,即:對選定的專案、工序或操作,都要從原因(何因Why)、物件(何事What)、地點(何地Where)、時間(何時When)、人員(何人Who)、方法(何法How)等六個方面提出問題進行思考。


本系列文章就以5W1H體系來講一講開源的那些事。

What——開源是什麼?

開源即開放原始碼,Open source code,也稱為原始碼公開,指的是一種軟體釋出模式,一種基於去中心化、自組織式的軟體開發模式運作的工作方式。這個模式中,軟體是開源的最基本含義是:程式碼是公開的,任何人都可以去檢視,修改以及使用。與開源相對的是閉原始碼,閉原始碼就是普通的商業版權軟體,程式碼是封閉的,只有作者才能看到,出了問題也只有自己能修改。

開源軟體就是公開原始碼的軟體。開源軟體在發行的時候會附上軟體的原始碼,並授權允許使用者更改、傳播或者二次開發。


誤解:開源不是什麼

下面澄清關於開源的一些常見誤解:

開源不意味著免費

開源軟體和免費軟體是兩個概念,開源軟體開放原始碼,允許使用者更改、傳播、二次開發。免費軟體是免費提供給使用者使用,但不一定公開原始碼,也不允許隨意修改、二次釋出等。比如我們常用的微信、QQ及大多數軟體,我們可盡情使用,但如果自己新增或刪除了一些功能、甚至釋出在網上供人下載使用以此牟利的話,那就是在犯法的邊緣反覆橫跳了。

當然,大多數開源專案是免費的,但“免費”不是開源定義的一部分。有些方法可以透過雙重許可或有限功能間接地為開源專案收費,同時仍然遵守開源的官方定義。

開源不抵制商業

開源軟體是不牴觸商業的,開源的目的是分享共享,但不是做慈善事業。開源是利他主義的,專有軟體或私有軟體是利己主義的,而開源的商業模式也是利己主義的。利他主義的開源與利己主義的商業模式結合在一起,才能為開源真正做貢獻。具體盈利模式有技術支援、培訓、高階功能、雲服務等方式收費。不同的軟體、不同的領域有不同的盈利模式,但所有模式的基礎都是使用者數。只有使用者數量達到了一定的規模,才有成其商業化模式的可能。

商業開源是透過更多人的參與,減少軟體的缺陷,豐富軟體的功能,同時也避免了少數人在軟體裡留一些不正當的後門。開源軟體最終還會反哺商業,讓商業公司為使用者提供更好的產品。相對來說,後端開源專案最容易商業化,而越接近底層設施的軟體越容易商業化開源。

開源專案不代表最高的程式碼質量

開放式聯合開發,其本質是保證其他參與者無法隱藏低質量的程式碼、漏洞和其他問題,所有程式碼將受到分析和評判。但也有一些開發者的經驗不足和Code reviewer的疏忽會導致一些不那麼好的程式碼被提交。還有開源社群會進行低效討論,在不同的需求情況下,有時做出最後的決策是妥協了的結果。

同理,任何人都能為開源專案提供程式碼,也並不意味著開原始碼品質較差,因為畢竟大多數是經過了門檻和審查篩選。

所以總體來說,開源專案的程式碼質量雖然不是最好的,但是也是相當不錯的,而且由於開源社群是由眾人拾材火焰高,所以好的專案會活得更久,這樣的優勝劣汰之下,能夠被大多數人關注的專案的程式碼質量也隨之水漲船高。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978795/viewspace-2775402/,如需轉載,請註明出處,否則將追究法律責任。

相關文章