我對開源軟體的理解

2021-06-18 04:44:10 字數 2018 閱讀 3606

這是前幾個月的乙個作業,貼出來和大家一起討論一下(以我blog的流量,應該也沒人討論吧,呵呵)。

讀了《大教堂與集市》,對於開源軟體,有了更深一步的認識,我覺得開源軟體從最初的幾人小作坊,發展到後來書中所說的集市,到現在已經不完全是個集市了,她已經開始對大教堂之類的商業軟體產生了巨大的影響了。

縱觀開源軟體的歷史,也是一部坎坷史,同時也是一部網際網路的發展史,在沒有網際網路之前,可以說是沒有開源軟體的,程式設計師的發展,靠的是僅有的書籍和各個公司的具體專案,大家各自為戰,這好比大航海時代以前的中世紀,各國之間的交流非常缺乏,當然,科技也提高得非常緩慢。各個商業公司在自己的實驗室做著一些工作,大家各自井水不犯河水,開源,在那時都沒有乙個具體的概念。

低速網際網路時代來臨以後就像世界進入了大航海時代,各個散落在世界各地的程式設計師們僅僅通過一根**線就可以連線起來,伴隨著電子郵件,bbs,irc的興起,黑客們之間的交流也變得頻繁和方便起來了,大家都是做軟體的,既然能聚到一起,就能做一些事情了,這時,開源軟體才慢慢興起了,當然,這裡也要非常感謝像微軟一樣的商業公司,人都是有逆反心理的,尤其是黑客,如果沒有他們的強力壟斷和強力阻止,開源軟體也不會這麼蓬勃的發展。

同樣,也是在這個時代,出現了開源軟體的一些關鍵技術和想法,就是文章中所說的集市模式,他完全區別於商業公司的大教堂模式,以一種全新的,自由的,志願的,分布式的方式進行一些偉大的軟體的開發,比如linux,誰會想到乙個大學生的習作,會在全世界的黑客幫助下成為乙個世界級的作業系統,這是乙個典型的集市模式成功的例子,通過興趣,郵件列表驅動乙個軟體的誕生,同時也是這個成功的例子,讓很多人非常推崇linux這種集市型的開發模式。

但是在大航海時代,還是有一些制約的,網路速度跟不上,各種聯絡工具還沒發展起來,統一的交流平台還沒有什麼規模,所以此時的開源軟體還只是一部分黑客們的玩物,並且由於語言的原因和社會發展度不同,還只是英語系和發達國家的專屬,畢竟在90年代,很多發展中國家的人連電腦都沒見過,也沒有什麼人從事軟體開發職業。

高速寬頻網際網路出現以後,就像人們進入了航空時代,極大的帶動了開源軟體的發展,大家的交流更加的頻繁,同時出現了很多社群和平台,大量的人進入到軟體開發這個行業,並且隨著各個發展中國家的人員也投入到軟體開發行業中,讓開源世界有了更多的思想和發展,比如**ruby** 就是非英語的日本人發明的,**github** 也是基於ruby社群發展起來的,**lua** 就是巴西人發明的,各種遊戲指令碼中也大量的應用了這個語言,**nignx**就是**子開發的,等等這些還有很多。

在航空時代,開源軟體社群的發展實際上也進入了航空時代,這些之前由一些黑客把持的東西,越來越多的開放給了大眾,現在,任何人都可以在googlecode,github上獲取**,修改**,提交**,有任何好的**,你都可以提交到這些**上,並且還是免費的,只需要等待別人發現就行了。

由於開源軟體越來越好的發展,使很多大公司都開始參與到開源軟體中來了,使用和修改開源專案,更好的帶動了開源事業的發展。也使開源專案越來越滲透到商業專案中來,讓這個本來由it行業專屬的東西應用到了更多的領域,比如android。

同樣,在這個時代,由於大量的開源專案,使得想要進入it行業的學生們有了比之前更好學習方式,比如乙個計算機專業的學生,學完作業系統課程,想自己實現乙個,放在多年前,是很困難的,畢竟實現起來還有很多很多具體的問題,而現在呢,github一搜,大把內容,再加上virtualbox這樣的開源虛擬機器,讓你實現乙個作業系統或者乙個編譯器都變得非常容易了。

之後的開源軟體將如何發展?會不會進入到乙個航天時代?現在也看到了一些端倪,目前幾乎所有的商業專案,不管多麼大型的,都基本上有乙個成熟的開源實現,就連google**說的分布式檔案系統,mapreduce這樣的都有hadoop這樣的開源實現,雲計算中的虛擬化,大型的xenserver之類都已經開源了,今天剛剛看到的新聞,xenserver全面開源了,計算機行業進入了雲時代,而雲時代的東西幾乎都有開源軟體的參與,並且發揮的作用不再是一些邊邊角角,而是非常核心的東西了。

現在的軟體開發人員,如果沒有接觸過開源軟體,那他可能算不上乙個合格的開發人員,相信到以後,乙個開發人員沒有參與過乙個開源專案,那他也算不上乙個合格的開發人員吧。

我對開源運動的思考

今天無事瀏覽網頁,看到袁萌老先生的部落格上關於開源軟體的一些文章,讓我又想起開源軟體的前途。我是乙個菜鳥級的技術愛好者,熱衷於程式設計,但卻沒有取得多少成績。作為乙個程式設計愛好者,我深知開發軟體不易,開發出人性化的軟體更不易,程式設計師必須投入大量的精力和時間。試想你花費大量時間和精力寫出來的凝聚...

對開源軟體的一些思考

不再刻意只關注開源軟體了。軟體都是人類的智慧型 努力的結晶,不管是開源還是閉源。當然如果是尋求跨平台的軟體 其中開源軟體中的跨平台軟體居多 在幾個作業系統上都使用同乙個軟體也未嘗不可,這樣一定程度上也可以節約學習使用軟體的學習成本。開源軟體的存在並不一定是為了替代商業軟體,可以是當由於某種原因不能使...

從畢業到現在,我對開源的理解有了些許微妙的變化!

時間輪撥回到3年前,那是剛剛畢業,在某公司面試,時間再往前撥點,在乙個大學教室裡,講的是馬列哲學,放著綜藝節目 魯豫有約 80後財富新貴 他們能做到的,我為什麼不能做到?之後那半年我在圖書館拼命學習入門php語言。初入職場,還不懂php框架是什麼玩意?剛開始看了一點codeigniter,後來公司又...