Copyleft


Copyleft (ɔ) 是相對於著作權(Copyright)的概念,Copyleft 是讓程式碼能夠保持開源自由的通用方法,自由授權給廣大的人們使用、瀏覽、修改,但條件是必須保持開放原始碼(Open Source)的自由開源。

在程式完成的當下,撰寫程式之人是享有著作權的權利的。

著作權(Copyright)的存在是為保護文檔或程式的作者,在未經授權之下,程式被重製、修改、發布或轉售。著作權是在程式碼的作者允許授權為前提,他人才得以繼續利用。

Copyleft 則是提供了重製、修改、發布或轉售程式碼的方法,授權使用者得以自由地使用其著作權利,但前提是修改過的程式碼也必須是自由的,有些許可證要求得將修改過的程式碼也回饋社會。

要使程式變成自由開源的方法是放棄著作權,並讓程式開放給大眾,使眾多開發者能夠加以利用開源碼。但這樣並不能阻止使用者將成是改成封閉的專用軟體,當程式變成私人的專用軟體後,原本的開源碼變無法再次分享給其他大眾用戶。

於是由 GNU 提出的 Copyleft 是要求讓程式碼永遠自由地傳遞下去,也就是無論有無程式碼的修改,該開源碼專案都應該繼續維持開源自由,該程式碼要能夠由所有人瀏覽和修改。

但 Copyleft 不是完完全全地自由授權,開放原始碼的作者在透過 license 許可證發布其著作時,雖釋放出大部分權利,有些許可證是有部分條件式的授權自由使用。

Copyleft 的主要條件義務為何?

Copyleft 是為了確保再發行的程式能夠再次維持自由開源的一個條件,如果開源碼條款或許可證 License 加入 Copyleft,是要求使用者在使用其程式時,遵守原則:一旦使用該程式碼,衍伸的程式碼也必須開源自由,不讓新的程式碼變為私人使用。

開源碼一定是 Copyleft 嗎?

不是的,Copyleft 是一種條件,在 Open Source 中的條款、許可證中可選擇是否加入 Copyleft ,基本上 Copyleft 為了是保證再修改的程式碼得以維持自由開源的一個方法,並非所有的程式經開源後一定符合 Copyleft。