69
Xcode: Appleの秘密兵器

昔、Mac OS Xが登場する前は、Macが混在するネットワークのシステム管理者を務めるのは、しばしば面倒な作業でした。Macに対応したネットワーク管理ツールを見つけるのは至難の業で、たとえ見つかったとしても、Windows版(Windows版が存在する場合)に比べて機能が制限されていることが多々ありました。例外もありましたが、それほど多くはなく、他のプラットフォーム向けのツールとスムーズに連携できるものはさらに稀でした。Macを体系的に、そして適切に管理することは可能でしたが、それでもネットワーク管理インフラストラクチャの他の部分とは分断されたままになりがちでした。

さらに厄介だったのは、たとえ独自のツールを開発したいと思っても、それが簡単ではなかったという事実です。開発ツールにはかなりの費用がかかりました。Macソフトウェア、特にハードウェアと低レベルでやりとりするソフトウェアの開発は容易ではなく、Mac OS X以前のMacソフトウェアの開発は他に類を見ないものでした。Unix管理者のように必要なものをダウンロード、ビルド、インストールするだけの方法はなく、Windows管理者ほど商用インフラも整っていませんでした。

それがMac OS Xで変わりました。さらに重要なのは、AppleがProject Builder/Interface Builder、Shark、Quartz Composerといった開発ツールを、すべてのOSに無料で提供するという決定をしたことです。私の場合、Mac OSの性質上Macではアクセスできなかったものの、これまで知っていた広大な世界が開かれたと実感しています。開発ツールが付属したことで、購入できるものに制限がなくなりました。SourceForgeなどのサイトから様々なツールのソースコードをダウンロードし、数時間後にはツールを使えるようになりました。

FinkやDarwinPorts(現在はMacPortsとして知られています)といったMac OS Xパッケージマネージャーの登場により、作業はさらに容易になりました。パッケージマネージャーの登場により、オープンソースツールの利用はさらに容易になりました。IT管理者が使用するようなアプリケーションの構築とインストールに必要な様々な要件や要件をパッケージマネージャーが処理してくれるからです。そのため、例えばNagiosをインストールするために、MacPortsをインストールして手動で6つものツールを構築・インストールする代わりに、最初のビルドとインストールは「sudo port install nagios」と入力するだけで完了します。

これが、私がネットワーク管理プラットフォームとしてMac OS Xを気に入っている大きな理由です。確かに、Mac OS Xでできることの90%はLinuxでもできます。しかし、いずれはMacの管理も必要になり、Active Directoryとの統合も必要になります。Linuxベースのツールは後者はできますが、前者は必ずしもうまく機能しません。正直なところ、商用ツールがなければ、LinuxをActive Directoryに接続するのはMac OS Xほど簡単ではありません。

これは私や他のIT管理者にとって便利なだけでなく、Windowsに比べて重要な利点でもあります。Windowsはバージョンに関係なく、基本的なVisual Basic(アプリケーション用)の作業が可能な機能以外には、開発ツールは一切付属していません。Mac OS Xでは、デバイスドライバーから大規模なデータベース駆動型アプリケーションまで、あらゆるものを開発するためのツールがOSに無料で付属しています。OSをインストールし、Xcodeインストーラーを実行するだけで、プロレベルの開発ツールがすぐに使えるようになります。Windowsでは?そうはいきません。

Mac OS XにNagiosをインストールすると言ったことを覚えていますか? 実は、Windowsにインストールするためのドキュメントがほとんどありません。まず、Nagiosに必要なインフラストラクチャの多くがWindowsには用意されていないからです。さらに、Windowsでは何らかのバージョンのgccを入手する必要があります。

したがって、Windows でオープンソース ソフトウェアを使用するには、ビルド済みのバイナリを含むパッケージのみを使用するか、単一の OS セットアップ後のインストーラーで Mac OS X と同じ状態に到達するために、多くの配管アップグレードを実行する必要があります。

しかし、それはほんの一部に過ぎません。Appleが開発者ツールのフル機能版を無償提供することで実現したもう一つの点は、Mac OS Xのユーザー一人ひとりを開発者にするという点です。Appleがこのコンセプトを発明したわけではありませんが、他のどの企業よりもはるかに大規模に実装することに成功しています。注:これは開発者ツールのフル機能版です。「学生向け」や「エクスプレス」といった、単一言語しかサポートしないバージョンはなく、より高価な「スタンダード」「プロ」「チーム」といったバージョンが多数用意されており、ハイエンドでは数千ドルにも達します。別途ダウンロードする必要はなく、インストールメディアに含まれています。また、希望する場合は、Apple Developer Connectionに無料で参加することもできます。

さて、すべてのMacユーザーがすぐにCocoaとObj-Cに飛び込むと考えている人は妄想に陥っています。しかし、すべてのMacユーザーがそうできるという事実は、Macを持つすべてのコンピュータサイエンスの学生が、学んだ知識を活用するために必要なツールをすべて持っていることを意味します。つまり、プログラミングの学習に興味のあるすべてのMacユーザーが、必要なツールをすぐに入手できるということです。これはまさに広範囲にわたる影響を持つ決断と言えるでしょう。必要なのは、開発者ツールで利益を上げることよりも、毎年何百万人もの潜在的な開発者を生み出すことの方が重要かもしれないと誰かが判断することだけでした。

Macユーザーとして、そしてIT管理者として、この方法は効果的だっただけでなく、驚くほど効果的だったと断言できます。インストーラーを実行するだけでXcodeツールとgcc関連ツールをすぐに使えるようになったことで、このプラットフォームで利用できるアプリケーションの数はWindowsのそれをはるかに上回りました。MicrosoftがAppleと同じような決断を下すまでは、Windowsはそうではなかったでしょう。

1990年代、MicrosoftはVisual Basicを低価格にすることで、Windowsに移行し、そこに留まる理由を無数に生み出しました。今世紀に入り、AppleはXcodeを無料にすることで、その例に倣い、より優れた実装を実現しました。それ以来、私をはじめ、あらゆるレベルのMacユーザーがその恩恵を受けています。

[ John C. Welch は、カンザスシティ生命保険の Unix/オープン システム管理者であり、長年の Mac IT 評論家です。 ]