GitHub、オープンソースのライセンシングを容易に--「Licensed」をオープンソース化

Steven J. Vaughan-Nichols (ZDNET.com) 翻訳校正: 矢倉美登里 吉武稔夫 (ガリレオ)

2018-03-08 11:45

 オープンソースのライセンシングは複雑化する場合がある。最近では、多くのプログラムは8割が元からあるオープンソースのコードで、そこに2割のオリジナルコードを追加したものになっているようだ。その結果生じるライセンシングの複雑化に対応できるよう、GitHubは、オープンソースプロジェクトのライセンシング手続きの一部を自動化するのに使ってきた社内ツール「Licensed」をオープンソース化した。

 ライセンスに対するGitHubの放任主義的な姿勢のおかげで、ほんの数年前にはGitHubの全プログラムのうち77%に明示されたライセンスがないとの調査結果もあったことを考えると、感心できる動きだ。もしこのことを重要だと感じないなら、プログラムを商品化しようとしたことのない開発者だろう。

 Licensedは、開発サイクルの初期にプログラムの依存ライセンスに関する潜在的な問題を見つけて、コードのオープンソースライセンシングを開発者が効率よく利用するのに役立つ。

 とは言っても、GitHubが次のようなコード形式で指摘しているように、Licensedがライセンシングの手続きをすべて肩代わりしてくれるわけではない。

[disclaimer]
1 of 1 consulted lawyers agree, Licensed is not a replacement for the legal advice of a human.(Licensedは、人による法的助言に取って代わるものではありません)
[/disclaimer]

 Licensedは、依存関係が存在するかどうかを確認するためにライセンスのメタデータを見つけてキャッシュし、チェックすることにより、どのようなGitリポジトリにおいてもうまく機能する。複数の言語形式の依存関係を検知し、複数プロジェクトのマネージャを単一のリポジトリにパッケージ化できる。こうした柔軟性のおかげで、Licensedは、数千のプロジェクトがあるリポジトリでも、1つのプロジェクトしかないリポジトリと同じくらいうまく機能するという。

 新たにオープンソース化されたLicensedは、「アプリケーション」という概念に基づいて機能する。アプリケーションは、ソースロケーションとキャッシュディレクトリの組み合わせとして定義される。ライセンス問題がないかチェックする1つまたは複数のアプリケーションを指定するのに、設定ファイルが利用される。

 このプログラムは、各アプリケーションにどのような依存関係が存在するのかを見つけ出す。見つかったそれぞれの依存ライブラリや依存ルーティンについて、Licensedはローカル環境にある依存元のロケーションを見つけ、基本的なメタデータ(たとえば、名前、バージョン、ホームページ、概要)を抽出する。

 それから、「Licensee」プログラムを利用して、各依存ファイルのライセンスを判定し、ライセンスの契約文面を探す。

 続いて、Licensedは、メタデータとライセンス情報をキャッシュする。追跡が終わると、キャッシュされたレコードにより、必要なライセンスのコピーを配布するよう求められるファイルのような、ライセンシングに関してよくある問題に対処するのが容易になる。Licensedによって、こうしたライセンスの作成や配布の自動化だけでなく、プロジェクト用資料のオープンソースライセンス文書の提供も容易になる。問題が見つかったら、Licensedは、調べる必要がある依存関係を報告する。

 Licensedは、継続的インテグレーション( Continuous Integration:CI)によって、依存関係がオープンソースライセンスの要件を満たしていることを確認する。これによって、開発者がライセンスの追跡にまつわる問題に悩まされることはほぼなくなる。プログラマがいちばんやりたくないのはライセンスの追跡なので、これは本当に素晴らしいことだ。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]