自由和開放源代碼軟件的隱藏的缺點(diǎn)
自從政府指定的受版權(quán)保護(hù)新技術(shù)使用委員會(CONTU)在1974年將軟件指定為版權(quán)以來,在兩種流行的軟件意識形態(tài)(開放源代碼和封閉源代碼)之間發(fā)生了一場戰(zhàn)爭。
為了給出一個(gè)概述,封閉和開源軟件在處理程序的源代碼方面有所不同。 您可以將程序的源代碼視為菜肴的配方。試圖從閉源程序中收集源代碼就像通過吃完成品來破譯菜的食譜一樣簡單。 開源軟件讓任何人都可以隨意查看和修改其配方。他們這樣做是因?yàn)樗麄冋J(rèn)為互聯(lián)網(wǎng)應(yīng)該是一個(gè)用戶可以自由查看和修改他們機(jī)器上運(yùn)行的代碼的地方。 另一方面,封閉源代碼創(chuàng)建者保持該源代碼的秘密。 他們出于各種原因這樣做,但主要是為了保護(hù)他們的版權(quán)。 如果食譜全部通過互聯(lián)網(wǎng),他們的秘密調(diào)味將不會是那么秘密。
我們已經(jīng)閱讀了數(shù)十篇文章,試圖說明封閉源碼在開源方面的優(yōu)勢。 這些文章經(jīng)常引用半真或徹底的不誠實(shí)來源來支持他們的主張。 不可避免的是,這些文章充斥著憤怒的開源支持者,他們一行一行地撕開文章。
所以,這篇文章并不打算封閉開源的優(yōu)越性。 但是,它會試圖說明這個(gè)觀點(diǎn)的兩個(gè)方面都忽略了一些觀點(diǎn)。
開始吧。
專有軟件將您鎖定到供應(yīng)商; 免費(fèi)軟件將您鎖定到解決方案中
當(dāng)您承諾開源軟件時(shí),您承諾有兩件事情:花時(shí)間和資源維護(hù)軟件以滿足您的需求,或相信開源社區(qū)將為您處理這種支持。當(dāng)然,如果你的團(tuán)隊(duì)足夠大,投入一些資源來維護(hù)你的軟件是沒有什么大不了的。 但是,大部分中小型球隊(duì)都沒有人手。
如果您使用的是封閉源代碼解決方案,那么切換供應(yīng)商可能是一個(gè)非常昂貴和耗時(shí)的過程。 例如,如果您的公司使用Adobe軟件,由于它們與其他軟件之間的所有集成,遷移到新解決方案的成本將是巨大的。開源支持者指出,成本和難度是封閉源碼軟件的主要缺點(diǎn)。 雖然這種批評是公平的,但是卻留下了一個(gè)關(guān)鍵點(diǎn):開放源代碼軟件也鎖定了你。
使用專有軟件,提供公司有責(zé)任確保軟件滿足所有用戶的需求。 這實(shí)際上是分發(fā)閉源軟件的一個(gè)要求,因?yàn)橛脩舨荒茏杂傻囟ㄖ谱约旱拇a來滿足他們的需求。
另一方面,開放源代碼軟件將其留給最終用戶來定制軟件以滿足他們的需求。 所以大多數(shù)開源軟件在用戶的手中變成了一點(diǎn)點(diǎn)不同的東西。實(shí)際上,由于開源允許公司采取框架并將其擴(kuò)展為適合其用途的高度定制的應(yīng)用程序,因此大多數(shù)開放源代碼軟件在其眾多用戶的手中獨(dú)占鰲頭。這里的另一個(gè)重點(diǎn)是開源軟件開發(fā)人員沒有義務(wù)為他們創(chuàng)建的軟件提供支持。 而大多數(shù)時(shí)候,他們不。
這意味著當(dāng)您使用開源軟件時(shí),您將面臨所有維護(hù),支持,升級和故障排除的煩惱。 隨著維護(hù)開源解決方案的資源數(shù)量的增加,解決方案之間遷移的成本(至少在工時(shí)方面)與封閉源代碼的成本相當(dāng)。
換句話說,開放源代碼也會鎖定你,就像封閉源代碼一樣。
如果你期望免費(fèi)支持,你(可能)不會得到它
論壇是偉大的,但所有的軟件,有時(shí)你只需要個(gè)性化的支持,正確地解決您的問題。 開源的美妙之處在于,軟件越大越好,社區(qū)支持就越好。然而,沒有任何社區(qū)生成的支持相比,方便有經(jīng)過培訓(xùn)的專業(yè)人士走過問題的解決方案。
只有像Firefox或WordPress這樣的非常大的開源項(xiàng)目才有專門的支持團(tuán)隊(duì)。 考慮一下:即使Firefox是全球最受歡迎的瀏覽器中的第四(或第三,取決于你的源代碼),它仍然將大部分支持外包給一大批志愿者。
開源支持的另一個(gè)挑戰(zhàn)是,由于您通常會修改軟件,即使您得到支持,您的軟件版本可能也不是他們熟悉的。 這種假設(shè)的支持不會像專門的專有支持那樣有用。
所以,當(dāng)你希望免費(fèi)程序的免費(fèi)支持,你希望人們會出來幫助你出于善良的心。 他們有時(shí)做。 但是,期待所有的時(shí)間都會導(dǎo)致糟糕的事情。
關(guān)于支持的另一點(diǎn)
在談?wù)撝С值耐瑫r(shí),還有一件重要的事情需要提及:開放源代碼支持者認(rèn)為,當(dāng)您購買封閉源代碼時(shí),您大多只是在為支持付費(fèi)。 雖然我們不同意,但我們不會把重點(diǎn)放在反駁這一點(diǎn)上。
假設(shè)你只是用閉源支付支持。 所以呢? 根據(jù)Univa主導(dǎo)的調(diào)查,27%的開源用戶認(rèn)為“缺乏企業(yè)級支持”是他們最大的痛點(diǎn)。更重要的是,這個(gè)痛點(diǎn)是所有痛點(diǎn)中最普遍的,包括可用性,維護(hù),崩潰,錯(cuò)誤等等。
另外,64%的開源用戶表示愿意為高質(zhì)量的軟件支付費(fèi)用,22%的人認(rèn)為企業(yè)級支持是他們最重要的考慮因素
所以,對一些人來說,他們愿意為支持付費(fèi)。
關(guān)于開放和閉源安全的一些觀察
關(guān)于安全問題,關(guān)閉和開源軟件之間的爭論是最激烈的。
反對開源軟件最常被引用的觀點(diǎn)之一是,由于每個(gè)人都可以訪問源代碼,所以在新手上植入惡意代碼或識別漏洞更容易。另一方面,開源軟件的支持者認(rèn)為,由于越來越多的人參與開源軟件的開發(fā),錯(cuò)誤和缺陷被發(fā)現(xiàn)的可能性就越高。
這一切都?xì)w結(jié)為你的感受:多手做輕工,還是做太多的廚師寵壞了肉湯?
事實(shí)證明,雙方都是正確的。 至少,任何一方都沒有被證明是正確的。
最后得出的結(jié)論是:開源軟件不是更安全,因?yàn)楦嗟娜丝催@個(gè)軟件,閉源軟件不是更安全,因?yàn)樗ㄥX。
但是你來這里找答案,所以我們會更深入地探討這些問題,盡管他們可能是泥濘的。
Coverity掃描報(bào)告和Heartbleed
為了提供一些有關(guān)閉源和開源安全辯論的深入見解,舊金山的靜態(tài)和動態(tài)代碼分析開發(fā)公司Synopsys推出了Coverity掃描報(bào)告。 在報(bào)告中,他們測試了數(shù)億行代碼,以確定每千行代碼的平均缺陷數(shù)量。
他們發(fā)現(xiàn),總的來說,開源和閉源之間的平均缺陷密度幾乎是相同的:開源軟件每千行代碼有0.69個(gè)缺陷,封閉源代碼每千行代碼有0.68個(gè)缺陷。但是,根據(jù)項(xiàng)目的規(guī)模,總體代碼完整性存在差異。 開源軟件的代碼庫越小,缺陷越少,而封閉源代碼軟件則相反。 總而言之,掃描的結(jié)果可以用“依賴”來概括。
然而,當(dāng)事情真的變得渾濁的時(shí)候,你認(rèn)為“錯(cuò)誤”并不一定等同于“安全漏洞”。
考慮一下:順便說一句,Heartbleed Bug是受歡迎的OpenSSL軟件庫中的一個(gè)嚴(yán)重的漏洞,它是開源的。 它允許黑客盜竊其他加密的信息,如密碼和信用卡號碼,而不留下痕跡。自2014年被發(fā)現(xiàn)以來,它已經(jīng)被修補(bǔ),但是它震撼了全世界對互聯(lián)網(wǎng)安全的信心。 它的影響今天仍然可以感受到。
這是一個(gè)小的,幾乎沒有意義的錯(cuò)誤,導(dǎo)致了OpenSSL漏洞。 事實(shí)上,這個(gè)錯(cuò)誤是微不足道的,2014年Coverity掃描甚至沒有收到。
所以說,當(dāng)涉及到安全問題時(shí),就要用一粒鹽來提出要求。 事實(shí)是,大多數(shù)情況下,我們不知道存在一個(gè)漏洞,直到被利用。
開源軟件很少進(jìn)行可用性測試
大多數(shù)開源軟件是由開發(fā)人員為開發(fā)人員制作的。 雖然我們不喜歡概括,但我們認(rèn)為公平的說,開源軟件通常比設(shè)計(jì)和可用性更注重功能。 這意味著開放源代碼軟件通常是最糟糕的,最糟糕的情況是令人困惑。
當(dāng)然,很多封閉源代碼軟件也很難使用。 不同之處在于,付費(fèi)產(chǎn)品對設(shè)計(jì)和可用性有很好的期待。 這通常意味著封閉源代碼開發(fā)者更加關(guān)注這些事情。 專有軟件分銷商比開源軟件分銷商更有可能擁有可用性專家。
關(guān)于開源模式的資金和可持續(xù)性的最后說明
Heartbleed的bug并不是OpenSSL嚴(yán)重資金不足的結(jié)果,OpenSSL是一項(xiàng)為大多數(shù)網(wǎng)絡(luò)提供支持的技術(shù)。 這是由任何人都可能犯下的一個(gè)簡單的,誠實(shí)的錯(cuò)誤造成的。 “紐約時(shí)報(bào)”把它比喻成小而簡單的東西,比如拼寫錯(cuò)誤的“密西西比河”。
然而,當(dāng)你認(rèn)為OpenSSL是由四個(gè)編碼人員組成的團(tuán)隊(duì)編寫的時(shí)候,只有其中一個(gè)全職工作在這個(gè)項(xiàng)目上,如果更多的開源項(xiàng)目獲得了資金支持,那么很容易質(zhì)疑是否會發(fā)生漏洞。 人力配合其廣泛使用。
這不僅僅是OpenSSL。 許多開源項(xiàng)目遭受同樣的資源干旱。
因此,當(dāng)您為閉源軟件付費(fèi)時(shí),您不僅僅是為了支持付費(fèi),而是為了延續(xù)產(chǎn)品的壽命。
開源還是封閉源? 它取決于個(gè)人喜好和經(jīng)驗(yàn)
我們希望在過去你沒有考慮的關(guān)于開放源代碼的辯論中,我們已經(jīng)開啟了你的眼睛。 這篇文章的重點(diǎn)確實(shí)是為關(guān)于封閉和開源之間的差異做出明智的決定奠定基礎(chǔ),我們希望我們?yōu)槟龅搅诉@一點(diǎn)。
最后,無論是封閉還是開源,最好的軟件都是幫助您盡可能高效地完成工作的軟件。 對于全球數(shù)百萬人來說,UltraEdit就是最好的軟件。
我們希望有機(jī)會向您展示為什么我們對我們的軟件如此自信。

京ICP備09015132號-996 | 違法和不良信息舉報(bào)電話:4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動畫