iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0

突然就到第二十天了,快樂的完成了2/3,接下來繼續努力!

今天的主題是「開源open source」,他的全名是「開放原始碼」(不知道為什麼簡稱是開源不是開原),是一個工程師發起的運動,簡單來說:「分享自己的程式碼,讓他人可以使用、借鑑、學習」。

所以有開放原始碼的軟體通常又稱為開源軟體,但開源軟體跟免費軟體不完全一樣喔!也有開源軟體是付費的,當然更多的是免費的軟體不開源。

不過雖然很簡單的說開源,但如果我只是想要分享互相學習,不希望被人拿去商業用途呢?

這就會提到開源人需要很熟悉的東西:License。

License

License簡單來說就是,就是在程式碼公布的同時,順便寫一篇法律文章,說明自己的這份程式碼可以被怎麼樣使用,比如可不可以被修改、可不可以商用等等等等。

(簡單來說就是程式版的創用CC,寫清楚你的作品可以被怎麼利用)

不過自己手寫License其實還是蠻累的,所以現在大部分的作法都是直接使用現在流行的幾個License來用,下面我就簡單介紹一下。

GPL

  • 只要引用、修改、衍生自來自 GPL 授權的軟體也都得用 GPL 授權,而且都得公開原始碼
  • 不允許修改後和衍生的程式碼做為閉源的商業軟體發布和銷售

BSD

  • 如果再發布的產品中包含原始碼,則在原始程式碼中必須帶有原始程式碼中的BSD協定
  • 不可以用開源程式碼的作者/機構名字和原來產品的名字做市場推廣

MIT

  • 在修改後的程式碼或發行包必須包含原作者的授權訊息

WTFPL

  • Do What The Fuck You Want To Public License,做任何你想做的事唄

結語

不過這些也都是範本,有些人也可能是拿這些來修改使用,所以在使用別人的開源程式碼前,還是要先清楚他的授權到底是什麼喔!

另外,台灣每年大概五月左右都會辦開源人年會,有很多大佬會分享他研究的內容,可以聽到很多東西,不要錯過喔!

本期meme

https://ithelp.ithome.com.tw/upload/images/20231004/20133574mveDPT3W0H.jpg


上一篇
Day19 OOP VS FP
下一篇
Day21 騙分導論
系列文
寫程式的那些宗教戰爭30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言