開源工具

開源工具

開源工具的發明是開發領域的一項壯舉。 很大一部分的企業或個人都依賴開源工具。 但即使開源工具廣泛套用於網路、作業系統、和虛擬機,企業安全平台仍然傾向於專用軟體並受供應商的私有開發工具的約束。

開源工具和其它工具的不同

有些軟體只有創建它的人、團隊、組織才能修改,並且控制維護工作。人們稱這種軟體是“專有(proprietary)”或“閉源(closed source)”軟體。

專有軟體工具只有原作者可以合法地複製、審查,以及修改這個軟體工具。為了使用專有軟體,計算機用戶必須同意(通常是在軟體第一次運行的時候簽署一份顯示的許可)他們不會對軟體做軟體作者沒有表態允許的事情。微軟 Office 和 Adobe Photoshop 就是專有軟體的例子。

開源軟體不一樣。它的作者讓原始碼對其他人提供,需要的人都可以查看、複製、學習、修改或分享代碼。LibreOffice和GIMP是開源軟體的例子。

就像專有軟體那樣,用戶在使用開源軟體工具時必須接受一份許可證的條款——但開源許可的法律條款和專有軟體的許可截然不同。

開源許可證影響人們使用、學習、修改以及分發的方式。總的來說,開源許可證賦予計算機用戶按他們想要的目的來使用開源軟體的許可。一些開源許可證(人們稱之為左版(copyleft))規定任何發布了修改過的開源軟體的人,同時還要一同發布它的原始碼。此外,另一些開源許可規定任何修改和分享一個程式給其他人的人,還要分享這個程式的原始碼,而且不能收取許可費用。

開源軟體許可證有意地提升了協作和分享,因為它們允許其他人對代碼作出修改並將改動包含到他們自己的項目中。開源許可證鼓勵開發者隨時訪問、查看、修改開源軟體,前提是開發者在分享成果的時候允許其他人也能夠做相同的事情。

工具開源的好處

開源技術和開源思想對開發者和非開發者都有益。

因為早期的創造者基於開源技術構建了網際網路本身的大部分——比如Linux 作業系統和Apache Web 伺服器套用——每個使用網際網路的人都受益於開源軟體。

每當計算機用戶瀏覽網頁、檢查郵件、和朋友聊天、線上收聽流媒體音樂、玩多人遊戲的時候,他們的電腦、手機或遊戲主機都會連線到一個全球性的計算機網路,使用開源軟體來路由並將他們的數據傳輸到面前的“本地”設備上。完成這些重要工作的計算機通常位於很遠的地方,用戶不會實際看到或物理接觸到它們——所以有些人稱之為“遠程計算機”。

越來越多的人開始依賴於遠程計算機,在可以在本地完成的任務線上完成。舉個例子,人們可能會使用線上文字處理、電子郵件管理、圖片編輯工具,而在本地的個人電腦並沒有安裝運行相應的軟體。人們輕鬆地使用瀏覽器或手機套用訪問這些程式。當他們這么做的時候,他們參與到了“遠程計算”中。

一些人將遠程計算稱為“雲計算”,因為它涉及的活動(像是存儲檔案、分享照片、觀看視頻)不僅包含本地設備,還有一個遠程計算機全球網路,像是圍繞在周圍的大氣。

雲計算是日常生活一個越來越重要的概念,離不開連線網際網路的設備。一些雲計算套用,比如 Google 套用,是專有的。其它的,像 OwnCloud 和 NextCould 是開源的。

雲計算套用運行在一些額外的軟體“之上”,這些軟體幫助它們流暢高效地操作,所以人們經常說那個軟體運行在雲計算套用“之下”,為那些套用扮演一個“平台”。雲計算平台可以是開源或閉源的。OpenStack 是一個開源雲計算平台的例子。

開源軟體與專有軟體對比

人們相對於專有軟體更傾向於開源軟體有很多原因,包括:

可控。很多人喜歡開源軟體因為相對其它類型軟體他們可以擁有更多的可控。他們可以檢查代碼來保證它沒有做任何不希望它做的事情,並且可以改變不喜歡的部分。不是開發者的用戶也可以從開源軟體獲益,因為他們可以以任何目的使用這個軟體——而不僅僅是某些人認為他們應該有的目的。

訓練。其他人喜歡開源軟體是因為它可以幫助他們成為更好的開發者。因為開原始碼可以公開訪問,學生可以在學習創建更好的軟體時輕鬆地從中學習。學生還可以在提升技能的時候分享他們的成果給別人,獲得評價和批評。當人們發現程式原始碼中的錯誤的時候,可以將這個錯誤分享給其他人,幫助他們避免犯同樣的錯誤。

安全。一些人傾向開源軟體是因為他們認為它比專有軟體更安全和穩定。因為任何人都可以查看和修改開源軟體,就會有人可能會注意到並修正原作者遺漏的錯誤或疏忽。並且因為這么多的開發者可以在同一開源軟體上工作,而不用事先聯繫獲取原作者的授權,相比專有軟體,他們可以更快速地修復、更新和升級開源軟體。

穩定。許多用戶在重要、長期的項目中相較專有軟體更加看好開源軟體。因為開發者公開分發開源軟體的原始碼,如果最初的開發者停止開發了,關鍵任務依賴該軟體的用戶可以確保他們的工具不會消失,或是陷入無法修復的狀態。另外,開源軟體趨向於同時包含和按照開放標準進行操作。

“開源”不等於免費

這是個“開源”實踐中的常見誤解,“開源”概念的含義不只是指經濟方面的。

開源軟體開發者可以為他們創建或貢獻的開源軟體收取費用。但在一些情況下,由於開源許可證可能會要求他們在將軟體賣給他人的時候發布原始碼,一些開發者發現向用戶收取軟體服務和支持(而不是軟體本身)的費用會更加合算。通過這種方式,他們的軟體仍然保持免費,而他們從幫助他人安裝、使用、解決問題中賺取費用。

儘管一些開源軟體可能是免費的,但開源軟體的編程和解決問題的技能可能十分有價值。許多僱主特別尋求僱傭在開源軟體方面有工作經驗的開發者。

“在軟體之外”的開源

在http://Opensource.com,我們想說我們對於開源價值和原則套用到軟體之外領域的方式很有興趣。我們更願意不僅將開源視為一種計算機軟體開發和許可的方式,也把它視作一種態度。

實現“開源方式”的生活的各個方面,意味著表達一種分享的意願,通過透明的方式和他人協作(這樣其他人也可以關注和加入),擁抱失敗,將它作為一種改進的手段,以及期待(甚至鼓勵)所有人都可以這么做。

這也意味著在讓世界變得更好的過程中扮演一個積極的角色,這隻有在每個人都可以接觸到對世界進行規劃的途徑時才有可能。

這個世界充滿了“原始碼”——藍圖、食譜、規則——它們引導和塑造我們思考和行動的方式。我們相信這些深層代碼(無論是什麼形式)應該是開放、可接觸、分享的——這樣人們可以參與其中並讓它變得更好。

在這裡,我們訴說開源價值對生活所有領域的影響的故事——科學、教育、政府、工業、健康、法律,以及組織動態。我們是一個社區,告訴他人開源的方式如何成為最好的方式,因為對開源的愛和其它一樣:當它被分享的時候它會變得更好。

常見的開源軟體

CentOS、 Apache(httpd)、Jboss、Tomcat、Jmeter、Maven、Eclipse、Spring等等。

相關詞條

熱門詞條

聯絡我們