この記事の要点
- 2015 年 12 月 3 日、Swift がオープンソースとして公開され、同時に Swift.org の Web サイトと、この Swift.org Blog が立ち上がりました。これは Swift の歴史において、オープンなコミュニティで開発を進める体制への転換点となる出来事でした。
- このオープンソース化に合わせて、Swift コンパイラ・標準ライブラリ・LLDB に加えて、新たに Swift Package Manager と Core Libraries(Foundation・libdispatch・XCTest のオープンソース版)という 2 つのプロジェクトが公開されました。
- この Blog は、Swift を開発するエンジニアが告知を行ったり、重要なコミュニティの話題を取り上げたりする場として位置づけられました。
何が発表されたのか
Swift プロジェクトがオープンソースとして公開され、オープンなコミュニティの中で問題の発見・修正、機能の拡張、新しいプラットフォームへの対応を進めていく体制が始まりました。これを伝える場として Swift.org の Web サイトと、この最初の Blog 記事が公開されました。
Swift は単一のプロダクトではなく、ソフトウェアを作るためのエコシステムを構成する複数のプロジェクトから成り立っています。
- Swift コンパイラ: Swift の構文を解釈し、正しいコードを書くための診断を出力し、LLVM を使って機械語の命令を生成します。
- LLDB: 対話的にプログラミングできる REPL を備えた、第一級のデバッガです。
- Swift 標準ライブラリ: Swift でソフトウェアを書くために必要な、コアとなる型と基本的な機能を提供します。
これらに加えて、オープンソース化と同時に新しく 2 つのプロジェクトが公開されました。
Swift Package Manager
Swift Package Manager は、Swift のコードをビルドして共有するための、強力で使いやすいツールを目指す当時新しいプロジェクトです。コンパイル済みのバイナリライブラリではなく、ソースコードの共有を得意とすることに重点が置かれていました。公開時点ではまだ開発の初期段階にあり、Swift のオープンで協調的なプロセスに沿って設計・開発を進めていくとされました。
Core Libraries
Swift Core Libraries は、Swift 標準ライブラリの上に位置する、より高水準な API 群です。ローカライゼーション、ネットワークの基本機能、ユニットテスト、ユーザー設定などの機能を提供します。これらは Apple プラットフォームに含まれる Foundation・libdispatch・XCTest をベースにしており、同じ Swift コードを複数のプラットフォームで一貫した機能とともに使えるようにすることを意図しています。
Swift.org Web サイトの位置づけ
Swift.org の Web サイトは、Swift プロジェクトの拠点として、コミュニティに参加するために必要なリソースへのリンクをまとめる場です。最初の記事では、特に押さえておくべき入り口として次のようなリンクが紹介されました。
- GitHub 上の Apple のリポジトリ群(Swift のソースコードを公開)
- コミュニティでのやり取りの場となるメーリングリスト
- 開発環境のセットアップを助ける Getting Started のページ
- 対応プラットフォーム向けのビルド済みバイナリを置く Download ページ
- 新しい機能の提案方法を説明する Swift Evolution のプロセス
今後の位置づけ
この記事は Swift.org Blog の最初の投稿であり、オープンソース化という出発点を告げるものです。ここで紹介された Swift Package Manager や Core Libraries、Swift Evolution のプロセスは、その後の Swift の発展を支える基盤となりました。当時はまだ多くが初期段階でしたが、オープンなコミュニティで開発を進めるという方針は現在まで続いており、この記事はその始まりを伝える歴史的な記録として読めます。