カテゴリー
ツール

go-license-detector – オープンソースのライセンスを判定してくれるツール

go-license-detector は、プロジェクトのドキュメントファイルをスキャンして、そのプロジェクトがどんなライセンスかを推定するというツールです。SPDX で400種類近くに分類されている多種多様なライセンスの分類名(identifier)の形でライセンス情報を返します。

従来のツール

Ruby製のLicenseeでは、ライセンスファイルの存在や、既知のライセンスファイルとの一致度を見て、オープンソースのライセンスが何かを判定しています。GitHub 自身も、各リポジトリのライセンスを判定するのに利用しているそうです。

他にもいくつか、Google の licenseclassifier などライセンスを推定するツールはあるのですが、go-license-detector は以下の特徴があるそうです。

  1. 誤判定があっても、「不明」という結果を少なくする方向の検出
  2. Golang による高速な処理
  3. GitHub の人気トップ1000リポジトリ(手動でライセンスが判定されている)をできるだけ当てられることを目指す
  4. SPDX の分類に従う

精度比較

ブログ記事では、既存の各ツールとの判定精度の比較をしています。902のソースコードを判定し、ライセンスがあるものに関して99%という高率の判定結果、また、判定の速度もとても優秀ということ。

現在は LICENSE や READEME など、一定の種類の名前でライセンス情報を探そうとしていますが、それらのファイルについて既存のライセンス文書との一致をみるにしても、単なる一致ではなく単語のゆらぎやミススペルなどまでケアしているようです。

何か一つオープンソースのプロジェクトが有ったとして、そのライセンスが何であるかを当て、それを信じて利用するというよりは、多数のリポジトリをまとめて分析するような用途に向いているのかなと思いました。

via Detecting licenses in code with Go and ML · source{d} blog

カテゴリー
ツール

ASCII TV – テキストアニメーション映画(スターウォーズep4とか)を再生するwebサーバ

オープンソースで公開された ASCII TV は、ASCII文字で構成された「映画」をターミナル上で再生できる Golang 製の http サーバです。

サンプルとして、スターウォーズ・エピソード4 (のASCII映画)をターミナルから以下のコマンドで再生できます。

$ curl https://asciitv.fr

ここで再生される19分弱のASCII版スターウォーズは、2012年に telnet で再生する ascii-telnet-server が公開された際にもデモ用に使われていたものです。もともとは、http://www.asciimation.co.nz/としてサイモン・ヤンセンさんが制作したもの。

telnet版の呼び出しは以下

$ telnet towel.blinkenlights.nl

再生の様子はこんな感じになります。

ASCII TV はスターウォーズのテキストファイルを呼び出すようになっていますが、データさえ用意して差し替えれば、他のASCII映画やアニメーションをターミナルから再生することができます。

ASCII版スターウォーズほど気合の入ったものは、ちょっと見つかりませんでしたが。

via Hacker News

カテゴリー
ツール

オープンソース化された結婚式のウェブサイト(GPLライセンス)

Oath社のソフトウェア・エンジニア、ラムさん(Ram)が結婚一周年を記念して GitHub で公開したのは、彼が自身の結婚式のために製作したウェブサイト。

デモサイトも公開されていて、動く様子を見ることができます。

サイトは、二人の出会い(大学の同級生だそうです)、結婚式前後のイベント、参列者がインスタグラムに投稿する際のハッシュタグの案内(その写真はこちらで見られます)、婚約式の写真、結婚式場の地図、が、モダンなレスポンシブデザインで提供されています。

結婚式のウェブサイトのフォーマットとしては、この式が挙げられたインドでもどこでも大きく変わらないと思うのですが、コンテンツ内のメヘンディ、ハルディなどインドの結婚式独特の行事の案内や、そのドレスコードの説明などは興味深いと思いました。新郎新婦にウコンを塗りたくる儀式っていったい…

参加不参加の表明(RSVP)は Google Sheet とメールで、ホスティングは GitHub Pages で実現されていて、同じものを完全に無料で動かすことができます。

ライセンスはGPLv3ということで、これから結婚式を挙げるエンジニアの人は、これをベースにして作るのもいいかもしれませんね。

via Hacker News