1. 程式人生 > >開源與不開源的區別

開源與不開源的區別

我們想象一下一項任務的開發如果沒有開源的話,想要讓這個系統的所有的功能得以實現這整個過程都是要由等著它的開發廠商自己來解決的。而系統中自己產生的一些BUG,也只能等著開發廠商來修復,如果開發廠商本身沒有發現,這些BUG就會永遠的存在。

在之前Windows本身是不支援開源的,所以我們就得不到微軟本身的程式碼,所以我們就無法把Windows和智慧電視的相關功能相結合;然而Linux是開源的,所以我們可以把Linux移植到手機中執行;因為.Net Framework不開源(真正的),所以無法在Linux下執行.Net程式;而因為Mono是開源的,我們可以藉助Mono來實現使用C#/.Net開發Android、IOS應用(MonoTouch是使用C#/.Net開發

IOS應用的技術,Mono For Android是使用C#/.Net開發Android應用的技術,而Unity3d則是使用C#開發跨IOS、Android、Windows等平臺的遊戲開發技術);因為Android開源,所以不需要谷歌提供,就有人把Android移植到X86架構CPU下,這樣我們就可以在x86 PC機上安裝執行Android作業系統。

所以由此看來開源和不開源的區別還是非常大的,它的作用也是很大的,開源最大的魅力就在於不依賴於某個廠商,大眾都可以修改程式碼以滿足自己的需要,千萬個“自己的需要”就匯聚成了偉大的產品,任何違背這個理念的開源都是“偽開源”。
    開源不是簡單的公佈原始碼,如果有個人將自己開發的一款原始碼公佈到網上之後,並沒有通過git、svn等把原始碼管理起來,而且之後的嗲嗎修改彙總管理也是無人問津的,只能是提供對這個軟體感興趣的人進行下載,然後自己在做進一步的修改,讓自己用,這樣沒有做出貢獻的開源,就失去了開源背身的價值。