このページの本文へ

前へ 1 2 次へ

Apple Geeks ― 第167回

Appleとオープンソースのこれから

2015年09月04日 11時00分更新

文● 海上忍(@u_shinobu)、編集●ハイサイ比嘉/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 本連載「Apple Geeks」は、Apple製ハードウェア/ソフトウェア、またこれらの中核をなすOS X/iOSに関する解説を、余すことなくお贈りする連載です(連載目次はこちら)。

 UNIX使い向けを始め、Apple関連テクノロジー情報を知りつくしたいユーザーに役立つ情報を提供します。

Appleとオープンソースの「切っても切れない関係」

 Appleは「OS X」というシステムを余念なく改良・進化させてきた。コア部分を旧来のものからMachカーネル/BSD UNIXに一新するという大手術にとどまらず、Jaguar(v10.2)のときスーパーサービスを「xinetd」に変更、その後Tiger(v10.4)で独自開発の「launchd」に置き換えるなど、パフォーマンスに大きく作用しないUNIXとしての基礎部分にも躊躇なくメスを入れてきた。

OS Xには、initの代わりに「launchd」が採用されている。アクティビティモニタでlaunchdの詳細情報を調べれば、PID(プロセスID)が必ず「1」だとわかる

 改良はシステムのコア部分だけではない。LPRに代わる印刷システム「CUPS」(Common Unix Printing System)を開発者ごと取り込む、現在はOS Xに含まれないがX11サーバ/クライアント「XQuartz」の開発を支援するなど、オープンソースを活用しつつ成果として取り込むことで“OS XのUNIXとしての側面”を磨いてきた歴史がある。

CUPSにはWebインターフェイスも用意されている。初期値では無効なため、ターミナルで「cupsctl WebInterface=yes」を実行後に「http://localhost:631」へアクセスすること

 これらの取り組みによる恩恵は、OS Xのみならず他のOSにも及ぶ。launchdはFreeBSDに移植され(システムの構造が大きく変わるためメインストリームに採用されてはいない)、CUPSはLinuxなど多くのLinuxディストリビューションにデフォルトの印刷システムとして採用されている。企業買収という形で取り入れたCUPSはともかくとして、Appleが提唱したZeroConf技術(OS Xでは「Bonjour」)に基づく実装がLinuxやFreeBSDで「Avahi」として利用されていることは、Appleによるオープンソースプロジェクトへの貢献と言っていいだろう。

 貢献といえば、最近では「Swift」が記憶に新しい。Objective-Cの後継となる言語として統合開発環境のXcodeに搭載、型宣言やメソッド定義が比較的穏やかなスクリプト言語に近いその仕様は大いに注目を集め、OS X/iOSのみならずLinux向けにリリースする計画で開発者コミュニティを沸かせた。本稿執筆時点ではプロプライエタリだが、近い将来OSI(Open Source Initiative)の認証を受けたオープンソースソフトウェアとして公開される予定だ。

 iOSもオープンソースを活用している。ブラウザエンジン「WebKit」などOS Xと共有の技術はもちろん、医療研究用フレームワーク「ResearchKit」のようにiOSが先行しているプロジェクトもある。すべてが白日の下にさらされ謎の仕様が発生しにくく、それ自体はロイヤリティーフリーのため強い伝播力を持つオープンソースは、Apple発の技術をスピーディーに普及させるための格好の道具といえる。

前へ 1 2 次へ

この連載の記事

ASCII.jp RSS2.0 配信中