こんにちは。アプリケーションエンジニアの id:ikesyoです。
先日2018年3月1日〜3日の日程で開催された try! Swift Tokyo 2018 ですが、その3日目に行われたOpen Source Swift Workshopの講師を担当してきたので、その様子をお伝えしたいと思います。
try! Swiftとは
try! Swiftカンファレンスは、一昨年2016年の3月に東京で初めて開催された、Swiftに関するコミュニティ主催の国際カンファレンスです。その第1回では、はてなからも2名がスピーカーとして登壇しました(私もその1人です)。
現在ではアメリカのニューヨークや、インドのバンガロールでもtry! Swiftカンファレンスが開催されています。
3年目を迎える今年は、3日目がピアラボ(もくもく会)とワークショップの開催日となり、そのうちの1つとしてOpen Source Swiftのワークショップが行われる運びとなりました。その講師として今回お声掛けをいただき、担当させていただきました。
Open Source Swift Workshop
このワークショップでは@din0srさんと私の二名が講師となり、まずSwiftのオープンソースプロジェクトの概要や、少し前にメーリングリストから移行されたforums.swift.org、バグトラッカーのbugs.swift.orgなどについて簡単に説明しました。
またワークショップの事前準備として、
- forums.swift.orgのアカウント作成
- bugs.swift.orgのアカウント作成
- Swiftコンパイラーを一度ビルドしておく
の3点を挙げていました。特にコンパイラーの初期ビルドには2時間前後は掛かってしまい、これをワークショップ中にしようとすると大半の時間が掛かってしまうため、事前のビルドをお願いしていました。
さて、ワークショップの中で実際にどんなタスクに取り組んでいくかは参加者各自に委ねる形でしたが、その取っ掛かりとして幾つかのポイントを紹介しました。
- bugs.swift.orgから
StarterBug
というラベルが付いたチケットを探す - forums.swift.orgで行われている議論をチェックしたり参加する
- ソースコードから
TODO
やFIXME
コメントが付いた箇所を見ていく - swift-corelibs-foundationで未実装やテストが不十分なものに取り組む
そこからは個人個人、もしくは同じテーブルの数人でグループを作って思い思いのタスクに取り組んでいってもらい、質問や困ったことがあれば気軽に講師に声を掛けてもらうといった感じでした。
ワークショップ中にはbugs.swift.orgのActivity Streamに多くの参加者が出てきて活況を呈していました。
Open Sourcererやっていくぞ 💪 @giginet@nonchalant0303#tryswiftconfpic.twitter.com/651FTas5Lz
— nafu (@nafu003) 2018年3月3日
C++で開発されているコンパイラーの部分に取り組むのは簡単ではないですが、Swiftで書かれた標準ライブラリーや、swift-corelibs-foundationなどのコアライブラリーは比較的取っ付きやすいのではないかと思います。それらのSwiftのコードであればちょっとしたリファクタリングやドキュメントの間違いを直す、といったこともしやすいのではないでしょうか。
コンパイラーの方ではSwift.orgのサイト上に簡単なコンパイラーアーキテクチャの説明があり、どういう分野に分かれているのかと、そのソースがあるフォルダへのリンクもあるので参考にしてみてください。
ワークショップの成果
ワークショップの開催時間は9:00〜13:00の4時間でしたが、その時間内にプルリクエストを出すことができたチームがあり(!)、会場提供のLINE社からClovaがプレゼントされるサプライズもありました。
ワークショップ終了後のもくもく会の時間も含めて、確認できた範囲でその日だけでも以下のプルリクエストとバグチケットが作成されました。
- https://github.com/apple/swift-package-manager/pull/1514
- https://github.com/apple/swift-package-manager/pull/1516
- https://github.com/apple/swift-package-manager/pull/1517
- https://github.com/apple/swift/pull/14950
- https://github.com/apple/swift/pull/14954
- https://github.com/apple/swift/pull/14952
- https://github.com/apple/swift/pull/14955
- https://github.com/apple/swift/pull/14959
- https://bugs.swift.org/browse/SR-7112
この1日で、Open Source SwiftやSwiftコンパイラーに興味を持つ人、取り組もうとする人を増やせたり、そのハードルを下げることに少しでも貢献できたのではないかと思います。私もSwiftコミッターの1人として、今後も日本からのSwiftへの貢献を増やしていきたいですね!💪
あわせて読みたい
- 当日の写真
- ワークショップ参加者のブログ
- try! Swiftでの過去の関連発表
- Swiftコミッターの@rintaroさんの記事
- ワークショップ参加者の@omochimetaruさんの記事