把程式**全部公開是非常符合人性。這大概因為人性是懶惰的。
既然能夠用電腦完成,就不要用人來完成。但電腦還是需要人來控制。
於是,有眾多的人辛辛苦苦地加入了程式設計師的行列裡。
開源後程式設計師也可以懶一些,把除錯**和增加功能交給了大眾。同時獲益的也有大眾,他們可以不做出重複勞動了。是的,多好啊,他們可以不做出重複勞動了。
等一下……
不是這樣的,有多少開源專案都被放在sourceforge, google code, github上,然後就沒人維護了,這時候再來乙個人做乙個大同小異的專案。很差的程式不會因為開源有任何長進,一般的程式因為開源會有一定的長進,而對於優秀的程式,開源是如虎添翼——當然也有乙個前提,就是翅膀確實足夠大(或者說外圍參與進來的程式設計師足夠多)。換算一下,面向使用者的應用,比如瀏覽器,每一萬個使用者裡不到乙個有能力提交一行的**補丁的人,那麼自己的程式到底需要發展多大才能夠借助開源的威力呢?以這樣的要求衡量開源專案確實太苛刻了,然而歷史一貫很殘酷,上千個開源專案,有幾個能夠50年後還存在?電腦才發明多少年呢?
幻想未來不如談談當前
問乙個符合當前物質化的時代背景的問題:
開源怎麼才能盈利呢?
很簡單,只要把人性介面設計的特別差,讓大多數使用者不會使,那麼就可以向使用者收取培訓費用。你看,我都把**給你了,你看,這世界上有那麼多人會配置apache和mysql,你自己不會,那就學。
這是比較簡單的想法,然而真理往往不是看起來那麼簡單的。
[url]
開源,不只是一種理念,更是一種謀略。比如說幾十年前的蘋果和pc之爭已經沒有懸念了,ibm通過開放它的平台,最後把蘋果圍困在其中,如果不是有jobs和他領導的極具天分的人,蘋果或許早已被收購了。開源的核心目的是成為被人人踩的巨人,(不是被人人踩的矮子),就是你走一步,大地都會顫抖。
但是大地不能塌下去。
翹起地球需要支點,開源也需要它的支點。更重要的正如之前我鏈結給出的joel的文章所講,開源更重要的是作為槓桿的一端,乙個東西成本低,那麼別的東西自然可以漲價。服務,作為目前最流行的另一端,並不是乙個最好的主意,它給自己藉口不去完善使用者體驗,然而目前似乎沒有看到更好的出路。
或者說,對於摸索出路的先驅,只有時間來檢驗最後誰是真正的巨人。
無論最後誰走對了,眾多先驅的名字就算會被遺忘,然而這種勇氣還會繼續。
這也是人性的一部分。
學習從自己開始
人生苦短,轉眼大學生活已過大半,回首往事,覺得自己很傻,浪費愛戀很多時間,而學到的知識卻是少之又少,所以現在決定發奮圖強,狂補一下了!現在我們正在學習資料結構,我每天就是去上上課,感覺日子過得很輕鬆,但是沒完我睡在床上,感覺自己一無是處,除了上課時間之外,我的時間全花在同外國人聊天了,雖然這對我的英...
從KNSocket開始 未完)
這是乙個適宜於windows與linux雙環境編譯的包。當然其中有些地方需要編譯前手工調換。下面以linux環境為主進行解析。預備的一些格式。這裡為了適用於不同環境編譯。大量使用了類似以下結構的預編譯形式 很顯然,能在跨平台編譯的原因就在這裡。接下來就是我們需要解析並理解的例項 首先 全域性參數列 ...
軟體從需求開始
軟體從 開始,搞了這麼多年軟體,才體會軟體是從需求而來。軟體環節中最重要的是什麼?是短板。哪個最容易出現短板呢?需求。需求最重要解決的什麼,解決的人的需求,人的問題。所以軟體要解決的問題就是人的問題,所以我們軟體管理中要解決的一切問題,都是以解決人為主線,從這個意義來講,軟體是主觀的。那麼參與軟體的...