官术网_书友最值得收藏!

  • 開源項目成功之道
  • (美)約翰·梅爾蒂卡
  • 1318字
  • 2025-07-11 16:45:19

1.1 什么是開源

維基百科對開源的定義如下:

開源是指源代碼可以自由提供給他人進行修改和再分發。開源產品通常允許你使用源代碼、設計文檔或產品內容。開源模式是一種去中心化的軟件開發模式,鼓勵開放協?作。

如果你在以下平臺在線搜索開源的定義,你會發現許多不同的版本:

Red Hat;

IBM;

Opensource.com。

雖然定義的具體內容不同,但有一些主題是一致?的。

第一個主題是自由提供源代碼的概念,允許任何人查看、修改并與他人分享源代碼。人們對開源的最初認知是它是可以免費獲得的軟件。然而,現在開源早已更進一步,它不僅免費提供軟件(也稱為免費軟件),還允許用戶查看源代碼,根據自己的需求對其進行修改,并與他人分?享。

有一個很好的方式可以描述這個區別,那就是想象你有一輛汽車,引擎蓋是密封的。當然,你擁有這輛車并且可以駕駛它,但是如果車壞了怎么辦?如果你想升級一個零件怎么辦?如果某些零件過時了,需要改變以適應未來需求(例如使用的汽油從標準汽油改為E87汽油)怎么辦?密封的引擎蓋意味著只有制造商才能更換零部件,而能開啟的引擎蓋意味著可以由用戶來更換。這就是區別所在,正如人們常說的那樣,它不是指“免費啤酒”的那種免費,而是指擁有自由或開放的使用?權。

第二個主題側重于開放協作,這意味著任何人都可以參與代碼的構建。但是在開源領域中并不是所有項目都能做到這一點,許多由單個組織贊助的項目可能對貢獻者來說有一些挑戰,甚至由單個維護者維護的項目也會遇到一些困難。我經常看到這樣的情況,原因要么是維護者不堪重負,沒有太多時間投入項目中,要么是項目更像一個概念驗證,最終被維護者所拋棄,也可能有時維護者也并不真正想要任何幫助。在后面的章節中討論治理和發展時,我會更深入地探討這個問題。但是當我們在本章中討論什么是開源時,開放協作往往是我們期望的一個關鍵原?則。

最后,還有一個去中心化社群的主題。這意味著開源項目真的是全球性的。雖然維護者可能會啟動一個項目來解決他們遇到的問題,并吸引一些具有類似目標的人,但許可證模式(任何人都可以自由查看、修改和分享代碼)和分發模式(謝謝互聯網!)都意味著世界上任何找到并使用此代碼的人都是社群的一部分。乍一看,這可能會讓人感到畏懼和害怕,但這是開源的最大優點,它是一條跨地區、文化、性別、背景、年齡和能力的連接紐帶。再次強調,我們將在后面的章節中深入探討一個話題,這也通常是項目的一個難點。我們現在可以很容易地將全球的人們聯系起來,但這也意味著我們有責任去幫助和支持他?們。

開放源碼促進會一直維護著開源的定義,該定義被視為衡量一段代碼或項目是否真正開源的標準定?義。

從許可證的角度來看,這個定義真正關注開源的概念,對許多人來說,這是開源定義的起點和終點。許可證被認為是開源的基本條件(我們會在第3章專門討論許可證和知識產權管理)。真正使開源具有變革性的是開放協作和去中心化社群,它能將各種各樣的人聚集在一起,共同構建個體無法完成的優秀作品。換句話說,許可證的選擇使得建立社群和協作成為可能,這反過來又能夠使開源項目獲得成?功。

現在我們已經定義了開源并了解了它的關鍵部分,下面讓我們回顧一下開源是如何走到今天的。在1.2節中,我們將回顧開源的歷史,追溯開源的根?源。

主站蜘蛛池模板: 民乐县| 周至县| 惠来县| 龙门县| 新绛县| 广东省| 古丈县| 广昌县| 乌苏市| 方正县| 武威市| 磐石市| 崇左市| 临洮县| 奉化市| 灌阳县| 措勤县| 定兴县| 靖江市| 独山县| 大名县| 新巴尔虎右旗| 镇安县| 漾濞| 阿尔山市| 南汇区| 建宁县| 沛县| 东宁县| 舟曲县| 都江堰市| 阳江市| 永兴县| 绵竹市| 上饶市| 鄂托克前旗| 雷山县| 莲花县| 新绛县| 甘孜县| 襄城县|