diff --git a/tutorial/condense/README.rd b/tutorial/condense/README.rd new file mode 100644 index 000000000..f42a3bd14 --- /dev/null +++ b/tutorial/condense/README.rd @@ -0,0 +1,12 @@ += OSS Gateワークショップ(チュートリアル) + +OSS Gateワークショップ(チュートリアル)での説明。 + +== ライセンス + +CC BY-SA 4.0 + +原著作者名は以下の通りです。 + + * 株式会社クリアコード + diff --git a/tutorial/condense/meetup.rab b/tutorial/condense/meetup.rab new file mode 100644 index 000000000..be6b460fd --- /dev/null +++ b/tutorial/condense/meetup.rab @@ -0,0 +1,488 @@ += チュートリアル + +: author + OSS Gate +: content-source + OSS Gateミートアップ +: allotted-time + 10m +: theme + clear-blue + += 席 + +(('tag:center')) +□ビギナー ■サポーター\n +(ポイント:交互) + +(('tag:center')) +(('tag:x-large')) +□■□ + += アイスブレイク + + * 目的 + * 周りの人と話しやすくなること + * やること + * 参加目的を同じグループの人に説明\n + ※内容より((*声を出すことが大事!*)) + * 一番最後に座った人から時計回りで\n + (('note:順番はスムーズな進行のために指定しているだけ。')) += スケジュール + + * ワークショップのこと + * (('note:OSSを動かそう')) + * (('note:フィードバック')) + * (('note:ふりかえり')) + * (('note:まとめ')) + += ワークショップの目的 + +(('tag:center')) +(('tag:large')) +OSS開発((*未*))経験者\n +↓\n +OSS開発 経験者 + += OSS Gateとワークショップ + + * OSS Gate + * [OSS開発参加者を継続的に増やす]\n + 取り組み + * OSS Gateワークショップ + * […増やす]を実現するための1手段 + * ((*未*))経験者が経験者になると増える + += どうして((*未*))経験? + + * (数人の参加者に聞く) + * 予想: + * (('wait'))やったことがないから\n + なんとなく敷居が高いと感じる + += ワークショップの重要事項 + +(('tag:center')) +(('tag:x-large')) +体験する\n +(('note:体験して大したことはないとわかる→敷居が下がる')) + += ワークショップの参加者 + + * ビギナー + * サポーター + * サポートメンター + * 進行役 + * レポーター + += ビギナー + + * OSSの開発に参加したい + * でも参加したことはない + * OSSの開発に参加した事はある + * でもまだ自信がない + += サポーター + + * ビギナーのサポート係 + * OSS開発経験者 + * 初参加でも大丈夫! + * 例:進行役がやることを随時説明 + * 例:サポートメンターがサポート + += サポートメンター + + * サポーターのサポート係 + * サポーター経験者 + * 例: + * 同時に複数のビギナーから質問が! + * あれ!?\n + 今は何を大事にサポートだっけ? + += 他の参加者 + + * 進行役 + * 進行と全体を気にかける係 + * レポーター + * http://oss-gate.github.io/ などにレポートを書く係 + += スケジュール + + * (('note:ワークショップのこと')) + * OSSを動かそう + * (('note:フィードバック')) + * (('note:ふりかえり')) + * (('note:まとめ')) + += 開発対象OSS決め + + * ビギナーの開発対象とする + * サポーターは決める事をサポート + * 自分が知らないOSSや言語でもよい\n + (('note:ビギナーと一緒に悩んであげよう!')) + * 使っているOSSから選ぶ + * 難易度は気にしなくてよい!\n + (('note:サポーターがサポートするから!')) + += 開発対象OSS決め + +(('tag:center')) +(('tag:x-large')) +デモ + += メモの用意 + + * 作業メモはGitHubのissueへ + * 内容 + * 何をしたか + * 何を思っているか + * 付加情報 + += issueを作る + +(('tag:center')) +https://github.com/oss-gate/workshop + += issueを作る + +(('tag:center')) +(('tag:x-large')) +デモ + += issue作成後 + + * サポーターはissueにコメント + * サポーターに書き込み通知がくる + * ビギナーがサポーターを知れる + += サポーターはissueに\nコメント + +(('tag:center')) +(('tag:x-large')) +デモ + += 開発参加の手順 + +(('tag:center')) +(('tag:x-large:まず動かす'))\n +(('note:開発用にインストール'))\n +(('note:テストを実行'))\n +(('note:...')) + += まず動かす + + (1) 開発対象OSSを確認 + (2) ドキュメントを確認 + * 「((*ユーザー*))」として動かす + * 「開発者」としてじゃない! + += ユーザーとして動かす + + * ドキュメントを読んで…\n + * 概要理解 + * インストール + * チュートリアル実行など… + += 作業時のポイント + +(('tag:center')) +(('tag:x-large')) +常にメモ + += メモするタイミング + + * 違う作業を始めたとき + * ドキュメントを読み始めた + * インストールを始めた + * 詰まったとき + * インストールエラー + * 思わずWebを検索した + += わからない… + + * ドキュメントが足りなかった? + * サンプルコードを確認 + * テストコードを確認 + * パラメーターを変えながら動かす + * ↑はメモポイント! + += メモ例 + + brewでインストールできるはずなのに失敗した + (↑期待する結果) + + (↓なにをしたか) + % brew install XXX + (...コマンドの実行結果...) + (↑実際の結果) + XXX is not found + + ↑というようにパッケージがないと言われる + += メモ例 + +(('tag:center')) +(('tag:x-large')) +デモ + += スケジュール + + * (('note:ワークショップのこと')) + * (('note:OSSを動かそう')) + * フィードバック + * (('note:ふりかえり')) + * (('note:まとめ')) + += フィードバック + + * メモが溜まっているはず + * 不備があることを書いたやつ + * うまくいかないことを書いたやつ + * upstream(開発元)に報告 + += 報告方法 + + (1) 整理する + * 自分の考えが文章になればOK + (2) ((*開発者にとって*))\n + わかりやすくなるように編集 + (3) 適切な場所に報告 + * GitHubのissueとか + += 1. 整理する + + * 自分で自分の気持ちを理解 + * ((*自分が読んで理解できる*))文章に\n + まとめられれば理解できている + * 自分が理解できていないことは\n + 開発者にも伝えられない! + * 作業メモに追記→サポーター確認 + +(('note:サポーターへ:メモ(断片)の文書化を手伝って'))\n +(('note:例:考えを整理できるような質問をする')) + += 2. 編集する + + * ((*開発者にとって*))\n + わかりやすくなるように編集 + * 報告方針をまとめているOSSもある\n + (('note:例:GitHubにあるCONTRIBUTING.md')) + * 作業メモに追記→サポーター確認 + +(('note:サポーターへ:リーダブル化を手伝って'))\n +(('note:例:自分が開発者ならこう読めると開発者視点を伝える'))\n + += OSS開発での相談 + + * 前提 + * インターネット越し + * ポイント + * ((*相手が*))わかるように書く + * 例:省略しない(具体的に書く) + += 省略例 + + # blockquote + + インストールしました。 + + 動きませんでした。 + + どうしたらいいでしょうか? + += 省略しない例 + + # blockquote + + ↓でインストール + + % sudo apt-get install ... + (...実行結果...) + + ↑のように失敗しました。 + + 環境:Ubuntu 15.04 amd64 + += なぜ省略しないか + + * 相手は私を知らない(('note:(共通知識:少)')) + * →省略すると((*想像*))しないといけない + * だいたい((*想像は外れる*)) + * →認識違いでおかしなことに… + * 相手が理解に必要な時間が減少 + * やりとりがスムーズになる + += 省略しないとは + + * 詳細を書く + * 実行したコマンド・実行結果 + * やったことを書く + * ((*やっていないこと*))を書く + * 期待した結果を書く + += 3. 報告する + + * 適切な場所に報告 + * OSSによって報告場所は違う + * サポーターへ + * 報告に二の足を踏んでいる人の\n((*背中を押して*))あげて\n + (('note:例:自分が開発者ならこの報告をもらったらうれしい、と開発者視点を伝える')) + += 報告方法 + +(('tag:center')) +(('tag:x-large')) +デモ + += OSS開発参加のやり方 + +(('tag:center')) +(('tag:x-large')) +おさらい + += 開発参加の手順 + +(('tag:center')) +(('tag:x-large:まず動かす'))\n +(('note:開発用にインストール'))\n +(('note:テストを実行'))\n +(('note:...')) + += 作業時のポイント + +(('tag:center')) +(('tag:x-large')) +常にメモ + += フィードバックのコツ + + * インターネット越し前提 + * 時間的・空間的に離れている + * 省略しない + * 相手が理解しやすくするため + * 例:具体例・期待する結果・… + += 大事なこと + +(('tag:center')) +(('tag:x-large')) +楽しむ! += スケジュール + + * (('note:ワークショップのこと')) + * (('note:OSSを動かそう')) + * (('note:フィードバック')) + * ふりかえり + * (('note:まとめ')) + += ふりかえり:目的 + + * サポーター視点での考え方を知る + * 作業ログが役に立つことを実感 + += ふりかえり:やり方 + + * 作業メモissueに書いてある! + * サポーターは\nコメントしてclose + * 後で誰とやったかわかる! + += ふりかえり + +(('tag:center')) +(('tag:x-large')) +デモ += スケジュール + + * (('note:ワークショップのこと')) + * (('note:OSSを動かそう')) + * (('note:フィードバック')) + * (('note:ふりかえり')) + * まとめ + += 目的の確認 + +(('tag:center')) +(('tag:large')) +OSS開発((*未*))経験者\n +↓\n +OSS開発 経験者 + += 現状確認 + + * OSSを動かす作業は進んだ? + * 気になるメモは見つかった? + * (('wait'))((*楽しんだ?*)) + += やったこと + + (1) OSS開発参加のやり方を知る + (2) まず動かす + (3) フィードバック + += 気づいた? + + * コードを書くだけが\n + OSS開発参加方法じゃない + * 使いはじめのユーザーだから\n + できることもある + * やり方を知ればやれる + * 気持ちの問題→不安はなくなった? + * やってみよう! + += 詰まった! + + * (('del:文句を言う'))((*直そう*))! + * 直す!(あるいは報告する) + * OSS開発参加の((*チャンス*))! + * 次の人は((*うまくいく*)) + * 自分が通ると整った道になるのはどう? + * 直すのは楽しくなかった? + += 明日からのヒント + + * 自分が使っているOSSでも\n + やってみよう + (1) まず動かす + (2) 気になったことをまとめる + (3) フィードバック + * (('wait'))↑失敗が怖い? + += OSSと失敗 + + * そもそも失敗と認識されない + * 少なくとも1発アウト!はほぼない + * 新規開発者は基本的にWelcome + * 失敗しても根に持たれない + * 失敗→改善:改善後を評価 + +(('wait')) +(('tag:center')) +((*明日からオススメ方法をTry!*)) + += メッセージ + +(('tag:center')) +(('tag:x-large')) +不安がらずに\n +OSSの開発を\n +楽しんで! + += おねがい + + * OSS Gateに協力して欲しい + * ((*継続的に*))参加する + * ビギナー、サポーター、開発者で + * 知人にOSS Gateを紹介する + * 今回のワークショップの経験を\n + 次に活かしたい + * この後アンケート+フィードバック + +# = おまけ:OSSは直せる! +# +# * OSSのよいところ(の1つ) +# * ((*自分で直せる!*)) +# * すべてのOSSは↑ができる\n +# (('note:(オープンソースの定義にそんな条件が含まれている)')) +# * 文句を言うんじゃなく、\n +# Webで調べて回避策を駆使じゃなく\n +# ((*自分で直せる!*))