2019年1月17日星期四

Open Source 是甚麼?怎面對它?擁抱它?

Blog 中多篇文章提到 Open Source,但沒有一篇統整文章,詳細談論 Open Source,網上已經有太多太多對 Open Source 的定義及解說,所以這裡就不再累贅說一篇,只會說我對 Open source 主觀看法。

———————————簡易的分隔線————————————

Open Source 是甚麼?


客觀答案,網上隨便 Google 就有一大堆,那只不過是甚他人的答案,最後還要找個自己答案。為甚麼要有自己答案?那是為了如何面對 Open Source,用甚麼態度使用 Open Source,就會往甚麼方向前進。很玄很虛?舉個例,使用 Open Source 程式碼,當中會有 Lincense ( MIT、GPLv2、Apache, etc ) 問題,程式碼作者對開放的希望都反映在 Lincense 當中︰

作者希望,使用者的洐生産物對外完全開放 ( GPLv2 Lincense)
作者希望,使用者的洐生産物可以 close source ( MIT License )
作者對法律條款感到煩躁,所有權利直接丟出公海 ( WTF Public License v2)



三個 License 有甚麼分別?


GPL Lincense 屬感染式,要用作者的程式碼做二次創作,就必須公開程式碼,對於一些需要投入資金做開發的商業公司來說,收不回成本,所以不想公開程式碼就不要用 GPLv2 Lincense 程式碼做創作。

MIT License 可以把作者程式碼加到二次創作中,販賣又好,提供服務也好,都不需要公開程式碼,但不能用作者名號做推廣宣傳 ( 招搖撞騙 )。不公開的程式碼需要標註作者、出處及MIT Lincense,所以作者只是留「著作權」及「商標」,公開其他權利。

WTFPL,You just DO WHAT THE FUCK YOU WANT TO,連著作權都放出公海,說是自己寫的程式碼也可以。

GNU通用公共授權條款 ( GPL Lincense )
https://zh.wikipedia.org/wiki/GNU%E9%80%9A%E7%94%A8%E5%85%AC%E5%85%B1%E8%AE%B8%E5%8F%AF%E8%AF%81

MIT授權條款 ( MIT License )
https://zh.wikipedia.org/wiki/MIT%E8%A8%B1%E5%8F%AF%E8%AD%89

WTF Public License
https://zh.wikipedia.org/wiki/WTFPL

———————————簡易的分隔線————————————

怎面對 Open Source?


以上三個 Lincense 只是結果,有甚麼想法、態度及環境,發展出這三種 Lincense 才是最重要,所以要了解 Lincense 故事,這裡不會談故事,請自己 google 開源發展史。

不談發展史,要怎繼續這話題?想想身邊有多少開源?又想想閉源軟件如何生存?以閉源生存條件,用在今時今日的新公司能不能競爭?初創公司跟大公司比資源比資金,有機會嗎?

以上問題,答案怎樣都好,開源已經是洪流一樣的事,不可逆轉,即使如何想不通。為甚麼世上有那麼多人做慈善事業,不收一分一毫把努力寫出來的程式碼貢獻出來,難道他們都是神仙?不用吃的嗎?假如他們不愁吃喝,世上還有很多人要吃要養家,他們的公開行為在迫死閉源,環境迫使閉源公司一同開源。閉源商業模式越來越難生存,那麼開源公司要如何生存?商業模式是怎樣?

「改變不了世界,就改變想法」,所以先說服自己,開源是世界潮流,即使想不通也只能接受它。

閉源只有一方獨大


閉源想法很簡單直接,寫程式碼,打包成可執行程式,售賣産品,聘請程式員寫的每一行程式碼都屬公司財產,不允許公開或帶走,公司持有所有權利。用家要使用閉源,付鈔買軟件,好一點的話,還有長期售後服務,故事這樣就完結。

以上故事,只有公司獨大,程式員及用家的利益怎樣?很低吧?

程式員︰


只有薪金回報,如果轉工的話,其他公司怎了解程式員實際功力?如果是創業的話,由頭寫過以前寫過的東西,會不會太笨?常常說 Reuse,因為資本主義,無法帶走,亦無法分享,阻外新手學習及科技進步,與原先的理念背道而馳。

用家︰


因為閉源,公司獨大,假如公司不提供服務、服務差劣、開天殺價、倒閉等等,用家只能選用或不用,選擇受限。

———————————簡易的分隔線————————————

為甚麼會有 Open Source?


說過閉源只有公司獨大,因此有人希望打破現狀。最不爽的,當然是程式員,熱誠及興趣之類在滿足之餘又能開飯,何樂而不為?不過,有人不愁吃喝只為興趣,受到「公司財産」所限,無法與他人分享及討論寫程式的喜悅,會怎樣想?好心提供解決方案,並附上程式碼,最後公司愛理不理的態度,忍受得了嗎?

「讓事情變得合法」是 Open Source Lincense 重點,閉源公司以「法律」旗號打擊 Open Source,反過來可用「法律」、「條款」強制他人遵守 Open Source 精神,所以用怎樣的 Lincense,決定了程式碼使用界限。在 Open Source 世界 Lincense 說是「法律」,倒不如說是道德界線,打官司成本太高,跟本不化算,人們可以不守規則,但會被開源社區、用家抵制,聲譽也會受損,因此難以招募人才及獲得用家。

———————————簡易的分隔線————————————

怎擁抱 Open Source?


心態方面︰


將心比心,拿到好處,不忘貢獻,算是道德教育一環,這個前題比甚麼都重要,沒有這個精神,就算開源,社團也不會運轉。不會寫程式?沒問題,寫教學、寫文檔、做翻譯、捐款、解答用家問題、報告 BUG,任何對社團做出的貢獻都可以。

商業模式︰


不可能白做的吧?商業機構並不是慈善事業,怎改變想法及做法,去接納 Open Source?屏除所有東西必需閉源的想法,想清楚公司核心價值,找出不可公開 ( 不能把炸彈、核彈、氫彈制作公開吧?世界會大亂 ) 及可以公開部份 ,再額外開發新業務。

學習機會︰


閉源甚麼都收起來,還學甚麼?開源程式碼,看不懂,但最少還有機會學得懂,看得懂,可參考別人作法,看得懂又精通,可試著融合到自己作品中,只要開源,一切都有可能。如果在開源界略有所成,或許有人賞識,拿到更多機會,得到公司聘請或合作。

使用者︰


想要新功能?做到或做不到,開發者自己最清楚,直接接觸程式員,比起胡亂吹噓的 Sales 靠譜得多吧?而且靠公開論壇,可以收集到其他使用者,曾許遇過同樣問題,以便尋求協助,假如發現有 BUG,可即時回報給開發者。

開發者︰


因此吸引到其他程式員志願協助,或提出指導,對自身技術成長,有莫大幫助。

———————————簡易的分隔線————————————

Open Source 如何賺錢?


舉個例,想要知識,買個圖書館如何?何任人都可在公共圖書館免費看書,買圖書館有用嗎?公司不是買知識,而是想要運用知識的人才。公開知識有甚麼好處?任何人都有機會接觸到知識,代表任何人都有可能被取替,不用怕知識掌握在個人手中,而無法取代 ( 公司又貴又不能炒的老屁股 ),即使聘用條款限制員工不能公開 ( 保密協定 ),新進員工學完即走的話 (知識不能帶走,經驗還能賺到 ),技術及知識之類也不能好好傳承下去。Open Source 就能解決以上問題?不是,問題沒有解決,只是可以選擇的人才變多,也可以看看其他人怎善用技術,得到啟發,發掘到可造之才,公司就賺到了。所以擁抱 Open Source,就要經營一個叫「人脈」的新業務,派一些員工去參加 Open Source project,單打獨鬥,不如集思廣益,除了找到人才,也可能找到其他公司合作機會。

Open source 賺到的,可能不是錢,可能是人才,可能是機會,但經營公司還是要用錢,怎麼辦?看看現今軟件業轉變,以前直接賣斷軟件使用權,現在可以連服務一起賣,例如用 Open source 建立伺服器 ( linux ),很久以前就有吧?再看看 M$ office,自 2016 版本後,Office 365 要每年訂購服務。GPL 要「分發」才需要公開程式碼,不「分發」只用在 server 提供服務,可不公開程式碼,這視乎 Open Source Lincense 而定,潮流興起賣服務,不賣軟件,甚麼都雲端,因此,還有一種叫 AGPL 許可證,比 GPL 更狠,要求賣服務也需要公開程式碼 ( 如 MongoDB )。

AGPL
https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License

———————————簡易的分隔線————————————

Open Source 的伸延


把開源想法伸延,不只程式碼,例如文章、圖片、音樂、資料、標準等等,甚麼都可以開放,可以用創用CC、開放標準之類公開。要進步,就需要開放,累積成果可以不斷被更多人繼承、被二次創作,釋放更多創意及可能性。

放得開比收起來,可能獲得更多好處,以下有一些開放産權的故事、機構作參考。

GNU 官網
https://www.gnu.org/home.zh-tw.html

Linux
https://zh.wikipedia.org/wiki/Linux

GitHub
https://zh.wikipedia.org/wiki/GitHub

Kubernetes
https://zh.wikipedia.org/wiki/Kubernetes

創作方面和反應 ( 初音未來 )
https://zh.wikipedia.org/wiki/%E5%88%9D%E9%9F%B3%E6%9C%AA%E4%BE%86#%E5%89%B5%E4%BD%9C%E6%96%B9%E9%9D%A2%E5%92%8C%E5%8F%8D%E6%87%89

从一款动画软件到一个神话,这是MMD 的发展史 - 知乎日报
https://daily.zhihu.com/story/9307103

沒有留言:

發佈留言

設有留言驗證及審查,檢閱後,才會顯示留言。
本人惰性很高,留言或許會石沉大海。