License 要用嗎!
絕對要!而且非常重要。
在軟體工程和開源世界裡,有一個很常見的誤解:「只要我把程式碼設為 Public 放在 GitHub 上,大家就可以隨便用。」
但法律上的現實剛好相反:如果你沒有放 License(授權條款),預設就是「保留所有權利 (All Rights Reserved)」。 這意味著別人可以「看」你的程式碼,但法律上他們不能複製、修改、散佈,更不能拿去跑在自己的 AWS 上。
既然這個專案是你的技術火力展示,甚至可能會搭配影片企劃,吸引觀眾去 Fork 或學習,加上一個明確的 License 才能真正降低別人使用你程式碼的門檻。
針對你的「自適應網格放貸機器人」,我推薦以下三種最主流的選擇,你可以根據你的「保護慾望」來挑一個:
1. MIT License (最推薦:極度自由、無痛推廣)
-
規則: 隨便你用!你可以拿去改、拿去賣錢、拿去做商業 SaaS 服務,我都不管。唯一的條件是:要在軟體中保留我的版權聲明 (Copyright Notice)。
-
為什麼適合你: 如果你的主要目的是「火力展示」、「衝高 GitHub Star 數」或「讓頻道的觀眾可以無腦抄作業」,MIT 是最沒有摩擦力的選擇。Rust 生態系(包括 Cargo 本身)也非常熱衷於使用 MIT。
2. GNU GPLv3 License (傳教士精神:強制開源)
-
規則: 你可以免費使用和修改。但是,如果你修改了我的程式碼並對外發佈(例如包裝成另一個產品),你的那個產品也必須使用 GPLv3 完全開源,不能藏私。
-
為什麼適合你: 如果你不想看到有哪家新創公司,偷偷把你寫的漂亮 Rust 架構拿去包裝成付費的「放貸機器人 SaaS」還不附上原始碼,那 GPLv3 就可以用法律條款擋住這種「白嫖」行為。
3. Apache License 2.0 (大廠最愛:自由但帶有專利保護)
-
規則: 跟 MIT 很像,非常自由,允許商業使用。但它多了一條「專利授權」條款,如果在程式碼中包含了專利技術,授權人不能反過來告使用者侵權。
-
為什麼適合你: 如果你覺得你的「(High - Low) * 1.2」自適應網格演算法獨創性極高,或者未來專案會越長越大,Apache 2.0 是個進可攻退可守的專業選擇。AWS 的很多開源專案也是用這個。
實作建議:
在 GitHub 建立 Repo 時,或者在 Repo 根目錄新增一個名為 LICENSE 的檔案,GitHub 右邊就會彈出一個 "Choose a license template" 的按鈕,點下去直接選 MIT 或 Apache,它就會幫你把年份跟你的名字填好,一秒搞定。