Jump to: navigation, search

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

m
m
 
(66 intermediate revisions by the same user not shown)
Line 1: Line 1:
== はじめに ==
 
  
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.
+
概要
  
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 は、最も巨大なコラボレーション型ソフトウェア開発プロジェクトの 1 つです。世界中の 80 か国以上から 2000 人を超える開発者が参加しています。その規模によりもたらされる、社会規範や技術的な習慣における多様性が特徴的です。新規参入者が自身のロードマップと OpenStack プロジェクトとの統合を成功するまでに、かなり時間がかかってしまう可能性があります。
  
== 目的 ==
+
プロフェッショナル開発者がこのハードルを乗り越える支援をするために、トレーニングプログラムを用意しました。バグ修正や機能追加ができる限り早く OpenStack プロジェクトにきちんと取り込まれるための方法を説明します。この教育プログラムは、受講者が、2日間の集合教育とオンラインのメンタリングを通して、OpenStack に取り込まれるまで、実際にバグ修正や新機能追加に取り組む必要があります。プロジェクトの技術的なツールやコミュニティとの関わりの複雑さについて、2日間の集合教育で説明します。フォローアップセッションでは、受講者が何か疑問に感じた点を解決するために、個々のオンラインセッションを受けられます。
  
* Faster integration of the companies product roadmap into the OpenStack release cycle
+
== 目的 ==
* Successfully contribute one real world patch to an OpenStack component
 
* Master the technical tools
 
* Understand the OpenStack contribution workflow and social norms
 
  
== 対象読者 ==
+
* 商用製品のロードマップと OpenStack のリリースサイクルを迅速に統合する
 +
* 実際に OpenStack コンポーネントにパッチを一つ貢献する
 +
* 技術ツールをマスターする
 +
* OpenStack 貢献のワークフローと社会規範を理解する
  
* Developers
+
== 対象読者 ==
* System administrators
 
  
== 必要条件 ==
+
* 開発者
 +
* システム管理者
  
* 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 時間は、プログラミングやコミュニティとのコミュニケーションのために、プロジェクトに専念できること
  
* Face-to-face section: 2 days
+
== 期間 ==
* Online section: 10 one-hour individual mentoring sessions over a period of 4 to 10 weeks
 
  
= コース概要 =
+
* 集合実習: 2 日間
 +
* オンライン実習: 4 ~ 10 週間にわたる 10 回の 1 時間メンタリング
  
== 1日目 ==
+
== トレーニング環境 ==  
  
=== はじめに ===
+
日本のトレーニングでは、主催者が用意したクラウド環境に [[OpenStack_Upstream_Training/Setup_DevStack|devstack]] を用いて、OpenStack 環境を構築します。
* A week before Day 1: choice of a contribution, via email, with each participant
+
受講者は、クラウド環境を利用できるノート PC を用意する必要があります。
* Day 1: How OpenStack is made
+
* Wi-Fiネットワークに接続できること
* Day 1: Learn and practice git, gerrit, IRC
+
* SSH クライアント
  
* Day 2: The theory of contribution
+
= コース概要 =
* Day 2: Lego contribution simulation
 
* Day 2: Individual presentation of the contribution plan
 
* Day 2: Online mentoring
 
  
=== OpenStack はどのように作られるか (3時間、1時間30分の実習を含む) ===
+
== 1 日目 ==  
  
* [https://wiki.openstack.org/wiki/Release_Cycle Release cycle] ( [http://dachary.org/loic/openstack-training/release-cycle.odp slides.odp] [http://dachary.org/loic/openstack-training/release-cycle.pdf slides.pdf] )
+
=== はじめに ===
** [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#Implementation_.28Milestone_iterations.29 Implementation (Milestone iterations)]
+
* 1 日目の 1 週間前: 各参加者による、貢献対象の選択、メール利用
** [https://wiki.openstack.org/wiki/Release_Cycle#Pre-release_.28Release_Candidates_dance.29 Pre-release (Release Candidates dance)]
+
* 1 日目: OpenStack はどのように作られるのか
*** [https://wiki.openstack.org/wiki/Release_Cycle#Release_candidate_1 Release candidate 1]
+
* 1 日目: git, gerrit, IRC の学習と実践
*** [https://wiki.openstack.org/wiki/Release_Cycle#Other_release_candidates Other release candidates]
+
 
*** [https://wiki.openstack.org/wiki/Release_Cycle#Release_day Release day]
+
* 2 日目: 貢献の理論
** Exercise: based on the [https://wiki.openstack.org/wiki/Icehouse_Release_Schedule Icehouse release schedule] find the URL of a document or a patch that belongs to each of the above steps.
+
* 2 日目: Lego 貢献シミュレーション
* Relevant actors ( [http://dachary.org/loic/openstack-training/relevant-actors.odp slides.odp] [http://dachary.org/loic/openstack-training/relevant-actors.pdf slides.pdf] )
+
* 2 日目: 貢献の計画の個人プレゼンテーション
** [http://www.stackalytics.com/?release=icehouse&metric=commits&project_type=integrated&module=&company=&user_id= commiters] companies
+
* 2 日目: オンラインメンタリング
** [http://www.stackalytics.com/?release=icehouse&metric=commits&project_type=integrated&module=&company=&user_id= commiters] individuals
+
 
** Your management
+
=== OpenStack はどのように作られるか (3時間、1時間30分の実習を含む) ===
* [https://wiki.openstack.org/wiki/Governance/Foundation/TechnicalCommittee Technical Committee] ( [http://dachary.org/loic/openstack-training/technical-committee.odp slides.odp] [http://dachary.org/loic/openstack-training/technical-committee.pdf slides.pdf] )
+
 
** Decide what is an [https://wiki.openstack.org/wiki/Programs OpenStack Program]
+
* [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/Governance/TechnicalCommittee meetings]  
+
** [https://wiki.openstack.org/wiki/Release_Cycle#Planning_.28Design.2C_Discuss_and_Target.29 計画 (設計、議論、目標)]
** 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]
+
** [https://wiki.openstack.org/wiki/Release_Cycle#Implementation_.28Milestone_iterations.29 実装 (マイルストーンの反復)]
** [https://wiki.openstack.org/wiki/Governance/Foundation/TechnicalCommittee#Program_Leads PTLs]
+
** [https://wiki.openstack.org/wiki/Release_Cycle#Pre-release_.28Release_Candidates_dance.29 プレリリース (リリース候補版の準備)]
 +
*** [https://wiki.openstack.org/wiki/Release_Cycle#Release_candidate_1 リリース候補版 1]
 +
*** [https://wiki.openstack.org/wiki/Release_Cycle#Other_release_candidates 他のリリース候補版]
 +
*** [https://wiki.openstack.org/wiki/Release_Cycle#Release_day リリース日]
 +
** 演習: 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.
 +
* 関係者 ( [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= コミッター] 企業
 +
** [http://www.stackalytics.com/?release=juno&metric=commits&project_type=integrated&module=&company=&user_id= コミッター] 個人 (ページ下部)
 +
** あなたのマネージャー
 +
* [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 プログラム]
 +
** [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 ドキュメント]
 +
** [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]  ( [http://dachary.org/loic/openstack-training/program-ecosystem.odp slides.odp] [http://dachary.org/loic/openstack-training/program-ecosystem.pdf slides.pdf] )
+
* [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]  ( [http://dachary.org/loic/openstack-training/design-summit.odp slides.odp] [http://dachary.org/loic/openstack-training/design-summit.pdf slides.pdf] )
+
* [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 セッションへの参加とリード]
** Exercise: Add a session proposal regarding your contribution in an etherpad, review two proposals
+
** [https://wiki.openstack.org/wiki/Summit/Kilo/Etherpads Kilo Summit Etherpad]
* [https://wiki.openstack.org/wiki/Meetings IRC meetings]  ( [http://dachary.org/loic/openstack-training/irc-meetings.odp slides.odp] [http://dachary.org/loic/openstack-training/irc-meetings.pdf slides.pdf] )
+
** 演習: Add a session proposal regarding your contribution in an etherpad, review two proposals
 +
* [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
+
** 演習: ランチメニューのオンラインミーティング
  
<br />
+
=== OpenStack 貢献のワークフローおよびツール (3時間、2時間の演習を含む) ===
  
=== OpenStack 貢献のワークフローおよびツール (3時間、2時間の実習を含む) ===
+
* [http://devstack.org/ devstack] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/11-devstack.rst スライド] )
 
+
** Ubuntu または Fedora
* [http://devstack.org/ devstack] ( [http://dachary.org/loic/openstack-training/devstack.odp slides.odp] [http://dachary.org/loic/openstack-training/devstack.pdf slides.pdf] )
 
** Ubuntu or 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]] ( [http://dachary.org/loic/openstack-training/howtocontribute.odp slides.odp] [http://dachary.org/loic/openstack-training/howtocontribute.pdf slides.pdf] )
+
* [[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] ( [http://dachary.org/loic/openstack-training/launchpad.odp slides.odp] [http://dachary.org/loic/openstack-training/launchpad.pdf slides.pdf] )
+
* [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]] ( [http://dachary.org/loic/openstack-training/gerrit.odp slides.odp] [http://dachary.org/loic/openstack-training/gerrit.pdf slides.pdf] )
+
* [[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
* Branching model ( [http://dachary.org/loic/openstack-training/branching-model.odp slides.odp] [http://dachary.org/loic/openstack-training/branching-model.pdf slides.pdf] )
+
* Branching model ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/15-branching-model.rst slides] )
 
** [[BranchModel|development]]
 
** [[BranchModel|development]]
 
** [[StableBranch|stable]]
 
** [[StableBranch|stable]]
 
** Exercise: checkout the latest stable branch
 
** Exercise: checkout the latest stable branch
* [[GerritJenkinsGit#Reviewing_a_Change|reviewing]]  ( [http://dachary.org/loic/openstack-training/reviewing.odp slides.odp] [http://dachary.org/loic/openstack-training/reviewing.pdf slides.pdf] )
+
* [[GerritJenkinsGit#Reviewing_a_Change|reviewing]]  ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/16-reviewing.rst slides] )
* [[GerritWorkflow#Committing_Changes|writing a commit message]] ( [http://dachary.org/loic/openstack-training/commit-message.odp slides.odp] [http://dachary.org/loic/openstack-training/commit-message.pdf slides.pdf] )
+
* [[GerritWorkflow#Committing_Changes|writing a commit message]] ( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/17-commit-message.rst slides] )
 
** reference to a bug or a blueprint
 
** reference to a bug or a blueprint
 
** amending a commit message
 
** amending a commit message
 
** Exercise: review each other messages on the draft
 
** Exercise: review each other messages on the draft
* [[GerritJenkinsGit|jenkins]]  ( [http://dachary.org/loic/openstack-training/jenkins.odp slides.odp] [http://dachary.org/loic/openstack-training/jenkins.pdf slides.pdf] )
+
* [[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
  
== 2日目 ==
+
== 2 日目 ==  
  
=== 貢献プロセス (3時間) ===
+
=== 貢献プロセス (1 時間) ===  
  
  ( [http://dachary.org/loic/openstack-training/training-contribution-process.odp] [http://dachary.org/loic/openstack-training/training-contribution-process.pdf] )
+
  ( [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 153: Line 161:
 
* Archive and collect.
 
* Archive and collect.
  
=== 貢献者向けアジャイル (15分) ===
+
=== 貢献者向けアジャイル (15分) ===  
 +
 
 +
( [https://github.com/openstack/training-guides/blob/master/doc/upstream-training/20-training-agile-for-contributors.rst スライド] )
 +
* アジャイルの適用
 +
* 顧客は誰か?
 +
* 企業とアップストリームの製品オーナー
 +
* アップストリームへのスプリントレビュープレゼンテーション
  
( [http://dachary.org/loic/openstack-training/training-agile-for-contributors.odp] [http://dachary.org/loic/openstack-training/training-agile-for-contributors.pdf] )
+
=== 貢献のシミュレーション (2 時間) ===
* Apply agile
 
* Who is the customer?
 
* Company & Upstream product owner
 
* Sprint review presentation to Upstream
 
  
=== 貢献のシミュレーション (1時間) ===
+
受講者は、小道具として Lego ブロックを使用した、仮想的な貢献のシミュレーションを実施します。アップストリームが構築した Lego タウンを拡張することを目標にします。受講者はチームに分けられます。講師は、企業の製品オーナーとアップストリームを交互に実施します。
  
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.
+
=== 貢献の計画 (2時間) ===
  
=== 貢献の計画 (2時間) ===
+
( [http://dachary.org/loic/openstack-training/training-student-project-sample.odp ODP形式スライド]、[http://dachary.org/loic/openstack-training/training-student-project-sample.pdf PDF形式スライド] )
  
( [http://dachary.org/loic/openstack-training/training-student-project-sample.odp] [http://dachary.org/loic/openstack-training/training-student-project-sample.pdf] )
 
  
 
* 受講者は、スライドのテンプレートを使用して、計画した貢献に関する 5 分間のプレゼンテーションを準備します。
 
* 受講者は、スライドのテンプレートを使用して、計画した貢献に関する 5 分間のプレゼンテーションを準備します。
Line 174: Line 183:
 
** オンラインセッション中に取り組む予定の貢献内容
 
** オンラインセッション中に取り組む予定の貢献内容
 
** アップストリームに関与する方法
 
** アップストリームに関与する方法
** 仲間の予定に貢献する方法
+
** 企業の予定に貢献する方法
 
** 一緒に取り組む人
 
** 一緒に取り組む人
* 受講者の各グループは、スライドをクラスに提供します。
+
*受講者の各グループは、スライドをクラスに提供します。
  
 +
=== Etherpad ===
  
このページは、原文の [https://wiki.openstack.org/w/index.php?title=OpenStack_Upstream_Training/Info&oldid=52057 2014年5月11日 20:32 版] を日本語翻訳しています。
+
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