5W1H聊開源之What——開源是什麼?
美國政治傳播學家拉斯韋爾提出了5W傳播模式,經過後人的不斷運用和發展總結,形成了一套逐漸成熟的“5W1H”體系,即:對選定的專案、工序或操作,都要從原因(何因Why)、物件(何事What)、地點(何地Where)、時間(何時When)、人員(何人Who)、方法(何法How)等六個方面提出問題進行思考。
本系列文章就以5W1H體系來講一講開源的那些事。
What——開源是什麼?
開源即開放原始碼,Open
source
code,也稱為原始碼公開,指的是一種軟體釋出模式,一種基於去中心化、自組織式的軟體開發模式運作的工作方式。這個模式中,軟體是開源的最基本含義是:程式碼是公開的,任何人都可以去檢視,修改以及使用。與開源相對的是閉原始碼,閉原始碼就是普通的商業版權軟體,程式碼是封閉的,只有作者才能看到,出了問題也只有自己能修改。
開源軟體就是公開原始碼的軟體。開源軟體在發行的時候會附上軟體的原始碼,並授權允許使用者更改、傳播或者二次開發。
誤解:開源不是什麼
下面澄清關於開源的一些常見誤解:
開源不意味著免費
開源軟體和免費軟體是兩個概念,開源軟體開放原始碼,允許使用者更改、傳播、二次開發。免費軟體是免費提供給使用者使用,但不一定公開原始碼,也不允許隨意修改、二次釋出等。比如我們常用的微信、QQ及大多數軟體,我們可盡情使用,但如果自己新增或刪除了一些功能、甚至釋出在網上供人下載使用以此牟利的話,那就是在犯法的邊緣反覆橫跳了。
當然,大多數開源專案是免費的,但“免費”不是開源定義的一部分。有些方法可以透過雙重許可或有限功能間接地為開源專案收費,同時仍然遵守開源的官方定義。
開源不抵制商業
開源軟體是不牴觸商業的,開源的目的是分享共享,但不是做慈善事業。開源是利他主義的,專有軟體或私有軟體是利己主義的,而開源的商業模式也是利己主義的。利他主義的開源與利己主義的商業模式結合在一起,才能為開源真正做貢獻。具體盈利模式有技術支援、培訓、高階功能、雲服務等方式收費。不同的軟體、不同的領域有不同的盈利模式,但所有模式的基礎都是使用者數。只有使用者數量達到了一定的規模,才有成其商業化模式的可能。
商業開源是透過更多人的參與,減少軟體的缺陷,豐富軟體的功能,同時也避免了少數人在軟體裡留一些不正當的後門。開源軟體最終還會反哺商業,讓商業公司為使用者提供更好的產品。相對來說,後端開源專案最容易商業化,而越接近底層設施的軟體越容易商業化開源。
開源專案不代表最高的程式碼質量
開放式聯合開發,其本質是保證其他參與者無法隱藏低質量的程式碼、漏洞和其他問題,所有程式碼將受到分析和評判。但也有一些開發者的經驗不足和Code
reviewer的疏忽會導致一些不那麼好的程式碼被提交。還有開源社群會進行低效討論,在不同的需求情況下,有時做出最後的決策是妥協了的結果。
同理,任何人都能為開源專案提供程式碼,也並不意味著開原始碼品質較差,因為畢竟大多數是經過了門檻和審查篩選。
所以總體來說,開源專案的程式碼質量雖然不是最好的,但是也是相當不錯的,而且由於開源社群是由眾人拾材火焰高,所以好的專案會活得更久,這樣的優勝劣汰之下,能夠被大多數人關注的專案的程式碼質量也隨之水漲船高。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978795/viewspace-2775402/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 5W1H聊開源之What——開源協議有哪些?協議
- 5W1H聊開源之Why——為什麼要參與開源?
- 5W1H聊開源之Who——誰“發明”了開源?
- 5W1H聊開源之Who和How——誰、如何參與開源?
- 什麼是開源?
- 什麼是開源精神
- “開源”是什麼,能吃嗎?
- 開源堡壘機是什麼?開源堡壘機的優缺點是什麼?
- 開源是什麼意思?開源軟體優缺點有哪些?
- 開源+SEO=什麼?
- 開源+SEO=什麼?薦
- Google 開源主管解釋為什麼開源“殘酷”Go
- 開源與烹飪有什麼相似之處?
- 為什麼GPL是更好的開源許可證?
- 在Linux中,開源的優勢是什麼?Linux
- 【開源訪談】厲華:寫一個開源容器引擎會是什麼樣的體驗?
- 趣說開源|為什麼要參與到開源社群中?
- 系列:開源是一種開發模式、商業模式還是其他什麼?(一)模式
- 為什麼要貢獻開源
- 什麼情況!華為開源JDK!JDK
- 我能為開源做些什麼?
- 我是怎麼做開源的
- 這個原始碼是開源的麼原始碼
- "開源"是什麼?為啥這麼火?一定免費嗎?
- 開源一年,openGauss詮釋什麼是快速成長
- 維護一個開源專案25年是什麼體驗?
- 為什麼OilStates案對於開源界是個好訊息
- 開源app之MyHeartsAPP
- 技術團隊為什麼要開源?
- 開源軟體成為“兵家必爭之地”到底是為什麼?
- Jtti:為什麼大部分Linux系統是開源的?JttiLinux
- GitHub上最火的開源專案及程式語言是什麼?Github
- 尋源和採購之間的區別是什麼?
- 為什麼機器學習行業的發展離不開 “開源”機器學習行業
- What is a Parse Tree? 什麼是解析樹
- 為什麼我變成了開源主義者
- 開源| 直播推拉流2.0升級了什麼
- 把一個庫開源,你該做些什麼