# 什麼是 GNU GPL 開源協議? 這篇文章會帶著大家認識常見的 GNU GPL 開源協議,以及他的相關規則。 ## 前言 開源的程式碼對有追求的程式設計師來說是一無盡的寶藏,正確的使用開源軟體,可以提高開發軟體時的效率、提升軟體質量。而為了避免開源軟體的著作權遭到濫用,或是用來限制程式碼的使用方式,就會有開源協議的出現。 常見的開源協議包括: * BSD (Berkeley Software Distribution) :伯克利軟體分發許可協議 * Apache (Apache License) :Apache 許可協議 * GPL (GNU General Public License) :GNU 通用公共許可協議 * LGPL (GNU Lesser General Public License) :GNU 寬通用公共許可協議 * MIT (Massachusetts Institute of Technology):MIT 許可協議 * MPL (Mozilla Public License) :Mozilla 公共許可協議 ## GNU GPL 開源協議 ### 簡介 GNU通用公眾授權條款,是一個被廣泛使用的開源協議。 程式碼使用者有運行、學習、共享和修改的自由,若使用者使用了這個程式碼,則他也必須進行開源,若不開源,則不能使用。 GPL的原文 > “the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program” > 保證你的共享和修改自由軟體的自由 ### 規則 根據統整,GNU GPL 開源協議的使用規則如下: |下載使用|商業用途|修改代碼|引用代碼|使用開源|開源協議| |--------|--------|--------|-------- |--------|--------| |可以|可以|可以|可以|必須開源|必須相同| ### 缺點 GNU GPL 所開源的代碼雖然可以讓您修改、使用,但是必須進行開源,並且必須同樣使用GPL開源協議。 這代表就算你僅使用了一些GPL授權的代碼,其他皆是自己製作的程式碼,你也必須公開開源自己所製作的程式碼。 ###### tags: Github