Railsはmimemagicに別れを告げ、GPL MIMEのドラマを解決するためにMarcelを歓迎する

Table of Contents

Railsはmimemagicに別れを告げ、GPL MIMEのドラマを解決するためにMarcelを歓迎する

ウェブアプリ作成用の Ruby ベースのフレームワークである Rails のメンテナーは、先週表面化したソフトウェアライセンスの競合を解決するために 3 つの新しいバージョンをリリースしました。

Railsコンポーネント「Active Storage」には、「」という依存関係が含まれていましたがmimemagic、これが誤ったライセンスで配布されていたことが判明しました。このmimemagicソフトウェアライブラリは、ファイル形式の識別に使用されるMIMEタイプデータを含むRailsコンポーネント「Active Storage」を提供していましたが、当初はMITライセンスで配布されていました。

しかし、 GPLv2ライセンスで配布されているmimemagicという依存関係がありますshared-mime-info。GPLv2ライセンスの条件では、mimemagicこれもGPLv2ライセンスであるべきでした。

作者はmimemagicエラーを知ると、以前の MIT ライセンスのバージョンのコードを撤回し、多くのアプリのビルド プロセスを中断し、GPLv2 の下で新しいバージョンを発行しました。

鉄道事故

RubyがRailsから撤退:ライセンス違反でコードライブラリが削除され、50万のプロジェクトに混乱を引き起こす

続きを読む

これは、RailsやMITライセンスを優先または要求する他のプロジェクトにとって満足のいくものではありませんでした。なぜなら、GPLのソースコードを組み込んだ独自のコードを同じライセンスでリリースしなければならないという義務を負いたくないからです。こうして、172個の他のパッケージに組み込まれ、50万以上のソフトウェアリポジトリに存在するライブラリを置き換える方法を模索する2日間の作業が始まりました。

mimemagic一部の開発者は、GPLv2ライセンスのデータを削除し、ソフトウェアを再びMITライセンスに準拠させたの改訂版を作成しました。しかし、Railsチームは最終的にmimemagicという別のライブラリを導入することを決定しましたMarcel

mimemagic金曜日の遅くに、依存関係を 1.0.0 に置き換える Active Storage サービスの改訂バージョンとともに、Rails 5.2.5、6.0.3.6、6.1.3.1 が投稿されましたMarcel

Marcel「 Railsと同様にMITライセンスの下で配布されている1.0.0より前のバージョンは、互換性のないGNU一般公衆利用許諾書の下でリリースされたMIMEタイプデータに間接的に依存していました」と、Railsの開発元であるBasecampの開発者、ジョージ・クラグホーン氏は、リリースを発表するブログ記事で説明しています。「 Marcel1.0.0では、Apache Tikaから適応されたMIMEタイプデータを直接パッケージ化し、許容度が高く互換性のあるApacheライセンス2.0の下でリリースされています。」

これを実現するには、少しの作業が必要でした。Marcelは、本質的には のラッパーであるためmimemagic、MIT ライセンスの下に配置するために、その一部を適応させる必要がありました。Marcelの MIME 署名データ テーブル (マジック ナンバー署名として知られています) は、現在 Apache Tika から取得されているため、GPLv2 の影響を受けません。®

Discover More