Re: [請益] 使用LGPL但打算公開原始碼

看板Soft_Job作者 (薯)時間4年前 (2021/12/15 23:19), 4年前編輯推噓0(007)
留言7則, 2人參與, 4年前最新討論串3/5 (看更多)
感謝PCMan耐心仔細回復, 首先這份專案只是我一個人下班時候寫的,背後並沒有公司或組織,當然也不可能營利 沒有法務可以諮詢只好求助網路 因為我還不確定、沒搞懂動態連結的東西,所以以下是我對於我的程式的想像 可能奇怪或不可行的地方,請見諒 在我的想像中,我的程式不提供dll, 但我會去搜尋看我程式的資料夾下面有沒有某個特定的dll 如果有的話我就去連結,提供使用者該dll的功能 如果沒有,程式依然可以跑,只是就無法提供使用者該dll的功能 當然如果可以的話我也希望我的專案裡面不要包括那些要使用dll所需要的標頭檔 但好像是不可能的 (雖然原篇底下推聞有人提到套件管理,但大略搜尋一下,我還是沒開竅, 不太清楚使用套件管理跟專案可以不用包含標頭檔的關係是什麼)。 以我的想像來說,我應該是 1.「非改寫」,甚至沒有直接copy一整份原始檔(cpp)在我的專案裡編譯。 (但是需要標頭檔) 2.純粹想在 runtime的時候使用dll,像呼叫函式一樣,給參數然後得到想要的結果。 3.「非複製並散布dll」,我並不提供dll,使用者如果想要「解鎖」一些不是我寫的功能 ,要自己想辦法生出dll,我才會去執行 以上只是我的想像 這種情況可以閉源嗎? 如果開源的話可以掛MIT而不是用原本LICENSE裡的 LGPL、unRAR、BSD 3-clause的授權嗎? 因為我目前還不確定如果我實現了我想像中的動態連結之後,需要掛哪些授權 掛MIT這種全開的授權只是圖個方便而已 感謝閱讀 ※ 引述《HZYSoft (PCMan)》之銘言: : 這問題很複雜,如果是你公司的 code,還牽扯著作權歸屬,建議諮詢公司法務 : 以下講的是一般原則,不一定適合你的狀況 : 首先看你如何「使用」別人的 library,和對方的 license 如何規定 : 如果你是拿別人的程式來「改寫」,這算衍生著作,要看對方的 library : 是否允許改作以及再散佈,如果不能,那你的也連帶不能 open : 如果你只是 runtime 動態 link 他的 dll,你是「呼叫」他提供的 API, : 那你並沒有「改寫」他的程式,單純只是執行的時候需要他的檔案,這一般不算 : 「衍生著作」,所以你的程式碼是你自己的,你要用什麼授權開放都可以。 : 舉個例子,你的程式呼叫微軟 .NET 的 dll 提供的系統服務,很顯然你的程式 : 只是呼叫他,但並不是微軟 .NET 的「衍生著作」,所以你的程式想怎樣授權隨你高興 : 不用跟原本 dll 一樣,就算他是 GPL 也一樣。 : 但有爭議的是如果你「靜態連結」成單一 exe,則別人的 lib 包進你程式的一部分了 : 這時候就可能會受到「衍生著作」的規範 (有爭議) : 再舉個例子,你軟體用到某個 GPL 的 lib,但你的使用方式是「複製他的 code」 : 然後做了一些修改,那你的程式就成為衍生著作,要遵守 GPL 規範,所以你的程式 : 也自動變成要 GPL open source,再散佈也要遵守 GPL 規範。 : 例外狀況是(這有爭議),如果你修改的程式架在 server 上,是 web server 後端 : 那使用者連上你的「網頁」算「使用者」嗎?一般認定是不算,所以連上網站的人 : 並不能根據 GPL 要求要你網站的程式碼 (否則我們就可以跟很多電商要程式碼了...)。 : 但如果你的網站系統賣給別人架站使用,那架站的人是「使用者」,根據GPL他可以跟你 : 要求 server 程式碼。 : 以上是 code 的授權,但使用別人的 dll 問題不是只有 source code 授權 : 如果你是 link dll 不會有程式碼衍生問題,但對方的 dll 不一定允許「複製再散佈」 : 也就是你可以 open 你的程式碼,但使用者拿來編譯需要 library 的 dll, : 但那個 dll 不是你的版權,你不一定有權利提供,使用者要自己去買這個 dll : 但如果這 dll 是 LGPL 授權,那他是允許再散佈的(但要遵守 LGPL) : 另外補充,license 的「授權」跟「著作權」不一樣 : 你寫的 code 就算用 LGPL 發出來 open,大家有權使用以及改寫再散佈 : 但原始的「著作權」還是你的,所以「你寫的那部份」code 改天你想改用 : 別種授權,或是想改回私有,都是可以的,但如果專案摻入別人的 code : 那你不能改變別人 open 的部份的授權,只能改你自己寫(擁有 copyright)的部份。 : 以上如果不清楚,歡迎討論! 希望有點幫助 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.225.144 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1639581579.A.5EB.html ※ 編輯: liu2007 (123.192.225.144 臺灣), 12/15/2021 23:31:39

12/16 00:03, 4年前 , 1F
我上篇有個地方寫錯,GPL 應該是連用 dll 也算衍生著作
12/16 00:03, 1F

12/16 00:03, 4年前 , 2F
至於 LGPL 才是動態連結不算衍生,不同授權的規範不同
12/16 00:03, 2F

12/16 00:04, 4年前 , 3F
GPL 其實也有一個授權各自表述的問題,如何認定很有爭議
12/16 00:04, 3F

12/16 00:04, 4年前 , 4F
動態連結和靜態連結是否應該有分別,這點一直有爭議
12/16 00:04, 4F

12/16 00:04, 4年前 , 5F
實務上怎樣才會被告,各地法院判決也不一定一樣
12/16 00:04, 5F

12/16 03:53, 4年前 , 6F
有的標頭檔是可以編譯的,使用起來跟原始碼一樣
12/16 03:53, 6F

12/16 03:55, 4年前 , 7F
拿別人家的程式碼做事情,先詢問原作者會比較有禮貌
12/16 03:55, 7F
文章代碼(AID): #1XkWUBNh (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1XkWUBNh (Soft_Job)