開源軟件與開源軟件生態——現狀與趨勢 閱讀筆記

本文回顧了開源軟件(OSS)的歷史發展脈絡,探討了開源軟件的研究進展及開源軟件對技
術、行業和社會的影響,展望了開源軟件生態系統的演變趨勢。web

開源軟件,從字面上說,是指開放 源代碼的軟件。但開源軟件不是簡單 的源代碼開放,而是代碼創做者在遵循 相關開源協議(如MPL許可證等)的基 礎上,將本身的源代碼所有或部分向世 界公開,容許用戶進行自主學習、報錯、 修改等活動,以共同提升軟件的質量。網絡

1 黑客文化、自由軟件到開源 軟件

20世紀 60—70年代,大部分軟件都是由科研 人員本身編寫。當時,人們廣泛認爲軟 件應該在研究環境中自由分享、交換, 能夠被他人修改或者從新編譯,並應該 與他人分享這些修改。這種自由分享 軟件源代碼的行爲就成爲「黑客文化」 的一個重要特徵。這種文化在麻省理 工(MIT)人工智能實驗室軟件開發小 組中很是盛行[2,3]。
20世紀70年代末,微軟開始倡導 軟件私有化,聲明軟件拷貝須要付費, 而且只提供可執行程序而非源代碼。
20世紀80年代,MIT將由黑客編寫的 代碼受權給一個商業公司,但該公司卻 嚴格限制對這些源代碼的訪問,阻止 MIT的黑客們繼續學習和開發這些軟 件。
1984 年,Richard Stallman辭去了MIT的工 做 ,成 立 了 自 由 軟 件 基 金 會(Free SoftwareFoundation,FSF),但願經過自 由創做的方式開發出一套操做系統。 該計劃稱爲GNU計劃,容許任何人自 由地下載、使用、修改和發佈該軟件。 爲從法律上保證這種自由的權利,通過 斟酌,Stallman提出GNU通用公共受權 許可證(GNU General Public License, GPL)。那些有意將本身的軟件做爲自 由軟件的做者均可以簡單地附上這樣 一份標準許可證,來保證將來用戶的權 利。這種軟件被稱爲「自由軟件」。
1998 年 ,Bruce Perens 和 Eric Raymond指出,在Stallman的「自由」軟 件中存在這一問題,他們與其餘優秀的 黑客一塊兒發起了「開放源代碼(Open Source)」的號召,它包含了與以前的自 由軟件運動相似的許可證內容,但傾向 對軟件許可進行更少的限制。svg

2 開源項目和開源社區:研究關 注點與研究內容

自20世紀末以來,開源軟件取得 了使人矚目的成就,不管在開發質量或 效率上,成功的開源軟件都達到了與商 業軟件相媲美的程度。
在過去十幾年的時間裏,衆多研究 者嘗試從不一樣的角度來理解開源軟件 的開發實踐,總結其成功因素,以促進 開源軟件的發展。這些研究主要圍繞 如下幾個方面的問 題展開:
1)探究開源 軟件的開發過程與 傳統軟件開發過程 的區別。
2)尋找開源 項目吸引、保留貢獻者,進而圍繞開源軟件造成了開源社 區的緣由。
3)擴展開源軟件生態系統的概念 範疇,探索開源軟件生態系統的規律, 構建成功的開源軟件生態系統等。
對開源軟件的 研究內容大體分爲2類:
第1,對開源軟 件現象進行分析和理解;
第2,基於這 些分析和理解對開源軟件乃至商業軟 件的開發實踐進行改進。
在這裏插入圖片描述
在這裏插入圖片描述工具

4 當前研究與技術發展趨勢

在軟件項目開發策略上,爲利用開 源軟件開發的優點,愈來愈多的公司和 組織參與到開源軟件的建立、開發和維 護中,創建起不少商業-開源混合開發 的 項 目
另外一方面,商業軟件開發強調以盈 利爲目的、可控、統一進行任務分工。 在開源軟件生態系統中,商業公司始終須要在「開放」與「盈利」之間權衡[26]。 如何可以在企業中有效利用開源特性 及優點並不是是一個容易回答的問題。
海量開源軟件相關數據的存在使 得對開源軟件的量化分析成爲一種重 要的研究方法。首先,軟件開發支持工 具(如版本控制系統和問題追蹤系統 等)的普遍應用積累了大量數據,記錄 着軟件代碼的演變[4]、開發任務的流程 等。
另外一部分研究工做關注度量工具 所需的數據支撐機制。
在軟件項目管理與開源生態系統 建設層面,開源軟件開發與商業軟件開 發的差異,使得開源開發活動的組織, 管理和協同一直是熱點議題,軟件產業 和開源社區廣泛關注的問題有:在商業 和開源2種開發方式進行融合的環境 中,如何創建一個健康的開源軟件生態 系統?在開源項目貢獻者遍及全球的 狀況下,如何有效的進行項目管理?特 別地,是否能夠度量開源軟件生態系統 的健康狀態,從定量的角度提供決策支 持?研究者受天然生態系統的啓發,嘗 試從生態系統的角度探討開源軟件項 目開發以及社區組成,正在逐步造成軟 件生態系統理論體系。學習

5 結論

開源軟件所表明的新的理念和獨 特的生產方式對創新模式、互聯網發 展、軟件開發技術等都產生了深遠而巨 大的影響。首先,在創新模式上,開源 使得全球化的羣智彙集,爲開源社區帶 來了巨大的創造力和生命力,已經成爲 軟件技術創新和產業發展的主要模式, 並創立了新的軟件商業模型。其次,在 促進互聯網發展上,開源的共享創新與 互聯網的繁榮休慼相關,互聯網的每一 次進化都伴隨着開源軟件技術的演 進。而開源軟件運動對網絡經濟大爆 發起了相當重要的做用,互聯網反之也 扮演了開源運動向前演進的巨大推 手。最後,在羣體化開發方法上,以開 源軟件爲表明的互聯網大規模羣體創 做活動則取得巨大成功,爲經典的軟件 開發方法帶來新的重大啓示,其開源實 踐中蘊含的大衆化協同、開放式共享、持續性創新3類互聯網大規模協同機 理,爲解決經典軟件開發方法面臨的難 題提供了新的途徑和機遇。 開源帶來的的啓示不只體如今以 上方面,還體如今更高抽象層析的理念 方面。開源社區的協同共享,用戶創新
等理念,已經擴展到軟件行業以外,如 開源硬件運動,促進了一種新的經濟現 象即協同共享經濟的萌芽和持續發 展。在某種意義上,開源理念正在對整 我的類文明的發展產生深遠的影響。 對開源軟件開發模式和機理的量化分
析的深入意義是,經過對歷史的量化理 解,指導咱們如何經過大規模的社會化 協做去建立一個更加美好的信息化人 類文明。人工智能

(這都快成了抄論文了😥)操作系統