Swiftのオープンソース化とイノベーション
どうも、トシアキです。
12月18日、イルミネーションがキラキラときらめき、カップルたちが幸せそうに行き交う街、銀座にて
apple 銀座店主催のイベントがあると聞き、行ってきました。
極度の方向音痴と都会の人ごみが苦手ということもあり、銀座を一人さまよい、何人もの人にぶつかりながら、ようやくアップルストアにたどりつきました。
今回のイベントでは「Swiftのオープンソース化とイノベーション」と題し、GitHubの共同創業者であるScott Chacon氏がオープンソースの未来について語ってくれています。
## GitHubのイノベーション
GitHubは2008年に創業し、現在7年目の企業です。
開発の現場においてもっとも使われているサービスの一つであり、ソースを管理し、共同開発を円滑に手助けしてくれるものです。
同社は、エンタープライズ向けのサービスも展開しており、今ではMicrosoft、Facebook、IBM、Appleなど名だたる大手企業も参加してます。
エンジニアに「GitHubって何?」っと聞いて知らない人がいないほどの存在です。
そのGitHubはどうしてここまでエンジニアに愛され、広く使われるようになってきたのでしょうか。
GitHubとオープンソース
scott氏はオープンソースを愛し、その力を信じていると語っています。
オープンソースとは簡単に言うと、ソースコードを一般に公開し、誰もが自由にソースコードを編集できるようにすることを指します。
現在、GitHub上でもっとも人気のあるオープンソースのプロジェクトはtwitter社が開発を進めているBootstrapであり、web開発の現場ではデザインの定番として使われています。
また、マイクロソフトは.NETのプロジェクトをGitHub上に公開しています。
驚くべきことに.NETのプロジェクトは公開から数ヶ月ソースコードに対する貢献度が社内が48.4%なのに対し、社外が51.6%となり、社外のデベロッパーの貢献度の方が上回ってしまいました。
これは、いかにオープンソースがイネベーションを加速させるかを表しています。
アップルがSwiftをオープンソース化
アップルは、自社のイベントWWDCにおいて、年内にSwiftをオープンソース化すると発表していたが、具体的な動きは見られず、デベロッパーの間でもその公開時期について噂になっていた。
そんな中、2015年12月3日(日本時間で12月4日)に突然オープンソース化を発表しました。
しかも、GitHubで!!
今までアップルは自社の独自システム上でソースコードを配布するなどの取り組みは行ってきてはいたものの、オープンソースに対しては消極的でした。
それが、GitHub上でソースを公開したとあって、一躍話題となりました。
現在、500以上ものプルリクエストを受け付け、そのうち350ものプルリクエストがマージされています。
これは、アップルが外部のデベロッパのことを受け入れ、共にSwiftを作っていく意志があることを表しています。
アップルの本気
さらに注目すべきは、swift-evolutionというプロジェクトです。
このプロジェクトでは、Swift 3.0(現在は2.0)におけるSwiftの成長戦略が公開されています。
今まで、開発の工程を秘密にしてきていたアップルがその主要プロジェクトであうるSwiftの成長戦略を公開し、かつデベロッパに議論に参加することを促しています。
アップルの開発責任者であるChris Lattner氏は、Twitter上で、
“Making Small improvements is the way everyone starts getting involved”
とツイートし、どんな小さな改善でも受け入れる姿勢を示し、同社が本気でオープンソースに取り組む姿勢を表現しています。
オープンソースと未来
アップルの参画に象徴されるように、オープンソースの取り組みの流れはまだまだ加速を続けるとおもいます。
そして、そのオープンソースにGitHubが欠かせないのは言うまでもないでしょう。
Scott氏はイベントの最後に
“`
私は、GitHubの使い方を教えるのがとても得意で、大好きです。
もし困っていることがあれば言ってください。
誰もがオープンソースの活動に参加し、世界のイノベーションに少しでも貢献してくれることを願っています。
どんな小さな改善でも構いません、タイポやテキストの修正でも結構です。
その小さな一歩が世界を変えていく力になることを信じてください。
“`
と語りました。
今後の同社の取り組みに目が離せません。
github : schacon
mail : scott@github.com
twitter : @chacon