眾所即知,自由與開放是社會進步的原動力。包括軟體社群的開放原始碼。也是秉持這種崇高的理想。Stallman於1985年推動自由軟體運動的原因來自其「我想要自由,我想讓世界變得更好,我想要正義,然後我討厭不正義。」
Stallman
認為軟體存在的目的是為了幫助人:幫助自己,幫助鄰居以及幫助社群,而維護軟體使用者的自由可以達到這個目的,所以 Stallman 訂出了軟體使用者的四大自由 (four kinds of
freedom):
●為了任何目的執行程式的自由。
●研究與修改程式的自由。
●再次散布程式的自由以幫助你的鄰居。
●改進程式的自由,並將這些改進回饋給社群,讓整個社群均可以因此而受益 。
在講GPL之前,必須先介紹何謂Copyleft 著作權Stallman當年為了要落實這四大自由,設計了一套不同於當時既有模式的著作權授權機制-Copyleft
Copyleft是一由自由軟體運動所發展的概念,是一種利用現有著作權體制來挑戰該體制的授權方式。
簡單講就是”我的 source code open 給你改給你抄,你就必須也要用同樣方式 open 出去 再給別人來利用”derivative works (衍生作品)被稱為病毒 或 有傳染性的原因是任何基於這些程式原始版本所開發出來的修正版本
(modification) 或衍生版本 (derivative work),於再散布時、仍然必須採用完全相同的授權方式。
我們很熟悉的Linux就是採用了GPL。
GPL的出發點是源碼的開源/免費使用和引用/修改/衍生源碼的開源/免費使用,但不允許修改後和衍生的源碼做為閉源的商業軟件發佈和銷售。
因此關鍵在於,你是否有散布行為若有的話,就必須提供source code。 沒有散布行為,就不用依GPL提供source code。
當企業的利益及麵包衝擊到崇高的理想時, 衍生出各式Weakly Protective License,如下圖。
再看目前各個License的趨勢,到2015年為止,使用者越來越少使用GPL類的License,
反而是License相對寬容的MIT/BSD 與 apache大幅增加。
GPL反而大幅縮減,這樣是否代表contributor都不願意share
source code,阻礙社群的進步呢?
不得而知。
This chart from https://osswatch.jiscinvolve.org/wp/2015/02/05/open-source-software-licensing-trends/