此代碼將用於學生項目,我們將以GPLv3的形式發佈。但是,我們不能直接使用代碼,因爲我們項目的需求與原始項目不一樣。我們將添加一些類,並稍微修改現有的類。可以更改GPLv3源代碼的軟件包名稱嗎?
所以我們的類可能與任何使用原始類的軟件都不兼容。那麼我們可以重命名包名來反映我們的項目名稱嗎?關於向版權添加名稱的政策是什麼?什麼是重用這個代碼的「正確」方式?
此代碼將用於學生項目,我們將以GPLv3的形式發佈。但是,我們不能直接使用代碼,因爲我們項目的需求與原始項目不一樣。我們將添加一些類,並稍微修改現有的類。可以更改GPLv3源代碼的軟件包名稱嗎?
所以我們的類可能與任何使用原始類的軟件都不兼容。那麼我們可以重命名包名來反映我們的項目名稱嗎?關於向版權添加名稱的政策是什麼?什麼是重用這個代碼的「正確」方式?
GPL沒有法律要求您更改軟件包名稱或不更改它們。
但是,您需要保留所有版權聲明,幷包括現有的GPL許可證詳細信息......並在GPL下發布衍生作品的完整源代碼。
原始許可人理論上可能會在標準GPL之外額外添加條件。但是,這東西,你應該避免這樣做的原因是:
它創造了誰需要檢查的額外條件不創建一個新的法律風險下游用戶額外的工作,並
它可能使許可證與真正的GPL不兼容,在代碼與其他(GPL)代碼結合時產生問題。
話雖如此,如果你打算獨立於原始一個的發佈應用程序,它是禮貌改變它,使它明確誰負責。對於Java代碼,這包括更改軟件包名稱並使用不同的Maven工件組/ ID。 (如果這很不方便,您應該將此視爲重新調整現有GPL代碼的「成本」的一部分。)
「但是,您需要保留所有版權聲明」 - 是否意味着如果登錄頁面具有原始名稱,那麼您應該保留原始名稱不變? – aggregate1166877 2013-09-19 19:09:55
@ aggregate1166877 - 版權聲明在此處描述:https://en.wikipedia.org/wiki/Copyright_notice。這不是產品的名稱。 – 2016-09-09 16:49:07
GPL的核心思想是,如果您分發基於GPL代碼的程序,則您還必須分發代碼。這是真的。許可證的其餘部分詳細描述了您必須與誰分享以及其他細節,但如果您要與所有人分享所有內容,則沒有任何問題。沒有限制可以對代碼進行哪些修改,只要有共享程序本身就共享該代碼的義務。
如果您對軟件進行更改以使其與上游源(您的情況,更改類名稱)不兼容,那麼更改項目名稱是一種很好的做法(有時需要上游分發)它不會被誤認爲是原作。
另請注意,如果您從不分發您的作品,那麼據我所知,GPL並沒有對您施加任何限制。
*「GPL的精神在於,如果您分發基於GPL代碼的程序,則您還必須分發代碼。」* - 這不僅僅是精神。這是許可證的信。 *「...有時需要上游分銷」*。如果他們這樣做了,那麼這不是純粹的GPL 3. – 2012-02-26 07:49:43
我把「精神」翻譯成「代碼思想」,並對我的意思做了一些擴展。 – 2012-02-26 10:30:15
至於要求名稱更改與GPL不兼容,那可能是正確的。我不確定。我的印象是,程序名稱可能屬於商標法,受制於一套完全不同的版權法,但我可能是錯的。 – 2012-02-26 10:33:54
如果你要添加的東西是顯著有用的其他項目雖然,爲什麼不保留包裝名稱等......相同,然後查看該項目的作者是否有興趣合併這些更改。
即使他們不是,你可以通過github使你的替代版本可用,其他人可能會發現你的更改有用。
我不認爲它不尋常的有一個稍微修改過的另一個項目,其中有人添加了一些東西。
祝你好運。
我投票結束此問題作爲題外話題,因爲它涉及許可或法律問題,而不是編程或軟件開發。 [見這裏](http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964)瞭解詳情,以及[幫助]瞭解更多。 – JasonMArcher 2015-06-07 05:52:52