不錯的 Github 開源專案
於是就有人問了
“這些專案可以直接拿來用嗎?”
有些可以直接用
但是在之前還是要注意下
專案中宣告的 License
也就是開源協議
當你去 GitHub 建立一個
開源專案的時候
可以看到有這麼一個選項
這些常見的協議都怎麼用的呢?
那麼接下里就是
學習 License 的正確姿勢
總有一些人會認為
開源就是不要錢
直接拿來用就可以了
如果你總是直接複製別人的程式碼
不管不顧的使用
可能會出問題哦
因為有些專案是聲明了協議的
不一樣的協議有不同的規定
你需要遵守這些協議才能使用
通常
License 裡面就詳細且嚴謹的說明了
你對開源的專案程式碼的使用
是否可以私用?
是否可以商用?
哪些可以使用等等..
有些人會問了
哇靠啊
要是我自己搞一個開源的專案
我怎麼知道怎麼寫 License?
不急
在 opensource.org 裡面
就列舉了很多協議
選一個就可以了
不過常見的協議也就是
我開頭列舉的那幾個
都是被廣為流傳且都認可的
那麼
這些常見的協議都各自是什麼意思呢
Apache License
使用這個協議可以進行商用
你可以對其修改、分發
很多大型專案都使用這個協議
比如 tensorflow、puppeteer
MIT License
這是個人用得比較多的協議
因為比較寬鬆精簡
可以商用、修改、複製、重新發布等操作
使用這個協議的就有
vue、react等
BSD License
這個和 MIT 協議類似
其它基本操作都可以使用
flask 用的就是這個協議
GNU License
你可以私用也可以商用
並且需要宣告原有的協議
以及
你的程式碼也必須開源出來
我們很熟悉的 Linux 就是
採用這種協議
現在知道為什麼
有那麼多免費的 Linux 發行版了吧
就是得益於這個協議
NO License
也就是什麼都不宣告
但是並不意味著就可以亂來
這比聲明了協議還嚴格
你可以使用、商用
而且
你不能對程式碼進行修改、複製、再次釋出
不過
你在 GitHub 使用了這個協議
還是可以被別人觀看程式碼,fork 操作
Eclipse License
這個協議允許你商用、複製、修改、再次釋出等
像 java 中的 junit4 就是使用這個協議
以上就是常見的協議
在使用開源專案的時候
需要先看下人家宣告的協議
當你使用這些開源專案的時候
如果出現什麼問題
原作者是不承擔任何責任的
當然
你也不能出去吹牛逼說
我這個專案是誰誰誰(原作者)和你一起開發的
看到這裡
有些人可能說
老子就是用了
就是不宣告
你吹啊?
我只能說
“小傻瓜”
ok
我這裡只是列了常見的協議
如果你需要了解更多
可以到這裡獲取:
https://opensource.org/licenses/alphabetical
那麼我們下回見
peace
你學到的
不僅是 Python