<style>
.reveal, .reveal h1, .reveal h2, .reveal h3, .reveal h4, .reveal h5, .reveal h6 { font-family: -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Helvetica, Arial, PingFangTC-Light, "Microsoft JhengHei", "微軟正黑", sans-serif, "Apple Color Emoji"; text-transform: none; }
.reveal p code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
border-radius: 4px;
}
</style>
## <img src="https://hackmd.io/favicon.png"/> 我與 HackMD 之於社群
`Max Wu @ Tempo House 2024`
---
<img src="https://i.imgur.com/PTbB46S.jpg" style="width:300px;height:300px;border-radius:50%"/>
## Max Wu
HackMD co-founder
技術愛好者
艾爾登法環 DLC 通關者
---
## <img src="https://hackmd.io/favicon.png"/> HackMD
Your Collaborative Markdown Workspace for Knowledge Sharing
開放協作!建立社群!
<!-- .element: class="fragment" data-fragment-index="1" -->
----
## 出沒於各式 Conf
==PyCon TW== ==COSCUP== ==MOPCON== ==SITCON== ==HITCON== ==LaravelConf== ==Modern Web== ==DevOpsDay Taipei== ==Agile Summit== ==WebConf== ==Hello World Dev Conf== ==Kubernetes Summit==
----
## 在賽車上也看的到!

[成大方程式賽車隊](https://x.com/hackmdio/status/1838282779429138828)
----
## 上面有哪些社群?
==Ethereum== ==g0v== ==Rust Lang== ==nf-core== ==ETHTaipei== ==GovComms== ==Wikidata Taiwan== ==OpenStreetMap== ==HackingThursday== ==matplotlib== ==Fedora== ==OpenStack== ==Kubernetes== ==Node.js== ==OCaml== ==OpenStack== ==Nordic RSE== ==Astro==
<!-- .element: class="fragment" data-fragment-index="1" -->
### 歡迎大家來蓋社群!
<!-- .element: class="fragment" data-fragment-index="2" -->
----
## 一句話說明 HackMD 用來做什麼?
用純文字與他人協作知識的平台
<!-- .element: class="fragment" data-fragment-index="1" -->
黑客松、社群小聚、遠端會議、實驗研究、開發文件等...
<!-- .element: class="fragment" data-fragment-index="2" -->
---
## HackMD 是從開源開始的
開源的專案叫做 CodiMD
----
最早是 2015 年的資訊安全的期末專案
研究 Hackpad 如何做協作以及是否安全
第一次接觸 Node.js,在 GitHub 上面學習開源專案與網頁技術
用 npm 裝了一堆套件,成功開發出可以動的 Markdown 編輯器
因為 HackMD 的緣故,使我快速成長並深入網頁技術
期末專案也拿到好分數!
----
既然是協作服務,那應該給更多人用看看
隔年的年後,決定開源與架設服務讓所有人使用
放上了 Hackernews 與 Facebook group
獲得熱烈的迴響!
----
開源後維護了一年半,傾聽使用者需求不斷改進然後部署新版本
在 GitHub 認識了另個好夥伴 yukai
也出現一位來自德國的維護者自告奮勇想要協助維護開源版本
我找到了其他夥伴一起開設公司
準備開發與銷售企業版本!
---
## 開源好棒棒
:question:
----
## 開源 = 免費?
Open Source = Free?
----
開源是為了可以看到原始碼 (Source Available)
看到原始碼 :arrow_right: 要先確認授權
---
## 開源專案的困難
- 要怎麼讓使用者理解如何使用?
- 要開發什麼功能/要如何排優先度?
- 沒有因此獲得收入要如何持續?
- 要採用什麼授權?
- MIT, Apache2, WTFPL
- GPL, AGPL
- Open-core model?
- Dual license
---
## 開源專案如何賺錢?
- 大公司撐腰不用賺錢
- 微軟、Google 等
- 收捐贈/打賞
- Open Collective
- GitHub Sponsor
- 成立基金會
- 從自己口袋出
- 賣顧問服務
---
## 開源是為了什麼?
- 獲得名聲
- 自己的履歷表
- 找到工作!
- GitHub 是社交軟體
- 攏絡開發者來貢獻 (aka 把不想寫的交給別人)
- 獲得更多場景的測試與相容性
- 若有漏洞或是問題可以回報
- 也讓有能力的人來修正問題
- 不想維護了可以讓想用的人拿去維護 (fork)
- 回饋社群!回饋社會!
---
## 開源的風險!
- 被 fork 拿去商業化 (lucene, Elasticsearch)
- 理論上可以透過授權防範
- 實務上沒錢告不起
- 被維護者偷偷加料 (xz-utils)
- Code Review 要落實 (即使這樣可能也很難防)
- 被從程式碼發現的漏洞發動 zero-day
- Log4j
- LibSSH
- 即時修補發布 CVE
---
## 到底要不要開源!?

---
# 謝謝大家!
{"title":"我與 HackMD 之於社群 @ Tempo House 2024","description":"Max Wu @ WebConf Taiwan 2023","slideOptions":"{\"width\":1200,\"theme\":\"white\",\"preloadIframes\":true,\"viewDistance\":5,\"help\":true,\"showNotes\":true}","contributors":"[{\"id\":\"61af98f4-b303-4819-b08b-aa32cf6677a8\",\"add\":3409,\"del\":246}]"}