トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

・OSSオープンソース プログラムを管理するためのツール のバックアップ(No.2)


IPAセキュリティPT評価版?

このページは https://www.linuxfoundation.jp/resources/open-source-guides/tools-managing-open-source-programs/ からの転載です。このオリジナルの資料は、Creative Commons Attribution ShareAlike 4.0 International License (CC BY-SA 4.0:クリエイティブ・コモンズ 表示 – 継承 4.0 国際ライセンス) の下でライセンスされており、本ページもCreative Commons Attribution ShareAlike 4.0 International License (CC BY-SA 4.0:クリエイティブ・コモンズ 表示 – 継承 4.0 国際ライセンス) の下でライセンスされます。

オープンソースの戦略的な活用への道は、オープンソースの作成、配布、利用に対する指導と管理のために慎重に計画され、組織化され、権限移譲されたオープンソース プログラム オフィスから始まります。しかし、それは単に、最初の一歩に過ぎません。オープンソース プログラム オフィスを軌道に乗せて、円滑な運用を進めるためには、適切なツールが必要です。同オフィスの活動に必要不可欠なツールは、エンジニアリング部門と法務部門から始まり、経営幹部、広報部門、マーケティング部門に至る広い部門で、目標や評価基準の達成度をトラッキングするために使用され、また、データの収集、プロジェクト達成状況のスナップショットの提供、さらには、会社内の日々のオープンソース使用状況の管理のために必要なあらゆるリソースを従業員に与えるために使用されます。 このガイドは、オープンソース プロジェクトのトラッキングと管理に使用する最も重要なツールに関する情報も含め、オープンソース ツールの収集を始める方法の詳細と手順を提供しています。これらのツールの多くは、Linux Foundationやこの分野のリーダーが作成し、オープンソース化したものなので、あなたのプロジェクトで自由に、簡単に使用することができるでしょう。また、複数のツールの情報を組み合わせて表示するダッシュボードの設定例も提示しています。

このガイドの貢献者

  • Chris Aniszczyk
    COO
    Cloud Native Computing Foundation
  • Jeff McAffer
    Director of the Open Source Programs Office at Microsoft

セクション 1 オープンソース プログラムの管理のためになぜ特別なツールが必要になるのか

オープンソース プログラム オフィスが設立されたら、まず、同オフィスの開発チームがオープンソースのプロジェクト、コントリビューション、リリースを推進、管理、トラッキング、指導することができるようにするために、適切なソフトウェア ツールの収集を始めます。

  • コラボレーションとコード開発の場の提供
  • プロジェクトの健全性の管理
  • コードのレビューとトラッキング、ライセンス コンプライアンスのチェックなど重要で何度も繰り返されるタスクの自動化
  • プログラム オフィスとオープンソース戦略のROIが分かるようにするデータの作成
  • プロジェクトの品質を監視、および問題が発生した場合にガードレールが設置されていることの確認 あなたがオープンソースを始めるとき、適切に的を絞ったツールを用意することで、開発者や他の従業員の仕事はより簡単になり、より良い成果が得られるようになります。それらのツールは企業のオープンソース プロジェクトにおいて、コラボレーションとコミュニケーションを成功させるための基礎になるでしょう。

「もし、あなたが100個以上のコード リポジトリ、または100人以上をマネージメントしなければならない立場にあれば、スプレッドシートを使用した手作業でそれらを管理することはできません。まだ、そのようにしている人はいます。 しかし、そのやり方は、いずれその場しのぎの面倒なものになっていきます。 そここそ、ツールが活躍する場です。それらのツールはあなたのマネージメントがより大きな規模になることを許してくれます。」
Jeff McAffer – Director of the Open Source Programs Office at Microsoft

「結局、あなたの仕事を自動化するツールが必要になります。そうでなければ、あなたは手作業のために、多くの時間を費やさなければならなくなります。」
Chris Aniszczyk – COO of the Cloud Native Computing Foundation and former head of open source programs at Twitter

セクション 2 ツールをどのように選択し、どのように使用するかの検討

企業がどのオープンソース ツールを必要としているかについての初期段階の議論の大部分は、企業のビジネス、製品、サービス、そして企業が顧客や従業員にどのように役立つのか、などによって異なったものになります。計画工程と戦略マップが、オープンソース プログラム オフィスによって作成されるとともに、会社の目標、プロセス、インフラストラクチャと調和のとれたツールが選択されます。

最終的に、必要なツールを知る唯一の方法は、オープンソースであなたの会社が何をしたいのかを理解することです。オープンソース プログラム オフィスの管理に必要なツールを選択するための基本的な手順を以下に示します。

  1. 開発者とコミュニティ メンバーから同意と選択の好みを得ることです。 これを得るためには、開発者やコミュニティ メンバーと詳細な議論が必要です。 彼らは、どのツールが彼らのために最善であったのか、最善でありそうかについて説明できます。 彼らの推薦や要求を真剣に受け止めてください。 あなたに目標を達成させようとしてくれている人に耳を傾けましょう。 彼らはすでにこれらのツールの多くをすでに使用している可能性が高く、彼らの経験は有益です。
  2. ビジネス上重要なアプリケーションが依存している、また、それに統合されている必須ソフトウェアを理解しなければなりません。これは、あなたのビジネスが依存しているオープンソース ソフトウェアを理解、把握することを意味します。それにより、セキュリティ問題の最新状況を常に把握でき、ソフトウェアの継続的利用を確実にすることができます。
  3. 既存のツールを調査し、そのまま使用するのか、ニーズに合わせて改造するのかを決めます。どのようなツールであってもゼロから開発してはいけません。 まずどんなものがあるか、どのようなものがオープンソース コミュニティで使用されているのかを調べて、彼らからツールに関するアドバイスやフィードバックを得てください。開発コミュニティにアクセスして、何がうまくいっているかを調べて、推奨、助言を求めてください。オープンソース カンファレンスで質問したり、BOFセッションで開発者仲間と話したりして、あなたがやりたかったことを既にやっている人から学びましょう。

ツールを選択したら、それを実装しなければなりませんが、そこにはいくつかのステップが必要になります。

  1. ツールをサポート、管理、使用するためのインフラストラクチャを社内に構築します。新たに設立したオープンソース プログラム オフィスは、それらのインフラストラクチャを構築、保守する人を指名します。ツールは、その役割、機能などで整理した社内オンライン ポータルを通してそこから提供されます。このツール ポータルでは、ツールをすべての開発者が使用できるようにすることもできますが、認証とアクセス許可を使用して、彼らの業務内容、要件に基づいてアクセスを特定のユーザーに制限することもできます。
  2. ツールを使用する従業員のためにトレーニング計画を作成します。ツールを入手するだけでは不十分です。開発者がツールの使い方を理解し、ツールの特性を習熟できるようにすることが必要です。トレーニング プログラムは、オンライン、教室、ランチタイム ミーティングなど、どこで実施するにしても、ツールの利用で成果を出すために重要です。どのような学習方法が彼らのために最も効果的か開発者に聞いて、学習方法を彼らに選択させてください。
  3. ツールが組織内のどこからでも目立つようにします。できれば、開発の進捗状況を把握するためにいつも使っている開発者ダッシュボードに統合し、開発者が簡単にツールを見つけて使用できるようにします。ここでも、社内のツール ポータルが業務に必要なツール群を体系化し、配布するのに役立ちます。 あなたが自ら選択したツールの実装を記憶に留めることが重要です。ツールの選択が次の決定に影響するかもしれないからです。 たとえば、習得が容易なツールが、より多くのトレーニングを必要とすることもありえます。

既存のツールを生かそう

組織のオープンソースの目標を達成するためにチームが必要としていることと、あなたの組織の権限範囲、インフラストラクチャでの制約を理解したら、次のステップは、今すぐに利用可能な既存のツールを調査し、学ぶことです。ほとんどのツールはオープンソース ツールなので、もしもそれらが、正確にあなたのニーズを満たしていない場合でも、開発チームがツール作成者に連絡して、機能を追加し、新しい用途向けにツールを拡張するためにコントリビューションが可能かどうかを確認できます。
皮肉なことに、多くのオープンソース プログラム オフィスは、他の人が開発したツールを再利用したり、オープンソース プログラムを管理するために必要なツールを他の企業と協業したりするとは限りません。彼らはそうしたいと思うこともありますが、Facebook社やMicrosoft社など多くの企業では、コラボレーションが実際に問題提起されるよりも前にツールセットが既に揃っており、それに投資を行ってきたため、他の企業のものを採用する意欲が低いようです。
そこにオープンソース プログラムを構築し始めたばかりの企業の大きな利点があります。彼らは、オープンソース プログラム オフィスを開設しオープンソースに飛び込んだばかりなので、そのような制約に悩まされる必要はありません。
代わりに、彼らは他の人の経験や成功を要領よく利用して、すなわち、近年オープンソースを主導している企業によって作成された実績のあるツールを使ってオープンソースのツールボックスを構築することができるからです。 Linux Foundationのオープンソース業界組織TODO Group https://todogroup.org/blog/sample-job-req/ は、ツールを満載した「オープンソース プログラム オフィス インボックス」スターター パッケージを作成することに取り組んでいます。このパッケージにより、多くの企業は、ツールがまとまって組み込まれているツールキットを入手したうえでオープンソース活動を開始することができるようになります。 スターター パッケージはまだ提供ができていませんが、最終的には、このパッケージにより、初期作業を軽減しながら必要なツールを導入して設定することを容易にすることが期待されます。 このプロジェクトに取り組んでいるTODOグループのメンバーは、Adobe社、Capital One社、Comcast社、Facebook社、Google社、eBay社、IBM社、Microsoft社、Samsung社、Twitter社などです。

ダッシュボードの作成

適切なツールと共に、企業は、オープンソース プロジェクトと開発をリアルタイムで監督、トラッキングできるセントラル ダッシュボードも組み込む必要があります。多くの企業は、既存の開発作業やアプリケーション用のダッシュボードを持っており、既存のダッシュボードをオープンソースの作業と統合することができるかもしれません。そうでない場合は、オープンソース配置・展開の管理を強化するために新しいダッシュボードを作成または採用する必要があります。