開源是什么?
所謂的「開源」,原本指的是開放其設(shè)計(jì)讓所有使用者自由修改的一項(xiàng)機(jī)制。
雖然大多被用于軟件開發(fā)過程中,但這項(xiàng)機(jī)制已逐漸演變?yōu)榉褐冈诋a(chǎn)品、計(jì)劃與專案方面,透過開放大眾的參與、討論與修改,進(jìn)而加速其發(fā)展、增加透明度及大眾福祉的方式。
什么又是開源軟件?
開源軟件,指的則是開放其原始碼讓所有使用者自由修改的軟件。對(duì)于一般電腦使用者而言,原始碼或許只是個(gè)陌生的概念。但是在專業(yè)的程式設(shè)計(jì)師眼中,擁有可以修改原始碼的權(quán)限,不但能夠修改程式美中不足的部分,甚至能以該原始碼為基礎(chǔ),增加更多不同的功能。
開源軟件跟其他一般軟件差在哪里?
相對(duì)于開源軟件,其他不對(duì)大眾開放修改原始碼權(quán)限的軟件,則被稱為「版權(quán)軟件」或是「closed source 軟件」。由于其原始碼的版權(quán)屬于開發(fā)公司所有,往往只有原始的開發(fā)團(tuán)隊(duì)俱有合法修改的權(quán)利。 Microsoft Word 與 Adobe Photoshop 就是最著名的例子。在使用這些版權(quán)軟件之前,使用者必須同意許多條款,包括在未獲得原始開發(fā)者同意的情況下,不得對(duì)軟件做出任何修改等。
開源軟件,如 LibreOffice 、GNU Image Manipulation Program等, 與版權(quán)軟件不同之處就在于,這些開發(fā)者皆愿意與大眾分享其原始碼,讓其他開發(fā)者能夠借此觀摩學(xué)習(xí),甚至加以修改。雖然使用者在開始使用開源軟件之前,也必須要同意遵守部分使用條款,但條款內(nèi)容卻與版權(quán)軟件的大異其趣。開源軟件的使用條款不但鼓勵(lì)使用者對(duì)軟件進(jìn)行修改,部分的使用條款甚至要求修改過后的版本 也必須提供大眾無償使用。也就是說,任何程式設(shè)計(jì)師只要同意以上條款,就能自由地對(duì)這些開源軟件的原始碼進(jìn)行修改或升級(jí)。
就像開源Initiative中所提到的:「開源并不只代表著原始碼的開放。」開源的主要精神在于讓所有人都能擁有依照自己的需求,修改原始碼的權(quán)利。而除此之外,開源Initiative也提到了開源的其他層面。
開源軟件只跟程式設(shè)計(jì)師有關(guān)吧?
開源的風(fēng)潮不只造福了程式設(shè)計(jì)師們,對(duì)于一般使用者也好處多多。事實(shí)上,由于整個(gè)全球網(wǎng)路的架構(gòu),有很大的一部份建立在開源科技如the Linux operating system 、 Apache Web server application等的基礎(chǔ)上,因此,不論是使用瀏覽網(wǎng)頁、收發(fā) e-mail、即時(shí)通訊或是音樂串流等功能,所有的網(wǎng)路使用者都在某種程度上,直接或間接地受惠于開源軟件。
目前,許多個(gè)人電腦的運(yùn)算功能,已逐漸被遠(yuǎn)端處理所取代,也就是時(shí)下最流行的云端運(yùn)算功能。大多數(shù)電腦使用者,對(duì)云端運(yùn)算的依賴程度正與日俱增。從文字編輯、e-mail 管理到影像處理,在利用自己電腦上所安裝的軟件之外,更多出了使用網(wǎng)頁或手機(jī)上應(yīng)用程式的便捷選擇。
這種遠(yuǎn)端處理的模式之所以被稱為云端運(yùn)算的原因,正是因?yàn)槠湟詡€(gè)人電腦為窗口,與遠(yuǎn)端電腦結(jié)合所形成的云狀網(wǎng)路運(yùn)作結(jié)構(gòu)而得名。在現(xiàn)今高度資訊化的 時(shí)代中,云端運(yùn)算的重要性已隨著行動(dòng)上網(wǎng)裝置的普及,而漸漸融入大眾日常生活之中。有些云端運(yùn)算應(yīng)用,如 Google Docs,屬于 closed-end 的版權(quán)程式。而其他的應(yīng)用,如 Etherpad等,則屬于開源軟件。
除了一般使用者所使用的云端應(yīng)用以外,支援這些應(yīng)用運(yùn)作的平臺(tái)也可以依屬性,分為閉源(closed source) 與開源,如OpenStack等。
為什么要選擇開源軟件?
相較于 closed source 的版權(quán)軟件,開源軟件在使用者族群中的愛用程度更勝一籌。對(duì)于程式設(shè)計(jì)師族群來說,開源軟件的開放性原始碼,不但讓他們能夠以其為基礎(chǔ),根據(jù)自己的需要進(jìn)行開發(fā),也可以透過分享、回會(huì)與觀摩他人的原始碼,進(jìn)一步相互切磋與學(xué)習(xí)。
另外,對(duì)于非程式設(shè)計(jì)專業(yè)的使用者來說,開源軟件的開放性,使其安全性或功能性的缺點(diǎn)與漏洞皆能透過程式設(shè)計(jì)者社群的共同開發(fā),快速的被修正與改善。同時(shí),著眼于開源軟件的高度可靠性與長時(shí)間由公眾提供維護(hù)、升級(jí)支援特性,長期專案的規(guī)劃及執(zhí)行者,多半也偏好使用開源軟件,以避免版權(quán)軟件過時(shí)和消 失的問題。
開源=免費(fèi)?
大部分人對(duì)于開源的最大誤解,就是將開源與免費(fèi)使用畫上等號(hào)。
事實(shí)上,雖然是基于開源原始碼修改或升級(jí)的版本,程式設(shè)計(jì)者仍是擁有向任何使用其軟件的使用者收費(fèi)的權(quán)利。然而,因?yàn)殚_源軟件的使用條款強(qiáng)制要求程式開發(fā)者在出售軟件的同時(shí),也必須一併將原始碼公開。因此,大部份的開發(fā)者已經(jīng)逐漸由出售軟件的模式轉(zhuǎn)為釋出免費(fèi)軟件,并提供需付費(fèi)的支援服務(wù)。如此一 來,使用者大眾仍可以免費(fèi)使用開源軟件,而開發(fā)者則可以透過協(xié)助使用者安裝、使用與除錯(cuò)來獲利。
開源=生活態(tài)度
開源的觀念并不只限于軟件的開發(fā)與使用,而是希望能夠把開源升華成生活中的態(tài)度。抱持著開源態(tài)度,意味著透明化的與大眾分享與合作、將失敗視為進(jìn)步的一部份、并盡量鼓勵(lì)、推廣開源的觀念與模式。
除此之外,開源也代表了對(duì)于現(xiàn)今大眾對(duì)于公共事務(wù)冷漠的反思。透過積極地參與公共事務(wù),才能破除現(xiàn)實(shí)世界中,如同 closed source 軟件的封閉原始碼般,僅由少數(shù)人把持著形塑大多數(shù)人生活的計(jì)劃、規(guī)則制定過程的壟斷現(xiàn)象。不論是在軟件開發(fā)、教育、商業(yè)、政治等方面,任何規(guī)則的制定 (不管是以原始碼、制度或法律的形式),透過開放公眾參與,都能達(dá)到一個(gè)更加美好完善的結(jié)果。