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
ANDPAD inc
August 29, 2025
Programming
0
6
OSS開発者という働き方
柴田 博志
GitHub:
hsbt
2025 年 8 月 28 日
Ruby Association Activity Report
ANDPAD inc
August 29, 2025
Tweet
Share
More Decks by ANDPAD inc
See All by ANDPAD inc
Vue・React マルチプロダクト開発を支える Vite
andpad
0
81
プロダクト開発を支えるデータ利活用:中央集権から「民主化」までの軌跡
andpad
0
130
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
350
読もう! Android build ドキュメント
andpad
1
430
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManager への移行戦略
andpad
0
210
Flutter は DCM が 9 割
andpad
1
350
Amplify で SPA をホスティングする際の注意点
andpad
1
280
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
andpad
0
140
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
590
Other Decks in Programming
See All in Programming
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
9
2.6k
CSC305 Summer Lecture 12
javiergs
PRO
0
110
CSC305 Summer Lecture 06
javiergs
PRO
0
100
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
260
自作OSでDOOMを動かしてみた
zakki0925224
1
1.4k
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
150
AWS Serverless Application Model入門_20250708
smatsuzaki
0
130
一人でAIプロダクトを作るための工夫 〜技術選定・開発プロセス編〜 / I want AI to work harder
rkaga
13
2.8k
実践 Dev Containers × Claude Code
touyu
1
240
Understanding Ruby Grammar Through Conflicts
yui_knk
1
120
Honoアップデート 2025年夏
yusukebe
1
840
TDD 実践ミニトーク
contour_gara
0
140
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
4k
Typedesign – Prime Four
hannesfritz
42
2.8k
Code Review Best Practice
trishagee
70
19k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A better future with KSS
kneath
239
17k
The Cult of Friendly URLs
andyhume
79
6.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Building Adaptive Systems
keathley
43
2.7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Side Projects
sachag
455
43k
Rails Girls Zürich Keynote
gr2m
95
14k
Transcript
OSS։ൃऀͱ͍͏ಇ͖ ⽅ Ruby Activity Report 2025 1
Rubyコミッター、Ruby, RubyGems, Bundler, Rake, ruby-build, psychなど多くのOSSのメンテナ、ruby-lang.orgの管理人として、 Rubyの開発を支えるインフラを整備している。株式会社アンドパッ ドで採用広報を担当しながら、プログラミング言語Rubyのフルタイ ムOSS開発者としても活動中。「全ての人がプログラミングを通し て楽しく成長できる社会を作る」ために自分ができることに毎日少
しずつ取り組んでいる。 柴田 博志 開発本部 フェロー Profile ʛ 経 歴 自己紹介 2
今⽇は、そんな疑問に答えるべく、私の⽇常を紹介しながら、Ruby にどのように影響を与えているかを お話しします。 フルタイムコミッタと聞いて皆さんはこう思ったことはありませんか? 「OSS 開発者って、普段なにしてるんだろう?」 「OSS開発を仕事にするって、どうやって?」 「そもそも、仕事として成り⽴つの?」 OSS 開発者の日常|よくある疑問と今日のアジェンダ
3
「好き」を仕事にするということ それって Youtuber? 01 4
OSS։ൃͱͯ͠ͷ Ruby ͷ։ൃɺ ⼤ ͖͘2ͭͷ׆ಈʹ͚ΒΕΔɻ ৽͍͠ػೳະདྷͷઃܭΛٞɺ࣮Λ͢Δɺ(ଟ)՚͔ͳ׆ಈɻ Ruby という言語の進化 (表舞台) どうやって「仕事」として成り⽴たせる?
5 ಓͳόάमਖ਼ɺ༷ʑͳڥͰಈ͖ଓ͚ΔͨΊͷඋɻ メンテナンスという⾒えない⼟台 (ཪ) ։ൃऀ͕։ൃΛ͢ΔͨΊͷ CI ֤छϓϥοτϑΥʔϜͷඋɺ༧ࢉͷ֬อͱࣥߦ Ruby ͕ಉ͍ࠝͯ͠Δ֤छϥΠϒϥϦͷ౷߹ͱςετ࣮ߦ ܶతͳύϑΥʔϚϯεվળɺ৽͍͠ύϥμΠϜͷಋೖɻ 柴田の活動領域は主にこっち
RubyGems と Bundler は皆さんが使うgemを管理する、いわばRuby世界のライフライン。 RubyGems/Bundler を始めとするライブラリの継続統合: 舞台裏の仕事|エコシステムの⼼臓部を守る 6 ϦϦʔε࡞ۀΛ ⾃
ಈԽ͢Δ͜ͱͰɺ ⼈ తϛεΛ͗ɺϝϯςφͷόʔϯΞτ͔ΒΤί γεςϜΛकΔɻ ⾃動化によるリスク管理: RubyGems チームと連携しながら、Ruby 本体への同梱や戦略をコーディネート Ruby が同梱しているライブラリ(net-http や rake, rbs など) が開発版でも正常に動く ことを毎日確認 ্هͷϥΠϒϥϦͷ౷߹ՄೳͳݶΓࣗಈԽ
開発者の多くはMac/Linuxユーザー。それでも Windowsͷར༻ऀੈքͰ ࠷ユーザー数が多い環境。 Windowsαϙʔτͷ࠷લઢ: 舞台裏の仕事(2):|あらゆる場所で動かし続ける 7 「私のPCでは動くのに…」をなくすため、様々な環境で⾃動テストを動 かし続ける。rubyci を all
green にしたので褒めて欲しい。 多様な環境での品質保証: ruby-build のメンテナンスを通して、常に Ruby がビルドできる状況 の維持 一度、壊れてしまったまま時間が経つと直すのが途端に難しくなるので ビルドとテストが通るように毎日チェック。
openssl ͳͲͷϥΠϒϥϦ Rails ͳͲʹ ੬ऑੑ͕ ⾒ ͔ͭΕɺଈ࠲ʹରԠ͢Δɻ 開発プラットフォームのメンテナンス: 舞台裏の仕事(3)|"当たり前"を⽀える⾒えない努⼒ 8
Ruby ⾃ ମͷϏϧυςετͷΈΛ վળ͠ɺଞͷ։ൃऀ͕ͬͱָʹɺ։ ൃʹूதͰ͖ΔΑ͏ʹ͢Δɻ GitHub Heroku ͳͲɺRuby Λࢧԉ ͯ͘͠ΕΔϓϥοτϑΥʔϜͱͷંি 開発環境の整備: Ruby の7月の GitHub の利用料金 $25000くらい
時間と給与を与えることで支えてくれているのはアンドパッド、一方で Ruby にフォーカスして支え てくれているのが Ruby Association ɻ ΧϯϑΝϨϯεલޙʹ։࠵͞ΕΔΠϕϯτͷۚમతͳ ⽀ ԉɺ৽ػೳͷ։ൃάϥϯτΛ௨ͯ͠
Ruby ίϛολͷ ܧଓੑΛ֬อ RubyίϛϡχςΟͷԠԉஂ: では、誰がこの活動を⽀えているのか? 9 Ruby Associationͱڠ ⼒ ͠ɺ։ൃऀ͕ू͏ʮ։ൃ߹ ॓ʯΛاըɾӡӦɻ 私の役割: 皆で集まり、開発を加速させ、新しい仲間を育てる場を 作る。
とあるOSS開発者の1⽇ OSS 開発者の朝は早い 02 10
Ruby ʹ༻ҙ͍ͯ͠Δ CI(rubyci.org GitHub Actions)ΛશͯνΣοΫɻfail ͍ͯ͠ΔՕॴ͕ ͋Εϒϥβͷλϒͱͯ͠։͍ͯอଘɻ 大体 6時に起床、ゲームのデイリー消化、朝食後にίʔώʔΛ
⽚⼿ ʹɺGitHub ͷ௨ɺメー リングリスト(ruby-core)や Slack ɺFeed ͷ Ruby/OSS ؔ࿈ʹΛ௨͢ɻλϒͰอଘɻ 収集 診断 計画 OSS 開発者の日常|8:00 - 10:00 11 Fail している CI の修正を最優先にし、ऩूͨ͠ใ͔Β ⾃ ͕ରԠ͖͢༰を確認し、1 ⽇の⼤まかな計画を⽴てる。
最近はϦϦʔε࡞ۀͷࣗಈԽͱ CI ͷߴԽʹྗΛೖΕ͍ͯΔͷͰɺࢼߦࡨޡ͠ͳ͕Β͍Θ ΏΔී௨ͷϓϩμΫτ։ൃͱಉ༷ʹ࡞ۀΛߦ͏ɻ CI で落ちている箇所を調べ始める。毎日やっているので、前日に落ちていないなら1日分 の修正が原因なことが多く、コミットを全部読んで原因っぽいものを直す。よくわからな いものは revert して、コミットした人にメンションをする。
मਖ਼: 仕込み: OSS 開発者の日常|10:00 - 18:00 12 自分が保有している macOS(beta, stable) と Windows、Linux(WSL)で Ruby をビルド、 テストが通ることを確認、通らない場合は bugs.ruby-lang.org に報告するか、nobu な どと連携してすぐに直す。 確認:
OSS 開発者の日常|10:00 - 18:00 13 Ruby CI で落ちているが nobu が入れた変更に対応
できてない奴なので毎日 nobu にどんな感じか聞き 続ける GitHub Actions で flaky なやつ、多分 笹田さんの環境で flaky なやつ、多分
RFC ではクライアント側はヘッダはつけなくても良いと定義、aws-sdk でも Content- Type ヘッダを削除するようなパッチを使っていた Rubyͷඪ४ϥΠϒϥϦ net-http ͕ɺContent-Type Λࢦఆ͠ͳ͍߹ʹσϑΥϧτͷϔο
μを付けていることで、aws-sdk の開発者が困っていた 例: https://github.com/ruby/net-http/pull/207 影響範囲の調査: OSS 開発者の日常| 例: net-http ͱ Content-Type 14 ։ൃऀձٞͰʮͱΓ͋͑ͣΊͯΈ·͠ΐ͏͔ʯͱఏҊ͠ɺ皆の合意を得て、Rubyの 次のバージョンに添付するものから未指定の場合は Content-Type を空とする事にし た 結論: CI や インフラの整備が中心だが、ライブラリの修正や機能追加もたまにやる。⼀つの修正が、世 界中のRuby利⽤者に影響するので、常に範囲や戦略を考え続けている。
毎月第二火曜午後に フルタイムコミッタを中心にオンラインで集まる。 毎週火曜午前に Matz や Ruby ίϛολΛத৺ʹオンラインで集まる。 井⼾端会議 (Ruby Office
Hour): 開発者会議 準備会: OSS 開発者の日常|11:00 - 18:00 15 誰かに困っている話をしたりされたり、bugs.ruby-lang.org に投稿された内容についてカ ジュアルな感じで雑談する。 木曜の開発者会議の前に論点を整理して、「誰が」「何を」決めるのかを洗い出しておく 毎月第二木曜午後に Matz を含む Ruby コミッタがオンラインで集まる。 開発者会議: 準備会で洗い出した論点をベースに Matz に決めてもらう。たまに脱線して議論が発散し て 20時くらいまで喋っている時もある。
上長(古橋、秒速) や CEO(稲田) と組織の現状や事業の方向性、自分自身の動き方などを 会話 カンファレンスへのスポンサード、ブース設営や関連イベントの企画と運営、テックブロ グや対外的な露出について検討 採用広報チームの定例: 1on1: OSS
開発者の日常|13:00 - 15:00 16 採用広報の動きを踏まえた上で新卒・中途などの採用に関する戦略を検討、いわゆるリク ルータ的な動きも担っている 採用チームの定例 © 2024 ANDPAD All Rights Reserved. Confidential Confidential
OSS 開発者の日常|13:00 - 15:00 17 RubyKaigi 2025 のブース企画 Ruby 3.4
リリースパーティ Kaigi on Rails 2024 アフターイベント © 2024 ANDPAD All Rights Reserved. Confidential Confidential
朝は US、夜は EU と仕事(=OSS開発)をやめる時をはっきりさせないと無限に何かをしてし まうので休日や平日の19:00 には Slack などをシャットダウンしている 情報をシャットアウトする強い気持ち OSS
開発者の日常|1 ⽇ ͷ·ͱΊ 18 ͕͍ࣗͬͯΔ͜ͱ͕८Γ८ͬͯॴଐݩͰ͋ΔΞϯυύουʹརӹΛͨΒ͢ͱ͍͏͜ͱ ΛৗʹϓϨθϯςʔγϣϯͰ͖ΔΑ͏ʹ͍ͯ͠Δ 自分で自分の価値を作って売り込む ྫ: OSS ։ൃΛ͢Δ > ςοΫϒϩάͳͲͰެ։͢Δ > Ԡ͔Β࣮ࡍʹ࠾༻׆ಈΛͯ͠࠾༻ ʹܨ͛Δ
モチベーションの波を乗り越えて 「だって仕事でしょ」 03 19
「⾯⽩い!」「楽しい!」というۦಈ(ଟ) 趣味の開発 (駆動): 「やる気」に関係なく OSS 開発をする 20 「これは⾃分の責任だ」「ユーザーへの約束だ」という強い気持ちを持ってモチベーショ ンに関係なく、⽬的地に向かって進み続けるようにしていく。 仕事の開発
(৴೦駆動):
信念1: 地味で、でも重要な仕事をやり遂げる 21 ࠷৽ػೳͷ։ൃՖܗɻͰɺ ⼤ ଟͷϢʔβʔ͕͏҆ఆ൛ΛकΓଓ͚Δ͜ͱ͕ͦ͜ɺ ࠷ ⼤ ͷ৴པʹܨ͕Δ(ଟ) 安定版のリリース:
不定期に報告、または発見される脆弱性について、論点を整頓し、対応すると関係者で決 めたものの CVE を取得して、修正、新しいバージョンのリリースをする。 脆弱性対応: Windows ͷ vcpkg ͷಋೖɺLinux/Windows ͷ ARM ରԠͳͲɺେଟͷਓ͕ "͍ͬͯͳ ͍" ڥͰ؆୯ʹ։ൃΛ։࢝Ͱ͖ΔΑ͏ʹυΩϡϝϯτπʔϧΛඋ 開発プロセスの改善:
「この作業、毎回⾯倒だな…」で終わらせな い。未来の⾃分が楽できるように、未来の仲間 が困らないように、⾃動化の仕組みを作る。 ⾯倒な作業の⾃動化: 信念2: 未来の⾃分や仲間を助ける 22 ৽͍͠ίϛολͷΞΧϯτηοτΞοϓͳ Ͳɺ͍ΘΏΔࣾITతͳͭશ෦Δ ެ։伴ͷొͷ୨Է͠
社内IT業務:
Ruby͕༷ʑͳڥͰਖ਼͘͠ಈ͔͘Λ24࣌ؒ365 ⽇ νΣο Ϋ͢る。 Ruby CI や GitHub Actions のメンテナンス
信念3: 開発の⽣命線を守る 23 新しいOSが出れば、Ruby Association と AWS のサポー トを眺めながら適当な新しいテスト環境を⽤意する。 プラットフォームの維持 Mackerel などの監視を設定し、アラートがあれば対応を する。CI の失敗は前述の通り。 多様な OS で構成されていて、それぞれの OS のメンテ 方法についてはそれなりに詳しい。 ࠷ۙམͪண͍͖ͯͨΞϥʔτ
過去の議論や決定を、いつでも誰もが参照できるようにすることが、未来のRubyの道標にな る。MCP サーバーや LLM などでもう少し賢く使えるようにしたい。ロボ Matz 構想。 Rubyͷͯ͢ͷόάใࠂͱػೳఏҊ͕ه͞ΕΔॴɺRuby のྺ࢙͕ࣦΘΕͳ ͍Α͏ʹɺαʔόʔΛϝϯςφϯε͠ɺΞϓϦέʔγϣϯΛߋ৽͠ଓ͚Δɻ
公式Issue Tracker (bugs.ruby-lang.org) 信念4: Rubyの歴史を守り、未来へ繋ぐ 24 Ruby のメーリングリスト ruby-core/ruby-dev/ruby-talk/ruby-list をテキ ストで保管 公式ϝʔϦϯάϦετΞʔΧΠϒ (blade.ruby-lang.org)
アンドパッドのご紹介 Ruby のサポーター 04 25
© 2025 ANDPAD All Rights Reserved. Confidential Confidential 現場の効率化から経営改善まで一元管理できる クラウド型建設プロジェクト管理サービス
社 内 社 外 営業 / 監督 / 設計 事務 / 管理職 職人 / 業者 メーカー / 流通 案件管理 資料 工程表 写真 報告 チャット 黒板 図面 受発注 •ɹ•ɹ• 26 ANDPADとは
積水ハウスグループ様への全社導入が決定 27 © 2024 ANDPAD All Rights Reserved. Confidential
© 2025 ANDPAD All Rights Reserved. Confidential 28 ※『建設業マネジメントクラウドサービス市場の動向とベンダシェア(ミックITリポート2024年 12月号)』(デロイト
トーマツ ミック経済研究所調べ) ANDPAD が支える建設DX 幸せを築く人を、幸せに。 住まいをつくる。ビルや施設をつくる。街をつくる。 生活を豊かにする建築・建設業は、幸せづくりと例えられます。 私たちは、その幸せづくりをする人たちをテクノロジーの力で 後押ししていきたい。心からそう考えてます。 我々はこれからもお客様の声をサービスに反映して、 建設業界及び建設業従事者様の業務効率化、 DX化を支援してまいります。 Mission 利用社数 23.3ສࣾ ユーザー数 68.4ສਓ
OSS 開発を仕事とすること まとめ 05 29
ಛఆྖҬͷʮकΓ ⼈ ʯͱͯ͠ɺϞνϕʔγϣϯʹΑΒͳ͍Ͱ݁Ռ͕ग़ΔΑ͏ʹ͍ͯ͠ ΔɻॴଐاۀʹͱͬͯͷՁࣗͰͳΜͱ͔͢Δɻ 専⾨性 キャリアのまとめ 30 ։ൃऀձٞ߹॓Λ௨ͯ͡ɺؒͱܨ͕Γɺ৽ͨͳؒΛ૿͢׆ಈΛߦ͏ɻηΩϡϦ ςΟରԠ҆ఆ൛ͷϦϦʔεͳͲΛରԠ͠ଓ͚Δɻ コミュニティ
アンドパッドやRuby AssociationͳͲͷʮԠԉஂʯʹ ⽀ ͑ΒΕɺ׆ಈΛܧଓ͢Δɻෳ ͷ৫ͷޓ͍ͷརΛௐ͠ͳ͕Β Ruby ͷൃలʹܨ͛Δɻ エコシステム