あなたのリクエストに応じて、ノイズを減らす機能を開発しました。大切な情報を見逃さないよう、お気に入りのトピックを選択して、メールとウェブで通知をもらいましょう。
GitHub Licensedは、オープンソースのツールであり、GitHub上のプロジェクトの依存物のライセンスの正しさの保証とドキュメント化に関する雑務を単純にしてくれる。
Licensedはリポジトリ内の複数のプロジェクトのさまざまな言語とパッケージマネージャから依存物を検知する。Bower、 Bundler、Cabal、Go、Manifest lists、NPMがサポートされているパッケージマネージャだ。Licensedは、見つかったそれぞれの依存を元に、基本となるメタデータとライセンスのタイプ、関連する法文書(普通はLICENSE
ファイルに書かれている)などのライセンス情報を探る。ライセンスのタイプと文書を見つけると、LicensedはLicenseeを使う。発見されたメタデータは指定された場所に保存され、ライセンスのコピーを生成するのに使われる。例えば、再配布に必要なコピーだ。
GitHubによれば、より重要なのは、メタデータとライセンスの文書がリビジョン管理されることだ。新しい依存の追加はPRレベルで反映され、ライセンスの専門家は、そのPRをレビューし、新しいライセンスがなんらかの対処すべき問題を生み出さないかどうかを確認できる。GitHubは自分たちの経験を元に、このやり方は開発者の負担を軽減し、どんなプロジェクトでも組織の方針に準じた依存だけが追加されるようになる、と主張している。
Licensedの挙動は構成ファイルで制御される。source_path
に指定した場所の依存をスキャンし、cache_path
にメタデータとライセンスのリストが保存される。
# Path is relative to git repository root
# If not set, defaults to '.licenses'
cache_path: 'relative/path/to/cache'
# Path is relative to git repository root and specifies the working directory when enumerating dependencies
source_path: 'relative/path/to/source'
# Dependencies with these licenses are allowed by default.
allowed:
- mit
- apache-2.0
- bsd-2-clause
- bsd-3-clause
- cc0-1.0
Licensedはruby gemであり、次のGemfileでインストールできる。
gem 'licensed', :group => 'development'
そして、次を実行する。
$ bundle
次のコマンドを使えば、すべての依存のライセンスを一覧できる。
licensed list
同じように、cache
コマンドはライセンスとメタデータをキャッシュする。status
コマンドは依存のステータスをチェックしライセンスデータが見つからない場合やライセンスタイプにレビューが必要な場合に警告をする。
GitHubは、Licensedはライセンス問題を検知するためのツールであり、専門の法的アドバイスを代替するものではない、と強調している。
Rate this Article
- Editor Review
- Chief Editor Action