開放源碼檢視原始碼討論檢視歷史
開放源碼 |
開放源代碼(Open source code)也稱為源代碼公開,指的是一種軟件發布模式。一般的軟件僅可取得已經過編譯的二進制可執行檔,通常只有軟件的作者或著作權所有者等擁有程序的原始碼。有些軟件的作者會將原始碼公開,此稱之為「源代碼公開」,但這並不一定符合「開放源代碼」的定義及條件,因為作者可能會設定公開原始碼的條件限制,例如限制可閱讀原始碼的對象、限制衍生品等。
簡介
開放源代碼軟件源於自由軟件開源運動,簡稱開源軟件。是指那些源代碼公開,可以被自由使用、複製、修改和再發布的一系列軟件的集合。開源軟件許可證,是對開源軟件進行規範的授權合同,也可以稱為授權協議書。其類別繁多,在選擇適用上,了解彼此的權利讓渡程度是其關鍵因素。開放源代碼軟件就是在開放源代碼許可證下發布的軟件,以保障軟件用戶自由使用及接觸源代碼的權利。這同時也保障了用戶自行修改、複製以及再分發的權利。簡而言之,所有公布軟件源代碼的程序都可以稱為開放源代碼軟件。 開放源代碼有時不僅僅指開放源代碼軟件,它同時也是一種軟件開放模式的名稱。使用開放源代碼開放模式的軟件代表就有GNU/Linux操作系統。嚴格地說來,開放源代碼軟件與自由軟件是兩個不同的概念,只要符合開源軟件定義的軟件就能被稱為開放源代碼軟件(開源軟件)。自由軟件是一個比開源軟件更嚴格的概念,因此所有自由軟件都是開放源代碼的,但不是所有的開源軟件都能被稱為「自由」。但在現實上,絕大多數開源軟件也都符合自由軟件的定義。比如,遵守GPL的軟件都是開放的並且是自由的。
評價
程序散布時必須包括源代碼與其所編譯的形式。假若程序在散布時並未附加源代碼,其必須以一公開方式,在不超過合理的複製成本下,讓人得以取得源代碼,例如可以在不收取費用的情況下在網絡上供入下載。這裡所謂的「源代碼」,必須是程序設計者最易於修改程序的形式,故意混亂源代碼或是以所謂的中間形式,如預處理器、或編譯程序所處理後的結果是不被允許的符合開放源代碼定義的授權,可以禁止他人以修改的形式散布源代碼,除非此一授權允許基於修改程序的目的,而採取「附加檔案」的方式以區別此一部分非原創作者所創作。此一授權必須明確允許被授權人對於所修改的軟件有加以散布的權利。此外,授權內容得要求衍生作品必須附加不同於原軟件的名稱或版本編號其主要的長處表現在長期可信賴性、平行除錯、平行研發、完美應用程序接口、版本釋出速等方面上。就長期可信賴性而言,只要企業在短期之中不會被排除於競爭市場外就可以稱為具有長期可信賴性。由於在開放源代碼的軟件開發模式下,源代碼是可以很輕易地於許多地方獲得,並且可以自行使用、修改源代碼,因此即使軟件不再開發,自己也可以進一步利用源代碼。此外,透過因特網科技的發展,開放源代碼軟件開放模式可以採取平行除錯、平行研發的做法,將網絡上潛在的無限開發者,免費的加以運用,並且可以同時進行,不受時間、地域的限制,最後只要選擇適合的方案即可,所以只要參與的人數夠多,其源代碼釋放速率通常也較快;就完美的應用程序接口來說,開放源代碼軟件開發模式將的建立於源代碼的開放上,使得使用者能夠透過源代碼來驗證,不像傳統封閉源代碼的電腦軟件只能將其信心建立在軟件公司的形象上。開放源代碼的軟件開發模式最大的優點在於其可得到大量的開放源代碼社群的支持,如同擁有大量免費的軟件開發及測試人員。這樣將世界各地的優秀人才納為己用,卻又不須支付高額的薪水,這是傳統封閉源代碼的軟件開發模式所無法獲得的。[1]