# Nov 8, 2016 開放原始碼生態系統和商業模式
主講人: Jim Huang (黃敬群) a.k.a. "[jserv](http://wiki.csie.ncku.edu.tw/User/jserv)"
地點:台灣朝陽科技大學
簡報網址: https://hackmd.io/s/H1CyOD0xx
## 重點提示
* 電腦科學家 Alan Kay 的名言:「預測未來的最佳方式就是去創造它」
* 你只要對 Android Open Source Project (AOSP) 貢獻哪怕僅有一行程式碼,都表示你的創作在全球超過 10 億台內建 Android 的電子裝置上運作,若你還能持續貢獻,那就透過「創造」去「預測」了未來
* 自由軟體/開放源碼本質:處於虛幻與現實的緩衝帶的社群
* 經營:管理與完全放任的一線之隔
* 君子愛財取之有道:商業化途徑
![](https://hackpad-attachments.s3.amazonaws.com/fossapc.hackpad.com_WjZwF2NUZWl_p.131666_1463605342907_cash.jpg)
[ [source](https://www.facebook.com/markleeblog/photos/p.1237675539591689/1237675539591689/) ]
## Twitter 選錄
* [「世界上有七十億人口,但我們認識的世界,卻是靠身旁大約數百人所建構出來的」](https://twitter.com/ltsart/status/792908441891119104)
* [「台灣人真的很厲害,要在出社會之後瞬間學會獨立自主、創造力、判斷力、大膽前瞻,上揭所示之主動技於成年以前禁止使用。」](https://twitter.com/yhlouise/status/780769584206852098)
* 判斷力示範:「你們要努力,以後才有好日子」/「亞洲人還不夠努力嗎?工作時數爆表,連自尊心都丟了,為什麼總是比不上歐美呢?」
* ["The value of open source is not free code, but multiples of engineering investment."](https://twitter.com/xatierlikeLee/status/767192438544879617)
## 觀念澄清
在 2016 年,我們不需要「推廣」open source,因為後者早已走入資訊社會之中,但我們應該要「澄清」誤解和成見,像是以下:
* 「搞 open source 的人要怎麼過活?source code 都給人看光光,要賺什麼錢?」
* 「聽說使用 open source 都要把 source code 吐出來,要怎麼避免?」
* 「一旦被 GPL 感染,source code 都得攤在陽光下,這麼恐怖 ,還是不要拿 open source 來作產品」
* 「只要不要被人發現我們使用 GPL 軟體,應該就沒事吧?」
* 「我又沒有拿 open source 來賺錢,所以可以把網路上找到的軟體拿來改,甚至把作者的著作權標示都抹除,是嗎?」
## Ecosystem (生態系統)
* [Open Source Ecosystem](https://www.dropbox.com/s/w08qfynqox73upp/open-source-ecosystem.pdf?dl=0)
* P. McCoy Smith 和 Wayne R. Chang 論文[The Evolution of Business Models Using Open Source Software](https://wiki.oulu.fi/download/attachments/58197330/ossd_2015_luu_li_dong_samodelkin.pdf?version=1&modificationDate=1448956483000&api=v2) (2011 年)
* [Open-Source Business Models](http://events.linuxfoundation.org/sites/events/files/slides/lfcs15_hall.pdf) (2015 年)
## 理解真實世界的運作機制
* **[貨幣系統真相](https://www.youtube.com/watch?v=3xaQvyVh5j0)** (video)
「數字代表我的心」之 7 大步驟
* Step 1: 政府創造好聽的借據
* 偷取未來的財富,拿來現在花掉
* Step 2: 銀行交換借據來創造貨幣
* 銀行用貨幣買下借據,然後聯準會寫借據(支票)給銀行,以交換財政部發行的債券,貨幣因此創造。實際上就是聯準會和財政部互換借據,銀行充當中間人
* money (錢) vs.currency (貨幣)
* [通俗介紹影片](https://tw.voicetube.com/videos/29001)
* Richard C. Temple 將交易媒介物是否僅為不具實用價值的 token,作為區分 currency 和money 的標準 [ [source](http://c.ianthro.tw/sites/c.ianthro.tw/files/da/df/410/410102_0001.pdf) ]
* money 必須儲存價值,並長期保有購買力
* 不斷堆積起來的基礎貨幣只不過是張收據
* [《貨幣背後的秘密》第1集 通貨 vs. 貨幣](https://www.youtube.com/watch?v=M6OAZjra8l4)
* Step 3: 政府把錢花掉
* 存錢 => 把你的貨幣借給銀行,而在法定範圍內,銀行要如何運用你的錢都行,包含在股票市場中賭錢,當然也包含再把錢借出去,以錢滾錢
* Step 4: 銀行把錢倍增
* 部份準備制度
* 部份準備比例: 10% => 存款: 100 元 + 可用信用額度: 90 元 = 190 元
* 銀行信用是貨幣主要來源,92% 到 96% 的現有貨幣不由政府製造,而來自銀行
* 通貨膨脹:貨幣變多,飛漲的物價則是結果
* Step 5: 我們要繳稅
* 我們之所以要工作,是為了換取貨幣,真正的財富其實是你的時間
* 我們經年累月付出了生命歲月,只為了某個人印在紙上或輸入到電腦的數字,那數字代表我們的汗水、眼淚、勞動、想法和才能,我們本該是賦予貨幣價值的人
* 我們大多數的稅收並非花在學校、道路或公共服務,反而花在償還「聯準會用空頭支票跟銀行買來」的國債利息上
* Step 6: 債務上限幻覺
* 債務永遠會比現有的貨幣還多
* 現有的每一塊錢上,每個月都有到期的本金 + 利息要償還,無法停止還錢
* 如果我們不還錢,就不會有新的貨幣被創造出來,以便取代拿去還債的貨幣
* 用來償還本金的那筆錢,消滅了對應的那筆債務,但債務同時消滅了貨幣
* 貨幣和債務有如物質和反物質,當彼此碰上,就會消滅對方
* 系統被設計為「需要無限增長的債務」,才能延續下去
* 美國獨立戰爭起因反抗稅收 (1773年12月16日發生[波士頓茶葉黨事件](https://zh.wikipedia.org/wiki/%E6%B3%A2%E5%A3%AB%E9%A0%93%E8%8C%B6%E8%91%89%E9%BB%A8%E4%BA%8B%E4%BB%B6)),結果現在反而需要繳稅才能延續貨幣系統
* Step 7: 貨幣系統的老闆瓜分全民稅收
* [債務貨幣/金錢就是債務](https://www.youtube.com/watch?v=4qsvvokeFM4&list=PLQglw9EcsbCLsl7lpmAWjk11N7NGKY4Zk) (video)
![](https://i.imgur.com/IDHGz0f.jpg)
[ [source: This is deep](https://twitter.com/StoryInPicture/status/680983964094300160) ]
## 思考時事
* [看AT&T購併時代華納,談電信業者新出路的策略思考](https://rocket.cafe/talks/80114)
* AT&T所擁有的龐大用戶基礎,是可以被活化利用的,大數據的珍貴之處,不再於只是數量龐大,而是可以找到一個數據應用的出海口。時代華納會是AT&T大數據資產活化的出海口嗎?可以透過AT&T的數據分析,為時代華納找到更精準的內容題材嗎?可以有更精準的行銷廣告搭配嗎?
## 開放原始碼比較好嗎?
![](https://hackpad-attachments.s3.amazonaws.com/fossapc.hackpad.com_2016-Week-1_p.131666_1456111087190_undefined)
被「___ 壟斷我們每天使用的資訊系統」有什麼問題 (底線可以換成過去的 MS-Windows 或者一堆產品),但看這張照片,大概就能體會「有選擇」的重要。 [ [source](https://www.facebook.com/photo.php?fbid=10102665120179591&set=a.529237706231.2034669.) ]
開放原始技術不見得比較強大,但可以讓我們「有選擇」,知道裡頭的設計和實做機制,同時引出新的商業機會。
## 開放原始碼專案的商業應用
* [開放原始碼專案獲利指引](https://github.com/jserv/lemonade-stand)
* 捐贈按鈕
* 懸賞
* 群眾募資 (一次性)
* 群眾募資 (持續性)
* 賣書及周邊
* 廣告
* 受雇於公司並持續開發專案
* 在職時啓動專案
* 補貼
* 咨詢服務
* SaaS
* 雙重授權條款
* 免費增值授權
* 開放核心
* 基金會
* 風險投資
Q: 開放原始碼若商業化,在商業化過程中,若使用免費的元件,則後續版本的更新與維護該如何運行?
A: 這就屬於「開放核心」和「諮詢服務」的範疇
Q: 開放原始碼軟體的盈利模式是否是以後期服務為主,重點並不在前期出售軟體獲利,而是藉此打開市場獲得市場份額,在軟體項目的部署與定制以及後續的檢修升級過程盈利?
A: 這是 1990 年代 Cygnus Solutions (第一間以自由軟體獲利的公司) 實際採用的方式,但之後 Red Hat 就靈活採用上述獲利方式的組合,實現持續獲利。
Q: 對於開放原始碼生態系統的安全性有沒有相關的防護措施?
A: 有,而且專注這方面的公司不算少。[Black Duck Software](https://www.blackducksoftware.com/) 是開放原始碼軟體管理的全球領導廠商,協助企業降低開源碼版權與資安的風險。Synopsys 旗下的 [Coverity](https://www.coverity.com/) 提供程式碼靜態分析工具,免費分析開放原始碼專案的程式碼品質。
## 授權條款與模式
* 影片: [USL v. BSDi 官司](https://www.youtube.com/watch?v=LLtj41eyvcA)
* [自由軟體授權分析](https://www.dropbox.com/s/yx2xsh0c0aosl0i/20160307.pdf?dl=0),林誠夏
* 權利
* 使用權
* 修改權
* 散佈權
* Note. 商用軟體只有『使用權』。
* 自由或開放原始碼軟體的特性
* 非專屬授權(專屬授權類似『賣斷』)
* 不可撤回
* 免授權金(但可收費)
* 授權金 (對象、時間、範圍)
* 使用GPL Licence時,程式碼可以以工本費之價碼收取費用(例如光碟、文本印製等等)
* 不附隨擔保
* 不限制目的、時間、地域
* 現在這個世界是開源跟私有(proprietary)的結合
* 商業策略:開放 binary 和 source code,但是針對行業專屬的 know-how 或操作指南,只提供給生意夥伴或付費訂閱會員(不違反 GPL 原則)
* [Make Your Open Source Software GPL-Compatible](http://www.dwheeler.com/essays/gpl-compatible.html)
* by [David A. Wheeler](http://www.dwheeler.com/contactme.html)
![](https://hackpad-attachments.s3.amazonaws.com/fossapc.hackpad.com_WjZwF2NUZWl_p.131666_1463617017491_undefined)
![](https://hackpad-attachments.s3.amazonaws.com/ntuoss.hackpad.com_NlSuiXIWfYP_p.545670_1456726129823_fork.jpg)
## Fork in Free / Open Source Software Projects
* 影片: [WebKit 發展史及開源條款授權分析](https://www.youtube.com/watch?v=i3yuZ9QMd1U)
* [解說共筆](https://fossapc.hackpad.com/WebKit--XqghAl17WNT)
* F/OSS 專案的特性之一,就是開發者 "fork" 專案的自由 (不損害商標的前提)
* 技術報告: [Forks in Open Source Software Projects](https://wiki.oulu.fi/download/attachments/28092087/ossd_2012_kuusirati_seppanen.pdf?version=1&modificationDate=1353314930000) (2012)
* 技術報告: [Forks have created some of the best projects in Free Software, but their origins are usually controversial and messy](https://www.linuxvoice.com/issues/006/fork6.pdf) (2009)
* 論文: [Understanding Code Forking in Open Source Software](https://helda.helsinki.fi/bitstream/handle/10138/153135/287_978-952-232-275-3-1_v2.pdf) (2015)
* 電子書: [Software Development Using Open Source and Free Software Licenses](http://www.oreilly.com/openbook/osfreesoft/book/ch07.pdf) (Page 171)
* OpenSSL => LibreSSL, BoringSSL
* [LibreSSL](http://www.libressl.org/) (OpenBSD 開發者主導): [Only a few days old, OpenSSL fork LibreSSL is declared 「unsafe for Linux」](http://arstechnica.com/security/2014/07/only-a-few-days-old-openssl-fork-libressl-is-declared-unsafe-for-linux/) (2014 Jul)
* [BoringSSL](https://boringssl.googlesource.com/boringssl/) (Google 工程師主導): [Google unveils independent 「fork」 of OpenSSL called 「BoringSSL」](http://arstechnica.com/security/2014/06/google-unveils-independent-fork-of-openssl-called-boringssl/) (2014 Jun)
* 起因: 2014 年 OpenSSL 的重大安全問題: [Heartbleed Bug](http://heartbleed.com/)
* 事實上,2009 年就有 OpenBSD 開發者 Marco Peereboom 不滿 OpenSSL 的 API 設計,fork OpenSSL 而提出 [assl (Agglomerated SSL)](https://opensource.conformal.com/wiki/assl)
* 截至 2014 年,全球 66% 的伺服器使用 OpenSSL
* 其他相關開源專案: [GnuTLS](https://en.wikipedia.org/wiki/GnuTLS) (LGPL), [NSS](https://en.wikipedia.org/wiki/Network_Security_Services) (MPL; Mozilla project)
* OpenSSL 授權和 GPL 的不相容議題 [廣告條款]: [PostgreSQL, OpenSSL, and the GPL](https://lwn.net/Articles/428111/); [The OpenSSL License and The GPL](https://people.gnome.org/~markmc/openssl-and-the-gpl.html)
* XFree86 => Xorg
* 關鍵人物: Keith Packard
* 從「教堂」模式轉化「市集」模式
* The XFree86 president, David Dawes, decided to change the XFree86 license in 2004 to one that wasn’t GPL-compatible, primarily to give developers more credit. The problem wasn’t giving credit; the problem was GPL incompatibility. This attempted change led to a mass exodus from XFree86, as nearly all developers and users immediately abandoned XFree86.
* XFree86's popularity declined rapidly, and by 2009 it was effectively dead. Meanwhile X development picked up pace as it moved away from XFree86.
* OpenOffice => LibreOffice
* gcc2 => egcs => gcc3
* Emacs => Xemacs
* FreeBSD => DragonFlyBSD
* RHEL => CentOS
* MeeGo => Sailfish OS (Jolla)
**The effect of the right to fork **
code forking 對一個專案可能造成的影響正反面都有可能,但從宏觀的角度來看,code forking 可說是開源軟體永續發展的隱形推手。code forking 所產生的影響分成下面三種等級:
* **Software Level**
* 這邊所強調的一點是商業手法中非常常見的「計劃性淘汰」。舉例來說,故意減少燈泡的壽命來增加銷售量、在印表機中設一個「死亡開關」,即使機台都沒壞掉,只要印了一定數量的文件就會無法再運作,⋯⋯等。而在軟體產業中,常見的計劃性淘汰就像是軟體升級後不支援舊版作業系統、甚至是推出新的作業系統宣布不再維護舊版作業系統等手法。
* 然而開源軟體因為授權的特性,天生就免疫這種情況的出現。因為每個人都有 fork 的權利,沒有人能故意用計劃性淘汰的手法來逼迫大家放棄現有的軟體,只有可能讓大家一起將軟體升級、改善相容性和讓軟體更好而已。
* **Community Level**
* 對於開源社群來說,因為每個人都有 fork 的權利,為了避免不必要的 fork、將使用者和開發者分散掉,整個社群變得更團結。然而當專案領導人 (概念重於頭銜本身) 和整個社群的期望相違背時,fork 也能讓整個社群確保專案可以朝著多數人的目標和期望前進。同時,fork 也能避免軟體公司「綁架」了整個軟體。
* 有趣的是,開源軟體公司和開源軟體社群有著根本上不同的地方:軟體公司可能會賣掉、然而社群不會。因此若開源社群的大部分開發者不贊同某個決定時,他們大可直接 fork 一個版本出去而不甩決策者、統合認同自己的人們再繼續進行開發。
* 不過這邊值得一提的是,單單 fork 程式碼其實是相當簡單的(在GitHub上僅僅是一個按鈕的事情),以上所提及的 fork,**困難的挑戰**往往都是在建立開源社群、開源社群、使用族群、穩定收入和有效的支援與服務。
* **Business Ecosystem Level**
* 開源商業模式之所以變成現在的型態,"fork" 可說是其中最關鍵的機制。fork 讓公司們「可以」做到某些事,同時也讓這些公司們「不可以」去做某些行為。
* 舉例來說,MariaDB Foundation 和 Oracle 的商業行為注定不可能一樣。**由於 MariaDB 是從 GPL 2.0 的 MySQL fork 出來的,因此會被 GPL 2.0 給限制**、無法使用和 Oracle 一樣的定價策略。然而 Oracle 是目前 MySQL 的擁有者、握有兩種授權,因此他可以使用 Dual Licensing 的方式來作為其商業模式,而 MariaDB Foundation 則辦不到。
* 另外關於Business Ecosystem Level有趣的一點是,fork出來的軟體其實只會在散佈時觸發Open Source License。因此要是公司只拿來作為內部使用,則fork出來的軟體經過修改後滿足需求,將可節省大量成本。只不過這種方式的缺點是無法得到眾人們的debug以及原軟體更新時將有可能和公司自己調整的版本不相容。
* 在商業的開源生態中,許多公司一起合作是很常見的模式。舉例來說,許多遊戲開發商有可能一起合力開發一款遊戲引擎,而自家的遊戲就可以使用這款引擎又可以節省開發遊戲引擎的成本。一個更好的引擎可以讓所有廠商都獲利,因此而促進了大家的合作。
* 另一個例子是WebAssembly,由 Mozilla、Google、Microsoft、Apple 等四家公司合作開發,目標是改善現在網頁的效能、讓未來Web Application能夠增加更多的可能性。這些例子就和高速公路一樣,在基礎建設上大家共同來進行開發、加速整體產業的發展,讓大家一起獲利。
* 一句話總結各公司在開源合作的模式:
:::info
"Open source software is commonly developed to **support** what is unique about the business, rather than to **be** what is unique about the business."
:::
## 創新的趨力和趨利
* [從「下町火箭」談開放原始碼](https://medium.com/@c9s/%E5%BE%9E%E4%B8%8B%E7%94%BA%E7%81%AB%E7%AE%AD%E8%AB%87%E9%96%8B%E6%94%BE%E5%8E%9F%E5%A7%8B%E7%A2%BC-5f64c6404548#.kd7cgh6jb)
* 創新,重點在於打破既有框架、既有想像,讓事物以新的樣貌重生。 不管是多小多小的創新,都是在改變世界。
* 開放原始碼在商業策略上的利基在於:
* 版權還是在原作者或發起公司手上
* 程式碼是開放了,但專利不是你的
* 專案主導掌控權不在你手上,只有參與合作的企業有機會參與決策
* 企業共利,降低獨立開發成本
* 淘寶年營收成長速度之高,已經到了沒有現成的商業軟體可完美解決該公司面對的技術問題,只好重頭改善開放原始碼的技術,以符合自身需求有商業方案
* 原本採用 IOE
* I: IBM (server)
* O: Oracle (database)
* E: EMC (storage)
* Microsoft 一開始 (2001) 否認 Open Source,認為它是一個軟體產業的「Cancer」,後來自己也推行一套 Open Source 的授權(2007)。
* 要去思考我們需要解決什麼樣的問題,如果沒有解決任何問題,則不會有商機。
* Open Source 提供一個高度可見的協作框架,吸引大公司的關注
* Open Source 作為公共財的形式,刺激了基礎軟體設施
* [Symbian](http://en.wikipedia.org/wiki/Symbian): Symbian 作業系統的授權金行情價是台幣一億元,顯示在當時非開源的手機系統的開發成本極高無比
* 但是,Android 完全顛覆這樣的模式,把價值上億元的手機系統原始碼,當作廣告來免費放送
* 高通的專利傘
* 規定高通的客戶彼此之間不能互相提起法律訴訟
* 但這規則在去年消失了
* 這專利傘造成的封閉市場存在了十幾年
* [小米還有更壞的事? 恐失「高通傘」保護 | 即時新聞 | 20141216 | 蘋果日報](http://www.appledaily.com.tw/realtimenews/article/new/20141216/524954/)
* [OpenStack](http://en.wikipedia.org/wiki/OpenStack) - [](https://www.openstack.org/)[https://www.openstack.org/](https://www.openstack.org/)
* Nokia 各種手機軟體從頭到腳都是自己開發,Android 這個 Open Source Project 的出現造成整個手機生態的改變。
延伸閱讀
* [從 Revolution OS 看作業系統生態變化](https://fossapc.hackpad.com/-Revolution-OS--RrJpYEByzmr)
## 最後送大家一句話
"Work Until You No Longer Have to Introduce Yourself"
![](https://i.imgur.com/VrZNtOl.jpg)
[ [source](https://www.facebook.com/photo.php?fbid=10105912195265103&set=a.10100927720771943.2974750.1210499) ]