FUSE on OS X

FUSE というソフトウェア(ミドルウェア)がある.簡単にいえば,ファイルシステムを簡単に作れるようにするキットと思えば良い. FUSE で動くファイルシステムとしては,
  • sshfs: SSH経由でリモートサーバーのディレクトリをマウント
  • ntfs-3g: NTFS を Windows 以外で使う
などがある.
元は Linux で始まったものだが,Mac にも移植されていて,最初の移植は MacFUSE だったが,開発終了にともない,以下の2つに分裂してしまった.
  • OSXFUSE
  • fuse4x
違いが気になり調べたので,それを書こうと思っていたが,つい先日 (→もっと早く決まっていたらしい.) fuse4x が OSXFUSE に取り込まれる形で終息してしまうことが決まった.そこで,雑感を書こうと思う.
もともと MacFUSE は,本家 Linux 版のFUSEとくらべ,(インターフェースの?)設計が異なり,互換性が無いようだった.OSによってカーネルの設計が違うのだから,それにあわせて変えたということなのだろう. そこで,より(本家や他のOSにおけるFUSEに)近い FUSE を作ろうという方向性で立ち上がったプロジェクトがfuse4x,ということらしい. 実は,本家プロジェクトのトップページにもはっきりとそう書いてある.
The MacFuse author had motto "MacFuse is not Fuse" and over the years MacFuse became incompatible with the upstream project.
The goal of Fuse4X project is to develop FUSE implementation that is fully-compatible with the upstream project.  
それに対し,OSXFUSEは,MacFUSE そのままで引き継ぐ,をモットーにしているらしい.
  • OSXFUSE is a successor to MacFUSE, which has been unmaintained since 2009. It shares most of its source code with MacFUSE.
  • OSXFUSE features a compatibility mode for file systems that have been built for MacFUSE. It can be a drop-in replacement for MacFUSE.
そのまま置き換えられる(drop-in replacement)と称している.
このことを調べていたのは1ヶ月ほど前で,まだfuse4xの開発中止は決まっていなかった. けれどもこの時点で,公式サイトの見通しの良さ,スポンサー,プロジェクトの目標から,OSXFUSEのほうが将来性がありそうだな,と感じていた.
実は,OSXFUSE のほうが他のプロジェクトでも多く使われている.
  • TrueCrypt (ディスク暗号化ソフト)
  • BitCasa (容量無制限のオンラインストレージ(参考: 1).Mac版のクライアントがOSXFUSEを用いて作られている)
  • Nドライブ (NAVER のオンラインストレージ.同様.)
OSXFUSE は,公式サイトに Objective-C のフレームワークが用意されているのも気が効いてると感じた.(このおかげで,多く使われているのかもしれない.)
とはいえ,こんなに早く決着がつくとは思わなかった.