Image by Pete Linforth from Pixabay
license
?首先要聊聊「開源(open source
)」,「把自己的創作公開」這件事,並不代表別人可以任意取用、複製或修改,創作者預設是會被法律保障的,如果創作者本人希望能夠讓大眾一同使用、參與修改的話,那麼就透過 License
(授權 / 許可證 / 中文翻譯很難翻 QQ),把創作者和後來的參與者之間的權利、義務寫清楚,以此避免法律糾紛。
但因為我自己也是開源菜鳥,就不班門弄斧了,附上幾個優質資源給有興趣的捧油們參考:
你還在想說要自己寫嗎?不用這麼麻煩,開源的概念發展到現在(2020),已差不多二十年左右,已經有許多現成的 License 可以給大眾使用,但相對的,創作者也要花時間去瞭解每個 License 的差異,所保障創作者的權利義務分別是什麼,這部分的時間是不能省的,因為有些 License 替創作者保障得很嚴格,例如 GPL
(GNU General Public License) 限制有使用到 GPL
專案的專案也需要掛上 GPL
(我知道你現在還聽不懂我在說什麼 XD),總之 GPL
就是屬於比較嚴格的那種 License;相對之下有些 License 就很鬆,例如 BSD
和 MIT
License。
License
呢?詳細的選擇方法,可以參考中文優質文章 在開源時代的興起下,如何透過License共享並保有權益 | ProgressBar。
License
?在這邊我們示範在 Github 替 repository 加入 license,有兩種情況,一種是要創新專案的時候、一種是在現有專案加入 license。
License
創立專案時,除了打上 Repository name
和 Description
之外,也可以在這個時候,點右下角的 Add a license: None
。
在下拉選單中,可以看到有超多種選擇,請事先做功課再來選會比較好哦,萬一你的開源專案真的爆紅後,到時候才想到要加 License
或 要改 License
都是很麻煩的事哦,因為會牽扯到事前事後的權益問題,乾脆在一開始就決定好專案的方向。
選好你想要的 License
後,就點 Create repository
,我在這邊示範用 MIT
License,在 repository
中,會出現一個叫做 LICENSE
的檔案,並且系統替 repository 加上了 MIT
的 License 標章。
到這裡,你已經替 repository 加入 licesne,別人就可以在 license 的規範下,「合法」地使用你的創作。
License
在 repository 頁面,點 Create new file
點 Create new file
進來,在檔名欄位打上 license
檔名打 license
後,在檔名的右邊就會跳出 Choose a license template
選項
在這個頁面,你就可以選擇你想要替 repository
加入的 license
這邊再次以 MIT License
為例,會列出每個 License
允許 和 限制 使用者的權限,確認 Year
和 Full name
沒問題,可以按 Review and submit
。
就會跳回到修改檔案的頁面,確認整個 License
沒問題後
就可以寫下你的 Commit message
,然後可以選擇直接把 commit 寫到 master 裡,或另外再創一個 branch (這個選項是預設)。
我這邊選直接 commit 到 master,然後 commit 出去就成功了。
最近因為投稿台灣的開源研討會 COSCUP,被工作人員要求說要替 repository 加入 license,所以才進一步去瞭解開源的權益,也才發現到,即使是 Public repository,內容都是公開的,也不能隨意去使用,不然是違法的,需要有 license 的規範,把可以做的、不可以做的寫清楚。
還有,後來才知道除了有 copyright
(版權/著作權) 這個名詞之外,原來還有 copyleft
(著作傳/著佐權) 這個名詞,但我自己也是剛接觸,有興趣的捧油們可以去瞭解。
我是 RS,這是我的 不做怎麼知道系列 文章,我們 下次見。