Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OSS開発を楽しく続けてきた話
Search
Yoichi NAKAYAMA
August 27, 2018
Technology
0
890
OSS開発を楽しく続けてきた話
DevLOVE関西 2018-08-27 アウトプットを習慣化しようとしている人たちの話
https://devlove-kansai.doorkeeper.jp/events/77587
Yoichi NAKAYAMA
August 27, 2018
Tweet
Share
More Decks by Yoichi NAKAYAMA
See All by Yoichi NAKAYAMA
git-jumpを解放する / loosen editor dependency of git-jump
yoichi
0
1.4k
小さなOSS貢献の実践例 / A practical example of a small contribution to OSS
yoichi
0
170
ターミナル出力の色付け / Terminal output coloring
yoichi
0
210
パイプの話 / on pipe
yoichi
0
560
バイナリリーディング / Binary Reading
yoichi
0
420
Other Decks in Technology
See All in Technology
Databricksアシスタントが自分で考えて動く時代に! エージェントモード体験もくもく会
taka_aki
0
310
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
1
120
【PyCon mini Shizuoka 2026】生成AI時代に画像処理やオーディオ処理のノードエディターを作る理由
kazuhitotakahashi
0
280
チームメンバー迷わないIaC設計
hayama17
5
3.7k
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
1
330
ソフトウェアアーキテクトのための意思決定術: Create Decision Readiness—The Real Skill Behind Architectural Decision
snoozer05
PRO
29
8.7k
三菱UFJ銀行におけるエンタープライズAI駆動開発のリアル / Enterprise AI_Driven Development at MUFG Bank: The Real Story
muit
11
20k
生成AI活用によるPRレビュー改善の歩み
lycorptech_jp
PRO
5
2k
トップマネジメントとコンピテンシーから考えるエンジニアリングマネジメント
zigorou
3
470
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
Devinを導入したら予想外の人たちに好評だった
tomuro
0
850
マルチロールEMが実践する「組織のレジリエンス」を高めるための組織構造と人材配置戦略
coconala_engineer
2
340
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
950
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
51k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
870
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
4 Signs Your Business is Dying
shpigford
187
22k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
200
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
260
Transcript
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 OSS開発を楽しく 続けてきた話 Yoichi NAKAYAMA 株式会社MonotaRO
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 お話しすること OSSへの貢献というアウトプット を継続的にしつつ ✓ 楽しくソフトウェア開発してきた
✓ 私の経験についてお話しします ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 コンテクスト 学生の頃、OSSと出あう ✓ 仕事しながらOSS開発を継続 ✓
ふつうのOSS開発者 主要な作品とかは特にない ✓ あちこちにちょっとずつ貢献 ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 世間のできごと 1998 (20年前) 伽藍とバザール /
エリック・レイモンド ✓ オープンなコミュニティによる開発への注目 ✓ ✓ 2008 (10年前) GitHub, Bitbucket ローンチ ✓ OSS開発への参加の敷居がぐっと下がる ✓ ✓ 2018 (今ここ) ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 関わりはじめ (1998〜) 大学の計算機部屋にたむろ プログラミングしてない(できない) ✓
OSSを見付けて、ビルド、インストール まわりでやってる人と一緒に ✓ 学内向けにNetNewsで紹介 ✓ 使う、使ってもらう、フィードバック受ける ✓ ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 例えばこんなの https://github.com/mtoyoda/sl
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 パッチ(差分)を拾う 使えないソフトウェアもごろごろ マルチバイト対応してない。日本語NG ✓ 環境依存でビルド失敗、動かない
✓ 自分では直せない(プログラミングできないから) ✓ ✓ 誰かが書いて公開しているパッチ 適用してインストール→使えるようになる。嬉しい ✓ 気付き:パッチ集めてきてビルドするの大変だなー ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 パッケージ管理システム サードパーティのソフトウェアを インストールする仕組み パッチ適用してビルドされてる ✓
各自がパッチ集めたりビルドしなくてよい ✓ ✓ 使ってみる→とても便利! 気付き:自分も貢献できそう ✓ パッチの追加、パッケージ本体の更新への追従 ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 FreeBSD ports 外部contributorとして開発に参加 簡単にできる仕組みの存在→見よう見まねでできた ✓
✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 FreeBSD ports もっと関わりたい! コミッターになる 自分で直接変更を取り込める
✓ 他の人の変更を受け入れる ✓ ✓ 学び: 人の書いた変更をレビュー ✓ 自動化されたビルド、配布の仕組み ✓ ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 パッチ(差分)を返す 外部でパッチを抱え続ける大変さ それぞれのOSでメンテナンス ✓ 上流の更新への追従コスト、辛い
✓ ✓ パッチを上流にフィードバック コードによる貢献をはじめる ✓ 学び:ちょっとコードを読めるように ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 いろんなOSSの開発 外にあるパッチを取り込む ✓ ほかにもできること ドキュメント誤記修正、翻訳更新
✓ 不具合の再現確認 ✓ ✓ 自分でもちょっとずつコード書く 他の人の修正のやり方を真似て ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 卒業 学生のころ 本職: 理論物理 ✓
趣味: ソフトウェア開発 ✓ ✓ 就職してから 本職: ソフトウェア開発 ✓ 趣味: ソフトウェア開発 ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 就職 (前職 2003〜) 仕事の中心 !=
OSS開発 デジタル放送関連デバイスの開発 ✓ クローズドなソースを書く ✓ ✓ OSSを一緒に使う OSSのライブラリを組み込む ✓ 開発を支えるツールとして使う ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 製品開発の進め方 製品で必要な機能を洗い出す ✓ OSS、商用含め使える部品を探す ✓
使える部品は使い、無い所を実装 ✓ そのままだと使えない部品は? ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 OSSを必要に応じて修正 OSSを手元で修正して使う ライセンス確認 変更分の公開は任意か必須か ✓
どこまでが「変更分」に含まれるか ✓ ✓ 他所の都合に左右されず動く状態に 早く価値を届けるのが仕事 ✓ 修正したものを取り込んで製品化 ✓ ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 仕事でOSSのコードを書く 変更をフィードバックしたい 妥当性のレビューを受けられる ✓ 本体の更新に追従しなくていい
✓ 社内の他製品にも流用しやすい ✓ ✓ 上司に相談、まかせてもらう 業務時間で書いたコードを開発元へ ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 私のOSS活用方法 境界は越えられる、変えられる そのままで要件を満たせなくても ✓ あと一歩なら変更しちゃえばいい
✓ ✓ メンテナンス対象を小さく保つ フィードバックしてOSSにまかせる ✓ 価値(お金)を生み出す領域に集中 ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 考えたこと プログラマの仕事、楽しい! この先も続けたい。生きのこるには? 一番の下手くそになって幅を広げる ✓
そのために、未経験領域に飛び込みたい ✓ ✓ 仕事とOSS開発と 得意なやり方を捨てるわけにはいかない ✓ ✓ 一緒にOSSと関わってきた仲間との再会 ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 転職 (モノタロウ 2015〜) https://www.monotaro.com/
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 仕事とOSS開発と やってることは変わらず 学んではアウトプットの繰り返し ✓ ✓
仕事の中心 != OSS開発 価値を生むサービスの開発、運用 ✓ OSSを必要に応じて修正して使う ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 OSSに関わる人を増やす まわりにも広めたい ✓ OSS Gate
ワークショップ OSS開発への参加を半日で体験する ✓ 対象は野生のOSS (練習用ではない!) ✓ 初心者の最初の一歩に最適化したやり方 ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 OSS Gate ワークショップ 興味持つ→使う→フィードバック 気付き:自分がやってきたことと同じ
✓ 社外で参加して、凄さを実感 たった半日でそこまでできちゃう!? ✓ ✓ 社内でも何度か開催 ✓ ✓ まわりでOSS開発者が増殖中! ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 まとめ 私がやってきたこと 興味がわく対象を見付ける ✓ 自分に出来ることでアウトプット
✓ 自分のペースで継続、拡げる ✓ ✓ OSS開発を楽しく続けてきた ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 OSS開発に参加しよう みなさんにおすすめする3つの理由
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 おすすめ理由1 プログラミング全くできなかった 僕でもできた! 最初は見よう見まねで大丈夫 ✓
コード書く以外の貢献もある ✓ やりながら学び、できること増える ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 おすすめ理由2 仕事での開発にも役立つ! 良い開発のプラクティスを自ら体験、 その上で取り込める ✓
OSSに借りられる力は借りて、勝負 する所に集中できる ✓ 僕の場合:おかげで就職・転職できた ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 おすすめ理由3 何よりも楽しい! 遠い世界の人とコラボレーション ✓ 影響を受けたり、与えたり
✓ 周りの人を引き込みたくなるくらい 楽しい ✓ ✓
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 ひとつのやりかた OSS Gateで最初の一歩を! https://oss-gate.doorkeeper.jp/
OSS開発を楽しく続けてきた話 Powered by Rabbit 2.2.1 おしまい 聞いてくれてありがとう!