Rabbit Slide Show

今日から参加できる!OSS開発

2023-09-30

Description

[フィヨルドブートキャンプさん](https://bootcamp.fjord.jp/)との共催による[OSS Gateオンラインワークショップ - フィヨルドブートキャンプ特別版](https://oss-gate.doorkeeper.jp/events/160648)での発表資料です。

Text

Page: 1

今日から
参加できる!
OSS開発
結城洋志
株式会社クリアコード
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 2

軽く自己紹介
✓ 結城洋志 aka Piro
✓ Firefox用拡張機能
✓ Tree Style Tabなど
✓ Firefoxにも何度か
バグ報告やパッチ提供
✓ OSS開発に関わる人を
増やす取り組み「OSS Gate」
でワークショップ開催
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 3

OSSの世界には断絶がある!
OSS
開発
活発
自信ない
未参加者
興味あり
参加者
興味なし
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 4

ワークショップの対象者層
OSS
開発
活発
自信ない
未参加者
興味あり
参加者
興味なし
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 5

ワークショップでやること
OSS
開発
活発
自信ない
未参加者
今日から 参加できる! OSS開発
興味あり
参加者
Powered by Rabbit 3.0.3

Page: 6

本日のアジェンダ
✓ オープンソースって何?
✓ 何が嬉しい?
✓ どう関わるの?
✓ 実際に関わってみる!
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 7


        

Page: 8

Part 1
オープンソー
スって何?
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 9

ワークショップで思うこと
みんな、オープンソースのことを
案外知らない
(ワークショップ参加者でも)
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 10

参加者に聞いてみたイメージ
(OSSってどんな物?)
✓ LinuxカーネルやRedmine、
Railsなど大規模・高機能な物
✓ MetaのReactのように
先進的な大企業が作る物
✓ 自分のような一般人には
縁遠い世界
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 11

参加者に聞いてみたイメージ
(OSS開発者ってどんな
人?)
✓ 非常に高い技術力を持つ上級者
✓ 聖人のように利他的な
意識の高い人達
✓ 自分のような一般人には
縁遠い世界
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 12

そんなことはない!
✓ すごい物もある
✓ すごい人もいる
✓ すごくないふつうの物や
ふつうの人の方がたぶん多い
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 13

そもそも
「オープンソー
ス」という言葉
の正確な意味が
知られていない
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 14

「オープンソース」の定義
✓ オープンソースライセンス
opensource.org/licenses/
が設定されたソフトウェアは
なんでもオープンソース
✓ GPL 3.0、MIT License、
BSD License、
Apache License 2.0...
✓ 「すごい」かどうかは関係ない
✓ 開発体制がオープンかどうかも無関係
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 15

「すごくはない」物の方が数
は多い
✓ 「文字列の先頭を空白で埋め
る」50行未満のライブラリー
✓ github.com/left-pad/left-pad
✓ 「常識的に考えて危険すぎ」な
仕様が何年もスルー
✓ Log4j2のLog4Shell(発覚まで8年)
✓ ツギハギだらけのスパゲッティ
コード
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 16

「ふつうの人」達
✓ 成り行きで関わってしまった人
✓ 仕事の都合で関わらざるを得な
い人
✓ 関わり続けるうちにすごくなる
場合はある
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 17

多くのOSSの実態は
✓ すごくはないけど、ありがたい
✓ 様々な人が、自分に無理なく持
ち寄れる範囲で持ち寄ってる
✓ 関われそうな気がしてきません
か?
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 18


        

Page: 19

Part 2
オープンソース
に関わると何が
嬉しい?
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 20

1. 直近のメリット
不満を自分で解
消できる
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 21

クローズドなソフトウェア
は……
✓ 会社に入らないと開発に関われ
ない
✓ 意見が開発者まで届かない
✓ 自分で改造することもできない
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 22

オープンソースだと
✓ 誰でも開発に関われる
✓ 学生でも無職でも
✓ 意見を開発者に届けられる
✓ (受け入れられるとは限らない)
✓ 自分で改造もできる
✓ 改造版を配ることもできる
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 23

大げさに言えば
✓ 今すぐ「世界を変えられる」
✓ 楽しい!
✓ 確実に「何かが良くなる」
✓ やりがい
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 24

2. 中期的なメリット
ポートフォリオ
になる
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 25

クローズドな会社での開発
は……
✓ 転職時に実績として見せにくい
✓ 「これ、自分がやりました」と言えな
い
✓ 過去の仕事の成果を使い回せな
い
✓ 「前の会社でも同じことを実装したの
に、またゼロからやるのか……」
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 26

オープンソースだと
✓ 実績として見せやすい
✓ 信頼度の高い証拠になる
✓ 成果を使い回せる
✓ ライブラリとして、モジュール単位
で、あるいは派生版として
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 27

3. 長期的なメリット
恩返し・恩送り
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 28

自分もお世話になってきた
✓ 今やOSSを使わずに生活するのは
難しい
✓ 毎日お世話になっている
✓ 自分もそこに加われる
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 29

自分の後にも続く人が出る
(かも)
✓ 実装が引き継がれたり
✓ コードが参考にされたり
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 30


        

Page: 31

Part 3
どうオープン
ソースに関われ
る?
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 32

初学者の人が感じがちなハー
ドル
✓ 「自分には何も無いんで……」
✓ 「自分はただ使うことしかでき
ないんで……」
✓ そう思っているあなたにも持ち
寄れる物がある!
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 33

それは
✓ 「ふつうのユーザー」の視点
✓ 「初心者ユーザー」の視点
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 34

どういうこと?
✓ OSS作者の感覚
✓ 自分(達)が使うために作った
✓ ついでに他の人も使えるよう公開
✓ 他の人(達)が使いやすいよう
にはなっていないことがある
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 35

よくある話
✓ 使い方の説明が無い
✓ 作者の知識とユーザーの知識に差があ
る
✓ 必要な前提条件や前準備の情報
が無い
✓ 作者の環境が特殊であることを作者自
身が忘れている
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 36

実例
このプレゼン資
料のこと
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 37

テーマ「clear-code」本来の
表示
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 38

自分の環境で表示した時の見
え方
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 39

原因(後で分かった)
✓ フォントが未インストール
✓ 自分でインストールする必要があった
✓ 作者の常用OS(Debian)と違う
環境(Ubuntu on WSL on
Windows 10)
✓ 作者環境で動く書き方が自分の環境で
は機能していなかった
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 40

ユーザーとしてよく取る行動
✓ Webを検索して解決策を探す
✓ ユーザーフォーラムで質問する
✓ 無事解決した……(一安心)
✓ ブログにでも書いとこう
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 41

そこでもう一歩!
OSS開発
プロジェクトへ
フィードバック
してみよう!
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 42

色々なフィードバックの仕方
✓ 不具合を報告する
✓ 原因を調べて明らかにする
✓ 修正のプルリクエストを送る
✓ 自分にできる所まででいい
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 43

ためらう人は多い
✓ こんなしょうもないこと、報告
したら怒られないかな……
✓ 「自分で直せ」って突き放され
ないかな……
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 44

本当に「しょうもない」の
か?
✓ 確実に1人(=自分)は困ってい
る
✓ 「自分だけの問題」とは限らな
い
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 45

さっきのフォントの問題
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 46

問題の捉え方を変える!
✓ 自分1人が今まさに困っている
自分1人のために解決してほし
い!
✓ →同じことで困っている人が
他にもいるかも
✓ →プロジェクトの課題として
みんなのために解決
できるのでは?
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 47

プロジェクトの課題と考える
✓ フォントが未インストール
✓ 「何々フォントが必要」という説明は
どこにも無かった
✓ 説明があれば迷う人が減るのでは?
✓ 作者の常用OS(Debian)と違う
環境(Ubuntu on WSL on
Windows 10)
✓ Debian専用というわけではない
✓ UbuntuでもWindowsでも使えた方が便利では?
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 48

プロジェクトで解決すると
✓ 今後同じ事での問い合わせが減
る
✓ 作者自身も環境移行時などに助
かる
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 49

実際にしたフィードバック
✓ フォントのインストールを促す
説明文をREADMEに追加
github.com/clear-code/rabbit-
theme-clear-code/pull/2
✓ Ubuntuでフォント指定が反映さ
れない不具合を修正
github.com/clear-code/rabbit-
theme-clear-code/pull/1
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 50

実際の提案内容
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 51

「自分で直せ」と怒られる?
✓ 公然と罵倒されるようなことは
あまりない
✓ 「初手罵倒は悪手」程度の社会性は大
抵の人が持ってる
✓ 「手が足りないので」「方針に
合わないので」と対応してもら
えないことはある
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 52

「解決してもらえないなら負
けじゃん……」
✓ 作者の意図は「解決に関わって
もらえると嬉しいな!」
✓ 関われる可能性が開かれている
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 53

挑戦の機会にしてみよう
✓ 「自分でやってみたいのでアド
バイスを」と聞いてみる
✓ 案外気前よく教えてもらえるかも
✓ 不完全でもプルリクエストして
みる
✓ アドバイスをもらえるかも
✓ マージされなくても「派生版」として
開発を継続していく道はある
✓ その自由があるのが「オープンソース」
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 54

作者は基本的に孤独
✓ お客さん気分で来られると辛い
✓ 中間として課題の解決に協力し
てもらえると嬉しい
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 55

協力は自分にできる所までで
いい(再掲)
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 56

自分にできない部分は他の人
の協力に任せる
✓ Ubuntu以外の環境は?
Arch Linuxではどうすれば?
✓ →Archユーザーの人が
書いてくれる事に期待
✓ 無理はしないでいい
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 57

話は分かった! けど……
✓ 具体的にどうやればいいか見当
が付かない
✓ 一人でやるのは不安
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 58

そこでワークショップ
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 59

体験して門をくぐる
OSS
開発
活発
自信ない
なんか不安だな…
未参加者
今日から 参加できる! OSS開発
興味あり
参加者
くぐってしまえば
別になんてことはなかった!
Powered by Rabbit 3.0.3

Page: 60

よりくぐりやすく
OSS
開発
サポート 活発
自信ない
未参加者
今日から 参加できる! OSS開発
興味あり
参加者
大丈夫だよー
Powered by Rabbit 3.0.3

Page: 61

参考書籍
これでできる! はじめての
OSSフィードバックガイド
✓ オンデマンド印刷の
紙版、電子書籍として
購入可能
✓ 全文のソースを公開中
github.com/oss-gate
/first-feedback-guidebook
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Page: 62

株式会社クリアコード
✓ 自由なソフトウェアで持続的な
ビジネスを
✓ 法人のOSS利用者向けに、Tier2
以上のサポートを有償で提供
✓ 案件の成果物をOSSとして公開
✓ 研修用にワークショップ開催
✓ www.clear-code.com
今日から 参加できる! OSS開発
Powered by Rabbit 3.0.3

Other slides