03.02 為什麼開源軟件比正常收費軟件體積小?

艾木豐夢想團隊


開源軟件多數都是免費的,而收費軟件通常又是不開源的。現在是市場經濟,一般說來,價格高就肯定有它高的價值,要麼是質量好,使用價值大,要麼就是產品稀缺,供不應求。

那麼為什麼很多知名開源軟件質量很好,卻免費供應呢?這是因為開源軟件作者免費貢獻後,希望全世界的高手也同時免費幫助他一起完善代碼,讓軟件變得更好。從這個角度來看,他並不吃虧。

現在問題來了,要讓更多的不認識的人一起完善開源代碼,那前提是軟件必須好用。光好用還不夠,還有更重要的一點:通用性強!就是說要針對通用領域,且符合大多數人的胃口,不要帶太多個性化的東西。

所以,我們見到的多數知名開源軟件的用戶接口(UI)都是非常簡潔的。軟件工程中最棘手的需求問題,在這裡根本不是事。開源軟件的需求往往都非常清晰簡單。否則,通用性得不到保障,開源出來意義就不大。

還有一個現象,絕大多數開源軟件的界面也都是很樸素的,甚至乾脆就沒有界面(用命令行)。原因類似,界面是個性化的東西,每個人審美都不一樣,有些軟件公司還要請專業美工來搞。

開源軟件作者開源的初衷,是讓更多不認識的人幫他完善代碼。所以他總是假定使用者具有足夠高的軟件編程水平。這就導致了用戶使用起來不太友好,操作繁瑣,缺乏傻瓜化的“一鍵操作”。意思很簡單:

你要是不會用,那就別用,反正我也是免費給你的,沒有形成購買合同。你要是真不會用,你這水平,我也指望不了你可以幫我一起完善這個開源軟件。

用一句話概括就是:免費的開源軟件,你愛用不用。

收費軟件就不一樣了,如果收費軟件不極力討好用戶,用戶就不會再來購買。收費軟件,顧客就是上帝。顧客通常都是沒有計算機專業背景的普通用戶。

針對普通用戶,用戶界面(UI)是極端重要的,就如同一個女子的臉蛋和身材一樣重要。而在UI上的代碼量通常很大。因為多數時候,都可以用工具(或複製粘貼)自動生成冗長的UI代碼。更重要的是,UI往往都帶大量的圖片,甚至音頻、視頻。

收費軟件往往不再針對通用領域,而是帶有大量的業務邏輯,大量的增刪改查。代碼量也會大幅增長。

收費軟件為了迎合用戶,會集成一大堆工具或插件,方便用戶使用。開源軟件的理念則是,你也可以用(第三方)工具和插件,但請自己去尋找或集成進去。為什麼開源不去代勞,前面說過了,不通用(每個人想用的工具、插件不盡相同)。收費軟件收費,其中一個原因就是,開發、集成整合這些東西是很苦逼的事情,花費大量人力。

收費軟件之所以貴,一是因為可能針對個性化特定應用,二是可能操作簡單,界面友好,傻瓜化操作,節省了用戶的學習成本(時間就是金錢,用戶用錢來買簡單易用)。最簡單的例子,為什麼Windows收費,Linux免費?原因其中之一,因為前者簡單易學。傻瓜化操作的代價,就是體積大,臃腫。

總結一下,通常情況下,收費軟件有漂亮的用戶界面,其中包含體積很大的圖片、音頻視頻;收費軟件自帶個性化的業務邏輯,代碼量較多;收費軟件集成大量工具和插件。這些,都使得收費軟件體積變大。


犍為真人


很高興來為你解答該問題

所謂開源軟件,指的是開放源代碼軟件,那麼他的代碼內容就公佈於互聯網,被全球人所閱讀,故而下載的都是源代碼,可以自己隨意修改,需要自己安裝時再進行編譯。而收費軟件,也就是沒有開源的軟件,是由開發商自己編寫的代碼,自己商用,代碼已經編譯完成,封裝打包成安裝包後供其他用戶下載安裝。所以兩者在下載時文件大小會有所不同。


一 、對於開源軟件,所有開發者或者使用者都有機會挑錯和改進優化,使其代碼邏輯性更加完善,代碼量縮小,這樣使代碼的改進也會極大縮小封裝後的體積大小,再有下載的開源軟件一般都是下載的tar.gz格式的壓縮包(未編譯的大小),在linux上解壓,編譯,安裝後其實和其他軟件也差不多大,而未開源軟件,下載的都是以exe結尾的文件,是開發者已經編譯完成封裝好了安裝包。其他使用者不能反編譯,去查看到代碼的內容,自由自己開發者知道,其中代碼的優質或劣處無人知曉,也許一個bug,會有上千行的代碼來解決。所以光一個代碼也會增加軟件整體大小。故而兩者相比下載是的文件包大小不同。




對於開源和非開源的軟件存在的安裝包大小,還會有開源軟件中不會有任何廣告的插入,而非開源軟件中會有各種廣告的接口。


以上就是對開源軟件比正常收費軟件(非開源軟件)體積小的原因,希望回答可以讓你滿意。 如果你有不同的見解,可以在下方留言評論,一起交流。熱愛開源,追求自由!


學派少年


你好:

開放源碼軟件(open-source)是一個新名詞,它被定義為描述其源碼可以被公眾使用的軟件,並且此軟件的使用,修改和分發也不受許可證的限制。開放源碼軟件通常是有copyright的,它的許可證可能包含這樣一些限制: 蓄意的保護它的開放源碼狀態,著者身份的公告,或者開發的控制。“開放源碼”正在被公眾利益軟件組織註冊為認證標記,這也是創立正式的開放源碼定義的一種手段。


收費軟件是一種針對客戶定製來收費的軟件,按照雙方協議來進行收費。


開源軟件比正常收費軟件體積小的具體原因如下:

1、開源的軟件一般情況下只包含需求功能的基礎功能,一些高級功能未添加到裡面,所以顯得開軟件的體積較小;


2、收費軟件一般情況下會存在在基礎的框架上添加一些客戶定製的功能,隨著功能越做越多,導致軟件越來越臃腫,導致收費軟件體積較大,例如最開始的Linux/Unix系統,都很小,經過開發商對這些系統進行封裝,添加一些上層功能之後,軟件的體積就變得越來越大,如現在的Android系統就是在Linux系統上層添加了許多功能,導致軟件體積變得越來越大;


3、開源軟件一般都是經過一些自由開發者進行貢獻進行開發的,他們會對整個軟件進行優化,優化一些不需要或者冗餘的代碼,總體的降低了代碼量,但是提高了軟件的質量,因此降低了軟件的大小;


4、開源軟件一般是純淨的,不會包含一些外置的鏈接之類的,像付費軟件,一般會包含一些其他的外置接口,如廣告之類的。


以上是開源軟件為什麼比收費軟件體積小的原因,希望我的回答您可以滿意!


奕雙分享


很簡單不少大型軟件公司是按照軟件代碼量(不是質量),甚至有全自動的代碼質量檢測工具(減少重複代碼算工資的軟件),所以不少高手採取轉義或混淆增加代碼量所以……編譯出來的結果就是……


藍鳥啃蘋果


有沒發現很多開源軟件就是個“半成品”,界面渲染效果很醜?


梨花兒


開源一般是為了兼顧通用性,所以很多定義擴展需要使用者自己定義,小巧更容易吸引開發者使用,如果太過臃腫,用戶體驗就會下降,開發者就會捨棄。


頹廢131760435


哪來的結論了,你是調研了幾個軟件了。


分享到:


相關文章: