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. セキュリティ

    Pマーク改訂で何が変わり、何をすればいいのか?まずは改訂の概要と企業に求められる対応を理解しよう

  2. セキュリティ

    従来型のセキュリティでは太刀打ちできない「生成AIによるサイバー攻撃」撃退法のススメ

  3. セキュリティ

    クラウド資産を守るための最新の施策、クラウドストライクが提示するチェックリスト

  4. セキュリティ

    最も警戒すべきセキュリティ脅威「ランサムウェア」対策として知っておくべきこと

  5. セキュリティ

    AIサイバー攻撃の増加でフォーティネットが提言、高いセキュリティ意識を実現するトレーニングの重要性

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

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

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

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