Jump to: navigation, search

Difference between revisions of "OpenStack Upstream Training/Info/ja"

(Created page with "概要")
m
 
(44 intermediate revisions by the same user not shown)
Line 2: Line 2:
 
概要  
 
概要  
  
With over 2000 developers from 80 different companies worldwide, OpenStack is one of the largest collaborative software-development projects. Because of its size, it is characterized by a huge diversity in social norms and technical conventions.  These can significantly slow down the speed at which newcomers are successful at integrating their own roadmap into that of the OpenStack project.
+
OpenStack は、最も巨大なコラボレーション型ソフトウェア開発プロジェクトの 1 つです。世界中の 80 か国以上から 2000 人を超える開発者が参加しています。その規模によりもたらされる、社会規範や技術的な習慣における多様性が特徴的です。新規参入者が自身のロードマップと OpenStack プロジェクトとの統合を成功するまでに、かなり時間がかかってしまう可能性があります。
  
We've designed a training program to help professional developers negotiate this hurdle.  It shows them how to ensure their bug fix or feature is accepted in the OpenStack project in a minimum amount of time.  The educational program requires students to work on real-life bug fixes or new features during two days of real-life classes and online mentoring, until the work is accepted by OpenStack. The live two-day class teaches them to navigate the intricacies of the project's technical tools and social interactions. In a followup session, the students benefit from individual online sessions to help them resolve any remaining problems they might have.
+
プロフェッショナル開発者がこのハードルを乗り越える支援をするために、トレーニングプログラムを用意しました。バグ修正や機能追加ができる限り早く OpenStack プロジェクトにきちんと取り込まれるための方法を説明します。この教育プログラムは、受講者が、2日間の集合教育とオンラインのメンタリングを通して、OpenStack に取り込まれるまで、実際にバグ修正や新機能追加に取り組む必要があります。プロジェクトの技術的なツールやコミュニティとの関わりの複雑さについて、2日間の集合教育で説明します。フォローアップセッションでは、受講者が何か疑問に感じた点を解決するために、個々のオンラインセッションを受けられます。
  
== Objectives ==  
+
== 目的 ==  
  
* Faster integration of the companies product roadmap into the OpenStack release cycle
+
* 商用製品のロードマップと OpenStack のリリースサイクルを迅速に統合する
* Successfully contribute one real world patch to an OpenStack component
+
* 実際に OpenStack コンポーネントにパッチを一つ貢献する
* Master the technical tools
+
* 技術ツールをマスターする
* Understand the OpenStack contribution workflow and social norms
+
* OpenStack 貢献のワークフローと社会規範を理解する
  
== Target Audience ==  
+
== 対象読者 ==  
  
* Developers
+
* 開発者
* System administrators
+
* システム管理者
  
== Prerequisites ==  
+
== 前提 ==  
  
* Being able to read and write English at a technical level.
+
* 技術レベルの英語の読み書きできること
* If contributing code, being technically proficient enough to carry out simple bug fixes in the project.
+
* コード貢献の場合、プロジェクトのバグ修正を実行できる技術的に習熟していること
* If contributing documentation, being able to produce documents in the project's chosen infrastructure.
+
* ドキュメント貢献の場合、プロジェクトが使用している環境でドキュメントを作成できること
* Having at least 8 hours a week to dedicate to the project, be it through programming or through interacting with the community.
+
* 少なくとも週 8 時間は、プログラミングやコミュニティとのコミュニケーションのために、プロジェクトに専念できること
  
== Duration ==  
+
== 期間 ==  
  
* Face-to-face section: 2 days
+
* 集合実習: 2 日間
* Online section: 10 one-hour individual mentoring sessions over a period of 4 to 10 weeks
+
* オンライン実習: 4 ~ 10 週間にわたる 10 回の 1 時間メンタリング
  
== Infrastructure ==  
+
== トレーニング環境 ==  
  
[[OpenStack_Upstream_Training/Setup_DevStack|ready to use devstack VM]] for participants with network connectivity but troubles with their laptop
+
日本のトレーニングでは、主催者が用意したクラウド環境に [[OpenStack_Upstream_Training/Setup_DevStack|devstack]] を用いて、OpenStack 環境を構築します。
 +
受講者は、クラウド環境を利用できるノート PC を用意する必要があります。
 +
* Wi-Fiネットワークに接続できること
 +
* SSH クライアント
  
= Course Outline =  
+
= コース概要 =  
  
== First day ==  
+
== 1 日目 ==  
  
=== Introduction ===  
+
=== はじめに ===  
  
* A week before Day 1: choice of a contribution, via email, with each participant
+
* 1 日目の 1 週間前: 各参加者による、貢献対象の選択、メール利用
* Day 1: How OpenStack is made
+
* 1 日目: OpenStack はどのように作られるのか
* Day 1: Learn and practice git, gerrit, IRC
+
* 1 日目: git, gerrit, IRC の学習と実践
  
* Day 2: The theory of contribution
+
* 2 日目: 貢献の理論
* Day 2: Lego contribution simulation
+
* 2 日目: Lego 貢献シミュレーション
* Day 2: Individual presentation of the contribution plan
+
* 2 日目: 貢献の計画の個人プレゼンテーション
* Day 2: Online mentoring
+
* 2 日目: オンラインメンタリング
  
=== How OpenStack is made (3h including 1h30 exercises) ===  
+
=== OpenStack はどのように作られるか (3時間、1時間30分の実習を含む) ===  
  
* [https://wiki.openstack.org/wiki/Release_Cycle Release cycle] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/01-release-cycle.rst slides] )
+
* [https://wiki.openstack.org/wiki/Release_Cycle リリースサイクル] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/01-release-cycle.rst スライド] )
** [https://wiki.openstack.org/wiki/Release_Cycle#Planning_.28Design.2C_Discuss_and_Target.29 Planning (Design, Discuss and Target)]
+
** [https://wiki.openstack.org/wiki/Release_Cycle#Planning_.28Design.2C_Discuss_and_Target.29 計画 (設計、議論、目標)]
** [https://wiki.openstack.org/wiki/Release_Cycle#Implementation_.28Milestone_iterations.29 Implementation (Milestone iterations)]
+
** [https://wiki.openstack.org/wiki/Release_Cycle#Implementation_.28Milestone_iterations.29 実装 (マイルストーンの反復)]
** [https://wiki.openstack.org/wiki/Release_Cycle#Pre-release_.28Release_Candidates_dance.29 Pre-release (Release Candidates dance)]
+
** [https://wiki.openstack.org/wiki/Release_Cycle#Pre-release_.28Release_Candidates_dance.29 プレリリース (リリース候補版の準備)]
*** [https://wiki.openstack.org/wiki/Release_Cycle#Release_candidate_1 Release candidate 1]
+
*** [https://wiki.openstack.org/wiki/Release_Cycle#Release_candidate_1 リリース候補版 1]
*** [https://wiki.openstack.org/wiki/Release_Cycle#Other_release_candidates Other release candidates]
+
*** [https://wiki.openstack.org/wiki/Release_Cycle#Other_release_candidates 他のリリース候補版]
*** [https://wiki.openstack.org/wiki/Release_Cycle#Release_day Release day]
+
*** [https://wiki.openstack.org/wiki/Release_Cycle#Release_day リリース日]
** Exercise: based on the [https://wiki.openstack.org/wiki/Juno_Release_Schedule Juno release schedule] find the URL of a document or a patch that belongs to each of the above steps.
+
** 演習: based on the [https://wiki.openstack.org/wiki/Juno_Release_Schedule Juno リリース・スケジュール] find the URL of a document or a patch that belongs to each of the above steps.
* Relevant actors ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/02-relevant-actors.rst slides] )
+
* 関係者 ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/02-relevant-actors.rst スライド] )
** [http://www.stackalytics.com/?release=juno&metric=commits&project_type=integrated&module=&company=&user_id= commiters] companies
+
** [http://www.stackalytics.com/?release=juno&metric=commits&project_type=integrated&module=&company=&user_id= コミッター] 企業
** [http://www.stackalytics.com/?release=juno&metric=commits&project_type=integrated&module=&company=&user_id= commiters] individuals (bottom of the page)
+
** [http://www.stackalytics.com/?release=juno&metric=commits&project_type=integrated&module=&company=&user_id= コミッター] 個人 (ページ下部)
** Your management
+
** あなたのマネージャー
* [https://wiki.openstack.org/wiki/Governance/Foundation/TechnicalCommittee Technical Committee] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/03-technical-committee.rst slides] )
+
* [https://wiki.openstack.org/wiki/Governance/Foundation/TechnicalCommittee Technical Committee] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/03-technical-committee.rst スライド] )
** Decide what is an [https://wiki.openstack.org/wiki/Programs OpenStack Program]
+
** Decide what is an [https://wiki.openstack.org/wiki/Programs OpenStack プログラム]
** [https://wiki.openstack.org/wiki/Governance/TechnicalCommittee meetings]  
+
** [https://wiki.openstack.org/wiki/Governance/TechnicalCommittee ミーティング]  
** Exercise: read [http://eavesdrop.openstack.org/meetings/tc/2014/tc.2014-04-01-20.03.log.html archived] and briefly comment on [https://etherpad.openstack.org/p/keystone-incubation-integration-requirements keystone document]
+
** Exercise: read [http://eavesdrop.openstack.org/meetings/tc/2014/tc.2014-04-01-20.03.log.html archived] and briefly comment on [https://etherpad.openstack.org/p/keystone-incubation-integration-requirements keystone ドキュメント]
** [https://wiki.openstack.org/wiki/Governance/Foundation/TechnicalCommittee#Program_Leads PTLs]
+
** [https://wiki.openstack.org/wiki/Governance/Foundation/TechnicalCommittee#Program_Leads PTL]
 
** [https://wiki.openstack.org/wiki/Governance/Foundation/TechnicalCommittee#Voters_for_PTL_seats_.28.22APC.22.29 APC]
 
** [https://wiki.openstack.org/wiki/Governance/Foundation/TechnicalCommittee#Voters_for_PTL_seats_.28.22APC.22.29 APC]
 
** [https://wiki.openstack.org/wiki/Governance/Foundation/TechnicalCommittee#Voters_for_TC_seats_.28.22ATC.22.29 ATC]
 
** [https://wiki.openstack.org/wiki/Governance/Foundation/TechnicalCommittee#Voters_for_TC_seats_.28.22ATC.22.29 ATC]
 
** Exercise: each APC / ATC in the class add a URL to the etherpad proving it
 
** Exercise: each APC / ATC in the class add a URL to the etherpad proving it
* [https://wiki.openstack.org/wiki/Governance/NewProjects Program ecosystem]  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/04-program-ecosystem.rst slides] )
+
* [https://wiki.openstack.org/wiki/Governance/NewProjects Program ecosystem]  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/04-program-ecosystem.rst スライド] )
** [https://wiki.openstack.org/wiki/Governance/NewProjects#Incubation Incubated]
+
** [https://wiki.openstack.org/wiki/Governance/NewProjects#Incubation 育成]
** [https://wiki.openstack.org/wiki/Governance/NewProjects#Integrated Integrated]
+
** [https://wiki.openstack.org/wiki/Governance/NewProjects#Integrated 統合]
** [https://wiki.openstack.org/wiki/Governance/NewProjects#Core_.3F Core]
+
** [https://wiki.openstack.org/wiki/Governance/NewProjects#Core_.3F コア]
 
** [http://ci.openstack.org/stackforge.html Stackforge]
 
** [http://ci.openstack.org/stackforge.html Stackforge]
** Exercise: What kind of Program do you contribute to ?
+
** 演習: どの種類のプログラムに貢献したいですか ?
* [https://wiki.openstack.org/wiki/Summit Design summits]  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/05-design-summit.rst slides] )
+
* [https://wiki.openstack.org/wiki/Summit Design summits]  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/05-design-summit.rst スライド] )
** [https://wiki.openstack.org/wiki/Summit#Propose_sessions propose sessions]
+
** [https://wiki.openstack.org/wiki/Summit#Propose_sessions 提案セッション]
** [https://wiki.openstack.org/wiki/Summit#At_the_Design_Summit attend or lead a session]
+
** [https://wiki.openstack.org/wiki/Summit#At_the_Design_Summit セッションへの参加とリード]
** [https://wiki.openstack.org/wiki/Summit/Kilo/Etherpads Kilo Summit Etherpads]
+
** [https://wiki.openstack.org/wiki/Summit/Kilo/Etherpads Kilo Summit Etherpad]
** Exercise: Add a session proposal regarding your contribution in an etherpad, review two proposals
+
** 演習: Add a session proposal regarding your contribution in an etherpad, review two proposals
* [https://wiki.openstack.org/wiki/Meetings IRC meetings]  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/06-irc-meetings.rst slides] )
+
* [https://wiki.openstack.org/wiki/Meetings IRC ミーティング]  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/06-irc-meetings.rst スライド] )
 
** [http://ci.openstack.org/meetbot.html modified] [http://wiki.debian.org/MeetBot meetbot]
 
** [http://ci.openstack.org/meetbot.html modified] [http://wiki.debian.org/MeetBot meetbot]
 
** #info - Add an info item to the minutes. People should liberally use this for important things they say, so that they can be logged in the minutes.  
 
** #info - Add an info item to the minutes. People should liberally use this for important things they say, so that they can be logged in the minutes.  
 
** #action - Document an action item in the minutes. Include any nicknames in the line, and the item will be assigned to them. (nicknames are case-sensitive)  
 
** #action - Document an action item in the minutes. Include any nicknames in the line, and the item will be assigned to them. (nicknames are case-sensitive)  
 
** #help - Add a "Call for Help" to the minutes. Use this command when you need to recruit someone to do a task. (Counter-intuitively, this doesn't provide help on the bot)
 
** #help - Add a "Call for Help" to the minutes. Use this command when you need to recruit someone to do a task. (Counter-intuitively, this doesn't provide help on the bot)
** Exercise: lunch menu online meeting
+
** 演習: ランチメニューのオンラインミーティング
  
=== Workflow of an OpenStack contribution and tools (3h including 2h exercises) ===  
+
=== OpenStack 貢献のワークフローおよびツール (3時間、2時間の演習を含む) ===  
  
* [http://devstack.org/ devstack] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/11-devstack.rst slides] )
+
* [http://devstack.org/ devstack] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/11-devstack.rst スライド] )
** Ubuntu or Fedora
+
** Ubuntu または Fedora
 
** git clone https://github.com/openstack-dev/devstack.git
 
** git clone https://github.com/openstack-dev/devstack.git
** [http://devstack.org/configuration.html minimal configuration]
+
** [http://devstack.org/configuration.html 最小限の設定]
 
** cd devstack; ./stack.sh
 
** cd devstack; ./stack.sh
** Exercise: get the code for the targeted contribution
+
** 演習: 貢献予定のコードの取得
* [[How_To_Contribute|HOW to contribute URL]] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/12-howtocontribute.rst slides] )
+
* [[How_To_Contribute|HOW to contribute URL]] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/12-howtocontribute.rst スライド] )
 
** [[Puppet-openstack#Contributing_to_the_modules|puppet stackforge]]
 
** [[Puppet-openstack#Contributing_to_the_modules|puppet stackforge]]
** [[Documentation/HowTo|documentation]]
+
** [[Documentation/HowTo|ドキュメント]]
 
** [http://docs.openstack.org/training-guides/content/under-construction.html training guides]
 
** [http://docs.openstack.org/training-guides/content/under-construction.html training guides]
 
** Excercise: Apply for individual membership and sign the CLA
 
** Excercise: Apply for individual membership and sign the CLA
* [https://help.launchpad.net/ launchpad] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/13-launchpad.rst slides] )
+
* [https://help.launchpad.net/ launchpad] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/13-launchpad.rst スライド] )
** [[Blueprints|blueprints]]
+
** [[Blueprints|ブループリント]]
** [[Bugs|bugs]]
+
** [[Bugs|バグ]]
 
*** [[Bugs#Bugs_reference|Status, Importance, Assigned To, Milestone, Tags]]
 
*** [[Bugs#Bugs_reference|Status, Importance, Assigned To, Milestone, Tags]]
*** [[Bugs#Reporting|reporting a bug]]
+
*** [[Bugs#Reporting|バグ報告]]
*** [[Bugs#Confirming_.26_prioritizing|confirming and prioritizing]]
+
*** [[Bugs#Confirming_.26_prioritizing|確認および優先度付け]]
*** [[Bugs#Debugging_.28optional.29|debugging]]
+
*** [[Bugs#Debugging_.28optional.29|デバッグ]]
*** [[Bugs#Bugfixing|bugfixing]]
+
*** [[Bugs#Bugfixing|バグ修正]]
 
** Exercise: review other launchpad bugs and improve yours
 
** Exercise: review other launchpad bugs and improve yours
* [[GerritWorkflow|gerrit workflow]] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/14-gerrit.rst slides] )
+
* [[GerritWorkflow|gerrit workflow]] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/14-gerrit.rst スライド] )
** [[GerritWorkflow#Account_Setup|account setup]]
+
** [[GerritWorkflow#Account_Setup|アカウントのセットアップ]]
** [[GerritWorkflow#Git_Review_Installation|git review installation]]
+
** [[GerritWorkflow#Git_Review_Installation|git review のインストール]]
** [[GerritWorkflow#SSH_Setup|ssh setup]]
+
** [[GerritWorkflow#SSH_Setup|ssh のセットアップ]]
** [[GerritWorkflow#Project_Setup|project setup]]
+
** [[GerritWorkflow#Project_Setup|プロジェクトのセットアップ]]
** [[GerritWorkflow#Normal_Workflow|gerrit workflow]]
+
** [[GerritWorkflow#Normal_Workflow|gerrit ワークフロー]]
** [[Testing#Unit_Tests|running unit tests]]
+
** [[Testing#Unit_Tests|ユニットテストの実行]]
 
** [http://www.mediawiki.org/wiki/Gerrit/Advanced_usage review dependencies]
 
** [http://www.mediawiki.org/wiki/Gerrit/Advanced_usage review dependencies]
 
** Exercise: push a wip or draft and invite reviewers
 
** Exercise: push a wip or draft and invite reviewers
Line 130: Line 133:
 
** Exercise: review each other messages on the draft
 
** Exercise: review each other messages on the draft
 
* [[GerritJenkinsGit|jenkins]]  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/18-jenkins.rst slides] )
 
* [[GerritJenkinsGit|jenkins]]  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/18-jenkins.rst slides] )
** Exercise: add an error and match it to the jenkins message
+
** 演習: add an error and match it to the jenkins message
  
== Second day ==  
+
== 2 日目 ==  
  
=== The Contribution Process (1 hour) ===  
+
=== 貢献プロセス (1 時間) ===  
  
  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/19-training-contribution-process.rst slides] )
+
  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/19-training-contribution-process.rst スライド] )
 
* Take the pulse of the project.
 
* Take the pulse of the project.
 
* Figure out who's behind it.
 
* Figure out who's behind it.
Line 158: Line 161:
 
* Archive and collect.
 
* Archive and collect.
  
=== Agile for Contributors (15 min) ===  
+
=== 貢献者向けアジャイル (15分) ===  
  
  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/20-training-agile-for-contributors.rst slides] )
+
  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/20-training-agile-for-contributors.rst スライド] )
* Apply agile
+
* アジャイルの適用
* Who is the customer?
+
* 顧客は誰か?
* Company & Upstream product owner
+
* 企業とアップストリームの製品オーナー
* Sprint review presentation to Upstream
+
* アップストリームへのスプリントレビュープレゼンテーション
  
=== Contribution Simulation (2 hour) ===  
+
=== 貢献のシミュレーション (2 時間) ===  
  
The students make a virtual contribution simulation using Lego bricks as props, with the goal of expanding a Lego town, built by upstream. They are divided into teams; the teacher is by turns the product owner in the company and the upstream.
+
受講者は、小道具として Lego ブロックを使用した、仮想的な貢献のシミュレーションを実施します。アップストリームが構築した Lego タウンを拡張することを目標にします。受講者はチームに分けられます。講師は、企業の製品オーナーとアップストリームを交互に実施します。
  
=== Contribution Planning (2 hours) ===  
+
=== 貢献の計画 (2時間) ===  
  
  ( [http://dachary.org/loic/openstack-training/training-student-project-sample.odp odp slides] [http://dachary.org/loic/openstack-training/training-student-project-sample.pdf pdf slides] )
+
  ( [http://dachary.org/loic/openstack-training/training-student-project-sample.odp ODP形式スライド][http://dachary.org/loic/openstack-training/training-student-project-sample.pdf PDF形式スライド] )
  
  
* The students use template slides to prepare a 5-minute presentation of their planned contribution.
+
* 受講者は、スライドのテンプレートを使用して、計画した貢献に関する 5 分間のプレゼンテーションを準備します。
* A sample presentation is given by the teacher, as an example.
+
* プレゼンテーションのサンプルが、講師により例として提供されます。
* Each student group prepares a presentation describing:
+
* 受講者の各グループは、以下を記載したプレゼンテーションを準備します。
** the contribution they plan to work on during the online sessions,
+
** オンラインセッション中に取り組む予定の貢献内容
** how they will engage with the Upstream,
+
** アップストリームに関与する方法
** how it contributes to the company's agenda
+
** 企業の予定に貢献する方法
** and whom they will be working with.
+
** 一緒に取り組む人
* Each student group presents its slides to the class
+
*受講者の各グループは、スライドをクラスに提供します。
  
 
=== Etherpad ===
 
=== Etherpad ===
  
https://etherpad.openstack.org/p/kilo-upstream-training
+
https://etherpad.openstack.org/p/upstream-training-jp

Latest revision as of 05:31, 24 December 2014

概要

OpenStack は、最も巨大なコラボレーション型ソフトウェア開発プロジェクトの 1 つです。世界中の 80 か国以上から 2000 人を超える開発者が参加しています。その規模によりもたらされる、社会規範や技術的な習慣における多様性が特徴的です。新規参入者が自身のロードマップと OpenStack プロジェクトとの統合を成功するまでに、かなり時間がかかってしまう可能性があります。

プロフェッショナル開発者がこのハードルを乗り越える支援をするために、トレーニングプログラムを用意しました。バグ修正や機能追加ができる限り早く OpenStack プロジェクトにきちんと取り込まれるための方法を説明します。この教育プログラムは、受講者が、2日間の集合教育とオンラインのメンタリングを通して、OpenStack に取り込まれるまで、実際にバグ修正や新機能追加に取り組む必要があります。プロジェクトの技術的なツールやコミュニティとの関わりの複雑さについて、2日間の集合教育で説明します。フォローアップセッションでは、受講者が何か疑問に感じた点を解決するために、個々のオンラインセッションを受けられます。

目的

  • 商用製品のロードマップと OpenStack のリリースサイクルを迅速に統合する
  • 実際に OpenStack コンポーネントにパッチを一つ貢献する
  • 技術ツールをマスターする
  • OpenStack 貢献のワークフローと社会規範を理解する

対象読者

  • 開発者
  • システム管理者

前提

  • 技術レベルの英語の読み書きできること
  • コード貢献の場合、プロジェクトのバグ修正を実行できる技術的に習熟していること
  • ドキュメント貢献の場合、プロジェクトが使用している環境でドキュメントを作成できること
  • 少なくとも週 8 時間は、プログラミングやコミュニティとのコミュニケーションのために、プロジェクトに専念できること

期間

  • 集合実習: 2 日間
  • オンライン実習: 4 ~ 10 週間にわたる 10 回の 1 時間メンタリング

トレーニング環境

日本のトレーニングでは、主催者が用意したクラウド環境に devstack を用いて、OpenStack 環境を構築します。 受講者は、クラウド環境を利用できるノート PC を用意する必要があります。

  • Wi-Fiネットワークに接続できること
  • SSH クライアント

コース概要

1 日目

はじめに

  • 1 日目の 1 週間前: 各参加者による、貢献対象の選択、メール利用
  • 1 日目: OpenStack はどのように作られるのか
  • 1 日目: git, gerrit, IRC の学習と実践
  • 2 日目: 貢献の理論
  • 2 日目: Lego 貢献シミュレーション
  • 2 日目: 貢献の計画の個人プレゼンテーション
  • 2 日目: オンラインメンタリング

OpenStack はどのように作られるか (3時間、1時間30分の実習を含む)

OpenStack 貢献のワークフローおよびツール (3時間、2時間の演習を含む)

2 日目

貢献プロセス (1 時間)

( スライド )
  • Take the pulse of the project.
  • Figure out who's behind it.
  • Determine the project's social groups.
  • Assess your approach.
  • Engage immediately.
  • Play with your network.
  • Perform the smaller tasks.
  • Choose a question.
  • Familiarize yourself with the code of conduct.
  • Understand the conventions.
  • Explain what you do.
  • Prepare the backport.
  • Learn what's local and what's upstream.
  • Learn what distinguishes good work flow from bad work flow.
  • Quantify the delta.
  • Speed up the acceptance.
  • Determine the time frame.
  • Maximize karma.
  • Work in parallel.
  • Archive and collect.

貢献者向けアジャイル (15分)

( スライド )
  • アジャイルの適用
  • 顧客は誰か?
  • 企業とアップストリームの製品オーナー
  • アップストリームへのスプリントレビュープレゼンテーション

貢献のシミュレーション (2 時間)

受講者は、小道具として Lego ブロックを使用した、仮想的な貢献のシミュレーションを実施します。アップストリームが構築した Lego タウンを拡張することを目標にします。受講者はチームに分けられます。講師は、企業の製品オーナーとアップストリームを交互に実施します。

貢献の計画 (2時間)

( ODP形式スライドPDF形式スライド )


  • 受講者は、スライドのテンプレートを使用して、計画した貢献に関する 5 分間のプレゼンテーションを準備します。
  • プレゼンテーションのサンプルが、講師により例として提供されます。
  • 受講者の各グループは、以下を記載したプレゼンテーションを準備します。
    • オンラインセッション中に取り組む予定の貢献内容
    • アップストリームに関与する方法
    • 企業の予定に貢献する方法
    • 一緒に取り組む人
  • 受講者の各グループは、スライドをクラスに提供します。

Etherpad

https://etherpad.openstack.org/p/upstream-training-jp