OSS貢献から
キャリアを模索する
はじめの一歩からその先まで
Core Messages
-
OSS貢献は楽しいし簡単に始められる!
- いろいろなやり方がある
- みんなでやろう!仲間が増えると嬉しい😄
-
ついでにSWEキャリアに繋がる・お金を稼げるといいよね
- こっちはいくつかハードルがある…
- 参考になりそうな例を紹介
Hi 👋
橘 祐一郎
Yuichiro Tachibana
@whitphx
- Indie developer
- OSS enthusiast
- Streamlit Creator
- Streamlit/Gradio Advocate at Hugging Face🤗
- Huge thanks to the Streamlit OSS community!
Streamlit Creator
Subtitle
今日話すこと
-
OSS貢献をはじめる
- 一般論
- わたしの例
-
OSS貢献をキャリアに繋げる
- 一般論
- わたしの例
OSS貢献をはじめる
なぜOSS貢献?
- 学習・スキル向上
- キャリア・ネットワーキング
- コミュニティへの還元
- テクノロジーへの情熱・問題解決
- etc...
いろいろな貢献の仕方
コードだけじゃない
- コード
- ドキュメント、翻訳
- テスト、バグ報告、機能要望
- コミュニティ参加、ユーザサポート
- 記事執筆、広報
- プロジェクト管理
- etc...
-
貢献
- コード:コードの作成、修正、最適化。
- ドキュメンテーション:ガイドと説明の改善。
- テスト:バグの特定と結果の報告。
- デザイン/UX:ユーザーインターフェースとエクスペリエンスの向上。
-
コミュニティ参加
- サポート:ユーザーの支援と質問への回答。
- コードレビュー:コードのレビューとフィードバック提供。
- プロモーション:情報発信とコミュニティの拡大。
- メンターシップ:新しい貢献者を指導し支援する。
-
専門的な貢献
- セキュリティ:脆弱性の特定と報告。
- アクセシビリティ:すべてのユーザーのための使いやすさの向上。
- パフォーマンス:速度向上のためのコードの最適化。
- ローカライゼーション:国際的なアクセスのための翻訳。
-
プロジェクト管理
- イシューの整理:タスクの整理と優先順位付け。
- ロードマップ:プロジェクト計画への貢献。
- 寄付/スポンサーシップ:財政的な支援のオプション。
全部は網羅できないので…
わたしのOSS貢献の例
なぜOSS貢献をするの?
私の場合
-
自分が使うソフトウェアの課題を解決する
- 役にたつ!!!
-
社会とのつながり、承認欲求的ななにか
- 楽しい!!!
はじめてのOSS
2015年くらい
- ⚪︎⚪︎を作ってたら再利用可能そうなパーツができた
- せっかくだからOSSにしてみよう
whitphx/fuel-kana, 2015
whitphx/lear-gist-python, 2015
最初はこんなもん!
自分が利用したOSSへの貢献
仕事で・個人開発で
docker/compose
DefinitelyTyped/DefinitelyTyped
auth0/ruby-auth0
sheetalgiri/
nepali-calendar-js
使ってるOSSへの文句をTwitterに書きそうになったらissue/PRにするチャンス
コード以外の貢献
こういうのも大事な貢献
mdn/translated-content
keras-team/keras-docs-ja
大粒のプロダクト・ライブラリ
- whitphx/vscode-emacs-mcx
- whitphx/streamlit-webrtc
- whitphx/stlite
- gradio-app/gradio (@gradio/lite)
Awesome Emacs Keymap, 2019
Emacs keymap extension for VSCode
Streamlit-WebRTC, 2021
Real-time video&audio on Streamlit
stlite, 2022
"Serverless Streamlit"
Gradio-lite, 2023
"Serverless Gradio"
わたしのStreamlitへの貢献
出会い
使い始めたモチベーション
- リアルタイム動画I/O + Computer Visionの開発
- デモ作成にOpenCV → デスクトップアプリ
- Web共有できるソリューション → Pure Python UI frameworks
-
リアルタイム動画I/Oサポート
- 当時存在しない
- 自作する余地のあるフレームワーク = Streamlit
Streamlit-WebRTC, 2021
Real-time video&audio on Streamlit
Streamlit-WebRTC
Forum初投稿
Streamlit Creator選出
Streamlit Creator選出
stlite, 2022
"Serverless Streamlit"
Serverless Streamlit, stlite
サードパーティ開発者として
- streamlit-webrtc
- stlite
- streamlit-server-state
- Streamlit Accessible Theme Editor
- etc...
ブログ記事
Streamlit本体への貢献
OSS活動から得たもの
特にStreamlitから
- 自分が欲しい機能追加、自分が困っていたバグの修正
-
友人
- Streamlit inc.
- Streamlit Creators
- 対外発表の機会(PyCon)
- 寄付
-
お金を受け取る仕事
- streamlit-webrtc: 動画ソフトウェアの開発の仕事
- stlite: stliteそのものの開発
- Hugging Faceでのポジション
OSSコミュニティとしてのStreamlit
-
Forum
- コミュニティマネージャの手厚いサポート
- Streamlit Creators
-
YouTube
- YouTuber Streamlit Creators
-
Books
-
StreamlitからOSSを
はじめてみよう
コミュニティに参加する
バグ報告・機能要望をする
アプリケーションを作る
- LLM Hackathon
- Build-with-Streamlit challenge
Componentを作る
→apps, componentsを作ったらforumに投稿
記事を書く
SNSで拡散する
本日のイベントで飛び込んでみる
❓
OSSをキャリアにする
OSS活動を楽しみつつ
メシを食う方法の模索
OSSは楽しい!
ついでにお金がもらえたら/
キャリアに繋がったらもっと良い
お金の稼ぎ方・仕事への繋げ方
一般論
-
寄付
- GitHub Sponsors
- Open Collective
- プロダクトとして収益化
- 雇用され業務として関わる
- OSSをフックに仕事を受ける
- 起業
- etc...
OSSからお金を得ている先人たち(一部)
Rui Ueyama氏
Will McGugan氏
sosukesuzuki氏
お金の稼ぎ方・仕事への繋げ方
自分の例
- 寄付を受ける
-
OSS経由で受託の仕事を受ける
- streamlit-webrtc
-
OSS開発を仕事にする
- stlite
-
OSS経由でポジションを得る
- Streamlit関連全般 -> Hugging Face
- その後業務としてGradio-liteの開発
OSS as a paid job
-
Hugging Faceで有給の仕事
- Streamlitへの貢献 👈🩷
- Hugging Face platformの開発(特にStreamlit関連機能)
- Gradioへの貢献 👈🩷
- Gradio-liteの開発 👈🩷
-
Streamlitから開発支援(2ヶ月)
- stliteの開発 👈🩷
OSSで生活できている状態の一例
営利企業のOSS
pros/consあるが…
収益化という観点では良い選択肢なのではないか
Streamlitのよさ
- 開発チームの厚さ
-
手厚いコミュニティ
- 専属のコミュニティマネジャーを雇用
-
ビジネスになる領域のOSS
- 収益化源への(潜在的)接続機会の多さ
- Snowflake Marketplace❄️
- (なんのかんの言っても)資金がある
Snowflake
Streamlitを有給の仕事にした例
Serverless Streamlit, stliteの開発
Streamlitのpart-time jobとして
stliteの開発
組織を跨いだ仕事の可能性
開発元以外も利用・自社プロダクトに組み込み
→そのOSSに詳しい人を雇用
OSSのおもしろさの一例
組織を跨いだ仕事_1
Databutton
組織を跨いだ仕事_1
Databutton
組織を跨いだ仕事_2
Hal9
組織を跨いだ仕事_3
Hugging Face
OSSを仕事にする
-
可能性はいろいろある
- が例が少なくて再現性のある方法はなさそう…
- とはいえ最近盛り上がっている
-
自分の例
-
仕事につなげる
- 営利企業のOSSに乗っかる
-
英語ファースト
- マーケットサイズが段違い
-
仕事につなげる
OSS活動と英語
自分のOSS活動を英語で発信
- READMEは英語で書く
- SNS英語アカウントの効用
自分の例: 自作OSSから得られた経済的利益は全て英語での発信から
- streamlit-webrtcから得た仕事
- streamlit-webrtc, stliteのプロモーション
- stliteに対する支援
- Awesome Emacs Keymapへの寄付(日本語話者の方からの寄付もあり)
日本語コミュニティの小ささ
Subtitle
- 英語ほぼ必須の理由の一つ
- 鶏と卵
- 盛り上げたい!
OSSやっていきましょう
- 楽しい!役に立つ!
- キャリアに繋がる機会が最近は増えている
- 仲間が増えると嬉しい
まとめ
OSS貢献からキャリアを模索する
By whitphx
OSS貢献からキャリアを模索する
- 666