OSS Gatenワークショップ¶ ↑
: theme
clear-blue
アイスブレイク¶ ↑
* 目的 * 周りの人と話しやすくなること\n (('note:せっかくだから相談しよう!')) * やること * 参加目的をみんなに説明\n ※内容より((*声を出すことが大事!*)) * まずはサポーターから発声\n (('note:順番はスムーズな進行のために指定しているだけ。'))
チャット:Gitter¶ ↑
* gitter.im/oss-gate/(({${地域}}))\n (('note:例:((<URL:https://gitter.im/oss-gate/tokyo>))')) * オンラインで相談できる場所 * 今日は連絡用に使う * 登録してなにか書き込もう! * 明日からも使おう!
OSS Gate?¶ ↑
# image # src = images/oss-gate-icon.svg # relative_width = 30 # align = right # vertical_align = top # relative_margin_right = 23
(('tag:center')) (('tag:x-large')) OSSの門?
門¶ ↑
(('tag:center')) (('tag:x-large')) 境界にあるもの
扱う境界¶ ↑
# image # src = images/oss-gate-border.svg # relative_width = 100
ターゲット¶ ↑
# image # src = images/oss-gate-target.svg # relative_width = 100
やりたいこと¶ ↑
# image # src = images/oss-gate-goal.svg # relative_width = 100
未参加者→参加者¶ ↑
# image # src = images/oss-gate-workshop.svg # relative_width = 100
OSS Gateとワークショップ¶ ↑
* (('wait'))OSS Gate * [OSS開発参加者を継続的に増やす]\n 取り組み * (('wait'))OSS Gateワークショップ * […増やす]を実現するための1手段 * ((*未*))経験者が経験者になると増える
どうして((*未*))経験?¶ ↑
* (数人の参加者に聞く) * 予想: * (('wait'))やったことがないから\n なんとなく敷居が高いと感じる
ワークショップの重要事項¶ ↑
(('tag:center')) (('tag:x-large')) 体験するn (('note:体験して大したことはないとわかる→敷居が下がる'))
体験して門をくぐる¶ ↑
# image # src = images/oss-gate-pass-through.svg # relative_width = 100
よりくぐりやすく¶ ↑
# image # src = images/oss-gate-support.svg # relative_width = 100
ワークショップの内容1¶ ↑
(('tag:center')) (('tag:x-large')) 参加者のこと
立場一覧¶ ↑
* ビギナー * サポーター * サポートメンター * 進行役
ビギナー¶ ↑
* OSSの開発に参加したい * でも参加したことはない * OSSの開発に参加した事はある * でもまだ自信がない
サポーター¶ ↑
* ビギナーのサポート係 * OSS開発経験者 * 初参加でも大丈夫! * 例:進行役がやることを随時説明 * 例:サポートメンターがサポート
サポートメンター¶ ↑
* サポーターのサポート係 * サポーター経験者 * 会場各地でスポットサポート * サポート例: * うまくサポートできていない感…\n →相談しよう!\n (('note:サポーター1人で完璧にサポートしなくてよい!'))
進行役¶ ↑
* 進行と全体を気にかける係
ワークショップの内容2¶ ↑
(('tag:center')) (('tag:x-large')) 流れ
今日の流れのポイント¶ ↑
* 未経験者の最初の1歩に最適化 * ※OSSの開発方法はいろいろある * ※やりたい事がある人は応相談 * ※基本的にこのやり方でやろう!
流れ¶ ↑
(1) ((*ユーザーとして*))OSSを動かす (2) ↑で気づいた事を開発元に\n ((*フィードバック*))
期待¶ ↑
* 普段は気づいていないだけで\n 実はフィードバックポイントが\n あったことを((*体験*))して! * ※普段、ググってブログやQiitaで回避策を探していませんか?\n (('note:そんなときどうしたらよいかはワークショップ内で!')) * フィードバックを((*体験*))して!
ワークショップの内容3¶ ↑
(('tag:center')) (('tag:x-large')) ユーザーとしてn OSSを動かす
動かす流れ¶ ↑
(('tag:center')) (('note:(詳細は後述)'))
(1) 対象OSSを決める (2) 作業メモを書く場所を用意 (3) 作業メモを書きながら\n ((*公式サイト・README通り*))\n 動かす
OSSとは¶ ↑
* オープンソースライセンスを\n 設定したソフトウェア * ((<URL:https://opensource.org/licenses/alphabetical>)) * ライセンスを確認すれば\n OSSかどうかわかる * OSS「っぽい」は存在しない
対象OSS決め¶ ↑
* ビギナーが決める * 使っているOSSから選ぶ\n (('note:ブラウザの拡張機能・便利なコマンドラインツール等'))\n (('note:無意識で使っている物の中にもOSSはある')) * 難易度は気にしなくてよい!\n (('note:サポーターがサポートするから!')) * サポーターは↑をサポート * 自分の知らないOSSや言語でもよい\n (('note:ビギナーと一緒に悩んであげよう!'))
対象OSS決めデモ¶ ↑
(('tag:center')) (('tag:x-large')) デモ
* 最近使っているOSSは? * ライセンス確認→OK! * その中で一番ときめくのは? * ではそれにしましょう!
動かすときのポイント¶ ↑
* 作業メモを書く * 🔜メモを書く場所はこのあと作る * なにかする毎に書く * 例:ドキュメントを読み始めた * 例:次のドキュメントを読み始めた
作業メモを書く場所を作る¶ ↑
(('tag:center')) (('tag:x-large')) デモ
(1) GitHub: oss-gate/workshop (2) ↑にissueを作る (3) 周囲のビギナーの人たちが\n 作ったissueにコメント
作業メモの例¶ ↑
ドキュメント通りインストールしたけど 失敗した。
よりよい作業メモの例¶ ↑
http://... のインストール手順をなぞろう! (↑後から再度参照できるようにURLも書く) brewでインストールできるはずなのに失敗した (↑期待する結果) % brew install XXX(←なにをしたか) (...コマンドの実行結果...) (↑実際の結果) XXX is not found ↑というようにパッケージがないと言われる
ユーザーとして動かす¶ ↑
(('tag:center')) (('tag:x-large')) デモ
(1) 公式サイトを開く (2) 作業メモを書く (3) 概要を読む (4) 作業メモを書く (5) ...
作業開始!¶ ↑
(('tag:center')) (('tag:x-large')) ●時▲分まで!
(1) 公式サイトを開く (2) 作業メモを書く (3) 概要を読む (4) 作業メモを書く (5) ...
ふりかえり1¶ ↑
(('tag:center')) (('tag:x-large')) …●時▲分!
* これまでの活動を見直す機会 * 目的: * 他の人の視点での考え方を知る * 作業ログが役に立つことを実感
ふりかえり1:デモ¶ ↑
(('tag:center')) (('tag:x-large')) デモ
* ビギナー: * 作業メモを読む * サポーター: * 気になることをビギナーに質問 * フィードバックポイントを確認 * 完了→issueにコメント
ふりかえり1:進め方¶ ↑
* サポーターを他の人に交代 * 対象ビギナーの作業ログを\n ディスプレイに映す * ビギナーが作業メモを読む * 時間が余ったら: * 近くの他のビギナーにも説明
休憩¶ ↑
(('tag:center')) (('tag:x-large')) ●時▲分まで!
現状確認¶ ↑
(1) (('del:ユーザーとして動かす')) (2) (('del:ふりかえり1')) (3) (('del:フィードバックポイントを'))\n (('del:発見!')) (4) (('wait'))↑を((*フィードバック*))
フィードバック¶ ↑
* upstream(開発元)に\n うまくいかなかったことを報告 * ここで詰まった、を伝える * こうだったらよかった、を伝える
報告方法¶ ↑
(1) 整理する * 自分の考えが文章になればOK (2) (('wait'))((*開発者にとって*))\n わかりやすくなるように編集 (3) (('wait'))適切な場所に報告 * GitHubのissueとか
1. 整理する¶ ↑
* 自分で自分の気持ちを理解 * 自分が読んで理解できる文章に\n まとめられれば理解できている * 自分が理解できていないことは\n 開発者にも伝えられない! * 作業メモに追記→サポーター確認
(('note:サポーターへ:メモ(断片)の文書化を手伝って'))n (('note:例:考えを整理できるような質問をする'))
整理方法¶ ↑
(('tag:center')) (('tag:x-large')) デモ
* 作業メモを開く * フィードバック対象を決める * 自分の気持ちを作業メモに追記 * サポーターに確認依頼
2. 編集する¶ ↑
* ((*開発者にとって*))\n わかりやすくなるように編集 * 報告方針をまとめているOSSもある\n (('note:例:GitHubにあるCONTRIBUTING.md')) * 作業メモに追記→サポーターに確認
(('note:サポーターへ:リーダブル化を手伝って'))n (('note:例:自分が開発者ならこう読めると開発者視点を伝える'))n
編集の仕方¶ ↑
* ポイント * ((*相手が*))わかるように書く * 例:省略しない(具体的に書く)
省略例¶ ↑
# blockquote インストールしました。 動きませんでした。 どうしたらいいでしょうか?
省略しない例¶ ↑
# blockquote ↓でインストール % sudo apt-get install ... (...実行結果...) ↑のように失敗しました。 環境:Ubuntu 16.10 amd64
なぜ省略しないか¶ ↑
* 相手は私を知らないから * 省略すると((*想像*))しないといけない * だいたい((*想像は外れる*)) * 話が噛み合わない!
省略しないとは¶ ↑
* 詳細を書く * 実行したコマンド・実行結果 * やったことを書く * ((*やっていないこと*))を書く * 期待した結果を書く
編集方法¶ ↑
(('tag:center')) (('tag:x-large')) デモ
* 作業メモを開く * 自分の気持ちを開発者に伝わるようにまとめて作業メモに追記 * サポーターに確認依頼
3. 報告する¶ ↑
* 適切な場所に報告 * OSSによって報告場所は違う * サポーターへ * 報告に二の足を踏んでいる人の背中を押してあげて\n (('note:例:自分が開発者ならこの報告をもらったらうれしい、と開発者視点を伝える'))
報告方法¶ ↑
(('tag:center')) (('tag:x-large')) デモ
* 報告方法を探す * サポーターに後押ししてもらう * まとめた報告内容を報告
報告¶ ↑
(('tag:center')) (('tag:x-large')) ●時▲分まで!
(1) 整理する (2) 開発者にとってわかりやすくなるように編集する (3) 適切な場所に報告する (4) ...
ふりかえり2:デモ¶ ↑
(('tag:center')) (('tag:x-large')) デモ
* ビギナー: * 作業メモを読む * サポーター: * ((*よかったことをよい!と言う*)) * 気になることをビギナーに質問 * 完了→issueにコメント
ふりかえり2:進め方¶ ↑
* サポーターを他の人に交代 * 対象ビギナーの作業ログを\n ディスプレイに映す * ビギナーが作業メモを読む * 時間が余ったら: * 近くの他のビギナーにも説明
まとめ¶ ↑
* 今日やったことを再確認 * 明日からのことを確認
目的の確認¶ ↑
(('tag:center')) (('tag:large')) OSS開発((*未*))経験者n ↓n OSS開発 経験者
やったこと¶ ↑
(('tag:center')) (('tag:large')) OSS開発参加を体験する
(1) ユーザーとして動かす (2) フィードバック
体験時のポイント¶ ↑
(('tag:center')) (('tag:x-large')) 常にメモ
常にメモの理由¶ ↑
* 詰まったところに気づくため * いつもはスルーしていない? * 実はフィードバックポイント!
詰まったところ¶ ↑
* OSS開発参加の((*チャンス*))! * ポジティブに捉えてみよう * 実際に参加して楽しかった? * 直ると次の人は((*うまくいく*)) * 気分がいいね!
気づいた?¶ ↑
* コードを書くだけが\n OSS開発参加方法じゃない * 使いはじめのユーザーだから\n できることもある * やり方を知ればやれる * 明日からもやってみよう!
明日からのやり方¶ ↑
* 自分が使っているOSSでも\n やってみよう (1) ユーザーとして動かす (2) 気になったことをまとめる (3) フィードバック * (('wait'))↑失敗が怖い?
OSSと失敗¶ ↑
* そもそも失敗と認識されない * 少なくとも1発アウト!はほぼない * 新規開発者は基本的にWelcome * 失敗しても根に持たれない * 失敗→改善:改善後を評価
(('wait')) (('tag:center')) ↓n 明日からオススメ方法をTry!
メッセージ¶ ↑
(('tag:center')) (('tag:x-large')) 不安がらずにn OSSの開発をn 楽しんで!
来てよかった!と思ったら¶ ↑
* OSS Gateに継続参加! * チャット・ワークショップ・… * 社内・コミュニティ向け\n ワークショップを検討 * OSS Gateを継続宣伝! * 周りの人を誘う * ブログに書く
OSS Gateはメンバー募集中¶ ↑
* 次のワークショップ開催日は… * 開催する毎に門をくぐる人がいる! * 多くの人と協力して継続したい! * 会場提供・サポーター・進行役・… * チャットで色々話してるよ! * (('tag:x-small'))https://gitter.im/oss-gate/(({${地域}})) * (('tag:x-small'))例:((<URL:https://gitter.im/oss-gate/tokyo>))
おねがい¶ ↑
* 今日のフィードバックを! * 次に活かしたい * この後すぐ * アンケート記入 * アンケート結果をみんなで確認
アンケートの回答方法¶ ↑
(1) (('tag:x-small'))github.com/oss-gate/workshop をfork (2) (('tag:x-small'))tutorial/retrospectives/YYYY-MM-DD-*** * (('tag:x-small'))beginner.yaml → beginner-***.yaml * (('tag:x-small'))supporter.yaml → supporter-***.yaml (3) (('tag:x-small'))git add → git commit → git push (4) (('tag:x-small'))github.com/自分のアカウント/workshop を開いて「Pull request」