FreeBSD Daily Topics

2013年2月4日BSDライセンスpatch(1)登場

src

BSD licensed pathc(1)

FreeBSD 10-CURRENTにBSDライセンス版のpatch(1)が追加されました。FreeBSDはこれまでGNU patch(1)のかなり初期のバージョンであるGNU patch versio 2.1を採用してきました。このバージョンのGNU patch(1)にFreeBSD向けのいくつかの機能を追加したものが使われています。

% patch -v
Patch version 2.1
%

今回10-CURRENTにマージされたpatchはbsdpatch(1)としてインストールされます。-lと-Sのオプションを除いてすべてGNU patch(1)と互換性があり、FreeBSD 10.0-CURRENTではこれがデフォルトになる予定です。

% bsdpatch -v
patch (BSD patch) 2.0-FreeBSD
%

システムをビルドする段階でWITH_BSD_PATCHを指定しておくと、BSD patchがデフォルトのpatch(1)としてインストールされるようになります。その場合、GNU patchはgnupatch(1)としてインストールされます。

こうしたBSD patch(1)に関する変遷がメーリングリストにおいて簡単に紹介されました。

  1. FreeBSDはGNU patch(1) version 2.1を採用し、いくつかの機能を追加したものをデフォルトとして扱ってきた。このバージョンは構成ファイルのうち2つだけがGPLのもとで提供されている
  2. OpenBSDプロジェクトで、GNU patch 2.0をベースに、GPLファイルをパブリックドメインのコードや制限のないライセンスのコードに置き換えたバージョンが開発される
  3. DragonFly BSDへOpenBSD patch(1)が移植され、機能拡張などが実施される
  4. NetBSDへDragonFly BSD patch(1)が移植される
  5. FreeBSDへDragonFly BSD patch(1)が移植される。GNU patch(1)に適用したのと同様の機能拡張を実施し、10-CURRENTへマージを実施

BSD patch(1)をデフォルトのpatch(1)にしたいと説明があり、多くの開発者へ試験の実施と問題の指摘、パッチの提供などが呼びかけられています。

FreeBSDプロジェクトはベースのユーザランドにインストールされるツールやコマンドのうち、GPLのもとで提供されているものをBSDライセンス版のコマンドやツールへ置き換える取り組みを進めています。10.0-RELEASEはそうした取り組みの最初のマイルストーン的なリリースになるとみられており、完全に実現されるかどうかはまだわかりませんが、従来よりもBSDライセンスベースのコマンドがツールが多いリリースになるものとみられます。

おすすめ記事

記事・ニュース一覧