開源不應作為推薦的理由

2021-04-20 00:53:00 字數 2612 閱讀 8522

明天去學校啦,近兩個月的暑假結束了,來總結總結這個暑假的經歷。早在放假前,我就計畫好了,這個暑假一定要熟悉一下 linux 的使用。在這個期間,我也看到很多開源人士和 windows 的鐵桿粉絲們在論壇等地方吵架。有個支援開源的朋友說:「當你聽到開源軟體時是什麼感覺?給我的,是感覺親切,沒有濃重的商業氣息。」;還有很多軟體商,在向使用者推薦自己的產品時,都不忘加上一句,「我們的產品是完全開源的」。

於是我開始思考了,對我來說,開源的軟體和非開源的軟體區別在那兒

首先闡明一下,我是軟體工程的學生,但現在先暫時擱下這個不說,我就從作為乙個普普通通的使用者來說,乙個像我爸爸媽媽這樣的電腦盲的角度來說:軟體開不開源,與我何干?

有一點不能否認,電腦再怎麼神奇,充其量就是乙個便捷的工具而已。既然它作為我的工具,我所在乎的僅僅是它能不能高效地替我完成任務而已。

我來說說我這段時間用 linux 的體驗,我用的發行版是 fc6,在新華書店花68 rmb買的。總體感覺非常不錯。我時常要讚嘆一下它的強大和靈活。但是,有時讓我也感覺很煩心。

一開始,我先讓自己去熟悉 vim 編輯器,因為我要用它來程式設計,熟悉自己的開發工具,能提高開發效率。vim 提供的功能確實想大,所以有人把他和 emacs 並列稱為最強大的編輯器。但是,剛預設安裝完的 vim,還是很簡陋的,需要根據的需要進行設定。比如,我要開啟語法高亮功能、智慧型縮排、自動填充語句、還要**摺疊等等。我用的都是一些簡單的基本功能,但由於我是新手,不熟悉,配置還是花了老半天。

最後再動動系統本身,去掉一些不用的後台服務,解除安裝一些自己不用的軟體包(比如藍芽裝置等),最後介面也美化一下。

忙活了半天,總算是用得稱心如意了。我在自己這樣精心搭建的環境下能高效的工作。此時 linux 給我的印象就是配置配置還是配置。但我突然想起了自己以前還沒未接觸 linux 時,曾經和同學抱怨過:自從有了 ghost 來安裝系統,安裝乙個系統只要20來分鐘,但接下來裝驅動、裝軟體等配置乙個滿意的 windows 卻要花掉一天!所以 windows 也一樣。

無論是 windows 還是 linux,我都是根據我自己的需要進行了個性化配置,而它們經過我的配置,都能滿足的那些需要,完成我指定的任務。就這一點來說,至於我用的是不是開源軟體,的確和我沒太大關係。在我看來他們是一樣的。

那我關心的是什麼呢?我舉個例子,在 windows 環境下,我用 visual stdio 2005 來編寫**,vs 2005 也提供了語法高亮功能、智慧型縮排、自動填充語句、**摺疊等功能。就功能上說,vs 2005 帶給我的,和 vim 是一樣的。都能滿足我的需求。但有一點,讓我對 vs 2005 多一點好感,就是這些我想要的功能預設安裝後就直接提供的,不需要自己額外去配置,去安裝外掛程式。

這就是我比較在乎的問題,像我這樣如此被動的使用者,只有在不得已的情況下,才會去親自動手配置軟體。一般情況下,都是直接預設安裝軟體的。如果兩款軟體,實現的功能一樣,但其中一款預設的設定最解決我的個人喜好,那我想我肯定會選擇使用它!因為我安裝完就能馬上使用了,這軟體就像是我老朋友一樣,知道我的喜好,知道我需要什麼樣的功能。

但我們老師一直在和我強調說,開發軟體的真諦是「只提供機制,不提供策略」。其實我一直不苟同這一說法。我是覺得軟體「既要提供機制,也要提供策略」。

不曉得大家用的是什麼中文輸入法?在 windows 下,我以前是用智慧型abc ,智慧型abc 雖然智慧型,但還不是非常好,它的詞排列順序是固定的。後來我用了谷歌輸入法,它能把你頻繁地輸入的字自動考前,下次輸入時詞的排列順序就按使用頻率來排序了,自然使用者能很快找到自己需要的字,就好像這個輸入法知道自己在想什麼,每次出來的都是我想要的。這樣的軟體我用起來感覺很舒心,雖然它不是開源的。

但要真的實現如此舒心的軟體,是非常困難的,它需要大量的需求調查,了解使用者們真正的需求,甚至還包含一些心理學上的知識。而再神奇的功能,如果沒有需求,那也是廢物乙個。有個經典的例子,至今有老外還在使用 win 95 (原文請看這裡),按他說的,這也是乙個需求的問題,win 95 提供的功能已經很好的滿足它的要求了。

因此,對於我們使用者,你和我說軟體開源(不一定是無償免費開源),對我來說那不關我的事,我在乎的是你的軟體能不能高效地完成我給定的任務,是不是我每做乙個小動作,都要先配置老半天?

而對開源感興趣的人,我想應該是此類產品的開發者,他們需要通過源**來借鑑其他人的技術,並以此來交流和提高自己的水平。這個暑假中,我在編寫一些  linux 程式時,也借鑑了 tr、curl 等程式的源**。所有,向開發團隊去強調開源,那是比較明智的,而不是在一堆電腦盲面前吹噓不停。

後記:這兩天我突然有了乙個很「瘋狂」的想法:是不是開源軟體是故意這樣做(只提供機制,不提供策略)的?因為開源軟體是不通過買賣軟體來賺錢的,而是通過後期的培訓和維護等服務來賺錢的。但如果開源軟體前期也做過充分的市場調查,了解使用者的需求,然後在軟體設計時,預設的設定最大地滿足了大部分群體的需要。那也就意味著 linux 等開源軟體也簡單易用,容易上手。這麼以來,大部分使用者就不需要去培訓和維護服務了。那開源軟體靠什麼來賺錢?

所以,撇開自己使用源**這一點來說,純粹的在使用者使用這個立場上來講,開發開源的軟體比開發商業軟體要容易:因為開源軟體前期不用考慮使用者的需求,只有後期使用者需要什麼需求我針對性的進行培訓,這樣每個使用者手中的軟體經過自己的配置,可能都是不一樣,這樣能滿足所有使用者的個性需求;而商業軟體前期有點「**性」的估計使用者的需求,然後到了使用者手中的軟體配置都是一樣,這樣就不一定能滿足所有使用者的需求。要自己配置的話反而另外還得去培訓等,這比起開源多了乙個環節。

盤盈的存貨一般應作為什麼處理

企業進行存貨清查盤點,應當編制 存貨盤存報告單 並將其作為存貨清查的原始憑證。經過存貨盤存記錄的實存數與存貨的賬面記錄核對,若賬面存貨小於實際存貨,為存貨的盤盈 反之,為存貨的盤虧。對於盤盈 盤虧的存貨要記入 待處理財產損溢 科目,查明原因進行處理。企業在財產清查中盤盈的存貨,根據 存貨盤存報告單 ...

PredictionIO 開源的推薦系統

width 100 height 500 src allowfullscreen predictionio 是乙個用scala編寫的開源機器學習伺服器應用,可以幫助你方便地使用restful api搭建推薦引擎。predictionio的核心使用的是乙個可伸縮的機器學習庫,基於spark乙個完整的端...

值得推薦的android開源框架

帖子比較久,部分框架比較早 專案位址 2 網路請求的排序 scheduling 3 網路請求的優先順序處理 4 快取 5 多級別取消請求 6 和activity和生命週期的聯動 activity結束時同時取消所有網路請求 文件介紹 主要有四大模組 finalbitmap可以配置執行緒載入執行緒數量,...