OSS開発手順

: author

OSS Gate

: content-source

OSS Gateワークショップ

: allotted-time

30m

: theme

clear-blue

ワークショップの目的

(('tag:center')) (('tag:large')) OSS開発((*未*))経験者n ↓n OSS開発 経験者

OSS Gateとワークショップ

* (('wait'))OSS Gate
  * [OSS開発参加者を継続的に増やす]\n
    取り組み
* (('wait'))OSS Gateワークショップ
  * […増やす]を実現するための1手段
  * ((*未*))経験者が経験者になると増える

どうして((*未*))経験?

* (数人の参加者に聞く)
* 予想:
  * (('wait'))やったことがないから\n
    なんとなく敷居が高いと感じる

ワークショップの重要事項

(('tag:center')) (('tag:x-large')) 体験するn (('note:体験して大したことはないとわかる→敷居が下がる'))

ワークショップの内容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
  設定したソフトウェア
  * https://opensource.org/licenses/alphabetical
* ライセンスを確認すれば\n
  OSSかどうかわかる
  * OSS「っぽい」は存在しない

対象OSS決め

* ビギナーが決める
  * 使っている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) 同じ島の他の人たちが作ったissue全部にコメント

ユーザーとして動かす

(('tag:center')) (('tag:x-large')) デモ

(1) 公式サイトを開く
(2) 作業メモを書く
(3) 概要を読む
(4) 作業メモを書く
(5) ...

メモの例

ドキュメント通りインストールしたけど
失敗した。

よりよいメモの例

http://... のインストール手順をなぞろう!
(↑後から再度参照できるようにURLも書く)
brewでインストールできるはずなのに失敗した
(↑期待する結果)

  % brew install XXX(←なにをしたか)
  (...コマンドの実行結果...)
  (↑実際の結果)
  XXX is not found
↑というようにパッケージがないと言われる

作業開始!

(('tag:center')) (('tag:x-large')) ●時▲分まで!

(1) 公式サイトを開く
(2) 作業メモを書く
(3) 概要を読む
(4) 作業メモを書く
(5) ...

ふりかえり1

(('tag:center')) (('tag:x-large')) …●時▲分後

* これまでの活動を見直す機会

* 目的:
  * 他の人の視点での考え方を知る
  * 作業ログが役に立つことを実感

ふりかえり1:デモ

(('tag:center')) (('tag:x-large')) デモ

* ビギナー:
  * 作業メモを元に説明
* サポーター:
  * よいところをよいと言う!
  * フィードバックポイントを確認
  * 完了→issueにコメント

ふりかえり1:進め方

* ビギナー1人ずつ順番に
* 対象ビギナーの作業ログを\n
  ディスプレイに映す
* 同じ島のみんなで↑を見ながら