談起開源,我相信各位可以說出目前非?;馃岬暮芏嚅_源產(chǎn)品Linux、MYSQL、MangoDB、Memcached、Redis、JQuery、Hadoop、android……,就連曾經(jīng)對開源持?jǐn)硨B(tài)度的微軟都開始擁抱開源:ASP.NetMVC中把開源的JQuery做為默認(rèn)的JS庫、ASP.NetMVC開源、支持Mono(可以看做開源的.Net)的發(fā)展、嵌入式系統(tǒng).NetMF開源。要知道微軟曾經(jīng)把禁止參與任何開源項目做為員工規(guī)范的,可見開源的影響力和作用已經(jīng)越來越大。
但是很多人對開源有著誤解:
有人在博客上發(fā)布一款自己開發(fā)的軟件,底下評論就有人喊強(qiáng)烈要求開源;
有人在博客上把自己開發(fā)的一個產(chǎn)品的源代碼發(fā)布出來,標(biāo)題就是某某某開源啦!;
有人在博客上寫一篇一款非開源產(chǎn)品和同類的開源產(chǎn)品對比的時候,底下評論也經(jīng)常會說開不開源對你有啥影響,所有源代碼你都能看到,可你修改過這些源代碼?;
有人認(rèn)為開源就是免費;
有人說開源軟件都是網(wǎng)民開發(fā)的,質(zhì)量沒有保障,還是商業(yè)性大公司開發(fā)的軟件放心;
有人說不敢用開源的東西,源代碼大家都可以看到,那系統(tǒng)的漏洞不也就被人看到了?。
那么什么是開源呢?通俗的講,開源就是功能大家一起完善,Bug大家一起改的眾包協(xié)作開發(fā)模式。以最著名開源操作系統(tǒng)Linux為例,Linux之父Linus開發(fā)出了Linux的初始版本,然后就把Linux以開源的形式交給開源社區(qū)去共同維護(hù)。沒有一個像微軟的Windows團(tuán)隊那樣的大公司來維護(hù)Linux操作系統(tǒng),都是開源社區(qū)的各位愛好者以及廠商去發(fā)展和維護(hù)Linux:
某個數(shù)學(xué)牛人A感覺Linux應(yīng)該有科學(xué)計算的功能,因此就自己開發(fā)了科學(xué)計算的軟件包提交到Linux,這樣Linux中就有了科學(xué)計算的軟件包;
另外一個人B用了A開發(fā)的這個科學(xué)計算軟件包,發(fā)現(xiàn)還缺少一個自己需要的功能,就把這個功能加到這個科學(xué)計算軟件包中,然后代碼提交到Linux;
微軟發(fā)現(xiàn)需要給Linux增加訪問Windows文件系統(tǒng)的能力,就開發(fā)了Linux訪問Windows文件系統(tǒng)的功能,提交到Linux,這樣我們就可以使用Linux訪問Windows文件系統(tǒng)了;
Novell公司想讓.Net開發(fā)的程序能夠運行在Linux平臺下,就開發(fā)了開源的Mono;
Unity公司使用Mono開發(fā)跨平臺的游戲引擎Unity3d,他們發(fā)現(xiàn)了Mono的改進(jìn)點,就修改了Mono的代碼,并且把修改后的代碼提交回Mono;
參與Linux的開發(fā)者中,有微軟、Novell、RedHat之類的大公司,也有一些小公司及非營利性組織,更有很多的個人愛好者參與;有的貢獻(xiàn)者可能貢獻(xiàn)了上萬行代碼,有的貢獻(xiàn)者可能僅僅提交了幾行代碼;有的貢獻(xiàn)者增加了重要的功能,有的貢獻(xiàn)者也許只是改了幾個Bug……也許單個組織或者個人的貢獻(xiàn)都不大,但是成千上萬的水滴則匯聚成了大海,成就了Linux等這樣偉大的開源產(chǎn)品。
如果沒有開源,那么系統(tǒng)的所有的功能都要等著它的開發(fā)廠商來提供;如果沒有開源,系統(tǒng)的Bug只能等著開發(fā)廠商來修復(fù);因為Windows不開源,所以除非微軟提供,否則我們無法把Windows裝到智能電視里;因為Linux開源,所以我們可以把Linux移植到手機(jī)中運行;因為.NetFramework不開源(真正的),所以無法在Linux下運行.Net程序;而因為Mono是開源的,我們可以借助Mono來實現(xiàn)使用C#.Net開發(fā)Android、IOS應(yīng)用(MonoTouch是使用C#.Net開發(fā)IOS應(yīng)用的技術(shù),MonoForAndroid是使用C#.Net開發(fā)Android應(yīng)用的技術(shù),而Unity3d則是使用C#開發(fā)跨IOS、Android、Windows等平臺的游戲開發(fā)技術(shù));因為Android開源,所以不需要谷歌提供,就有人把Android移植到X86架構(gòu)CPU下,這樣我們就可以在x86PC機(jī)上安裝運行Android操作系統(tǒng)。
開源最大的魅力就在于不依賴于某個廠商,大眾都可以修改代碼以滿足自己的需要,千萬個自己的需要就匯聚成了偉大的產(chǎn)品,任何違背這個理念的開源都是偽開源。
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com