WordCamp Tokyo 2015 まとめ・その2

ちょっと鮮度が落ちてしまったが、「WordCamp Tokyo 2015」の二日目「コントリビューターデイ」のレポートを書いておこうかと。この「コントリビューターデイ」は実際にWordPressに貢献できるワークショップ系のイベントで、東京では初の開催だったとのこと。私ももちろん初参加だった。

「コントリビューターデイ」ではいくつかの班に分かれて、班ごとに課題的なミッションに挑戦するというワークショップになっていた。班は結構多岐にわたっていて、「WordPressのブログ記事を書いてみよう」班とか「WordPress.tvの動画に日本語字幕を入れてみよう」班とか、「Codexの翻訳をしてみよう」班とか色々あって、どれも興味深くて、イベント前のオリエンテーションでどの班に参加しようか悩んでいた。
最終的に「プラグインを作ってみよう」班か「WordPressのコアを修正してみよう」班のどっちにしようか…と迷った末、「WordPressのコアを修正してみよう」班に参加して来ました。
まぁ、プラグインは実際開発して公式リポジトリで公開していることもあって、自分的にはあまり覚える「のりしろ」が少ないかな…というのが判断の決め手になった(はじめはプラグインのユニットテストとかをしてみたいなぁ…とか思っていたんだが、結局コア修正の方でもユニットテストが必要になったので…私自体のナレッジの習得欲求は満たされた次第)。

WordPressのコアを修正する

WordPressはオープンソースなので、世界中で多くの人が有志で開発を行っているわけだが、そのコア開発に携わるためのノウハウを習得しようというのがこのワークショップのテーマだ。WordPress界の偉人である宮内さん直々にその辺の手順を教えてもらえるという、ミーハーな私としては内心そっちも楽しめるという内容だった(笑)

最終的なWordPressのコア修正に関しては、何とかコントリビューターデイの時間内ギリギリにひとつチケットを発行できたので、ある程度はノウハウは習得できたと思っている。個人的な所感としては、WordPressのコア修正というか、オープンソースの開発の実態に触れられたことが得がたい体験だった。

一言でいうと、今まで会社でクライアントありきのSI(システムインテグレート)をしていた私としては、まったくの別世界なシステム開発だなぁ…と云った感じた。
──というのも、今の会社でもGitHubやSlackを使ってスクラム型の開発を行っているんだが、いくらオープン系の開発ツールを使っていても、結局のところオープンな開発ではないんだということがわかった。会社で行う開発に関わって来るメンバーって、つまるところ「見える人たち」、「知っている人たち」というステークホルダー型の人たちで、そういうコミュニティで行われる開発は発言力の大きいステークホルダーによって方向性を固定化され、往々にして開発者たちの自由な発想は押し潰されて行ってしまう…ということが多い…というか大抵そうなる(まぁ、会社によっては違うのだろうが、今の私が勤めている会社は昔から開発者を数さえ揃えれば何とでもなる人員ぐらいにしか評価していないので)。

今回、コントリビューターデイから始まってその後のチケット対応という、オープンソースの開発に初めて触れた一連の流れは、私として得るところが非常に大きかった。デベロッパー・ファーストとでもいうのか、一人の開発者のアイデアをみんなで議論し、検討して…みたいな連帯感や、反対意見があっても自己を押し通せる自由な気風みたいなものがオープンソースコミュニティには感じられて、それが私としてはとても心地良い。
開発していてこういう心地よさを感じたのは、自分でプラグイン作っていて、初めてGitHubで見知らぬ人からPullRequestもらった時以来かもしれない。早く、会社辞めないと…と改めて感じた次第だ(笑)

──閑話休題、肝心のWordPressのコア修正に話を戻そう。
ざっくり要約すると、WordPressのコアを修正する手順は下記のようになるかと。

  1. 現在開発中のWordPressのコアソースを作業用PCにコピーする
  2. WordPressコア開発で発行されているチケットから自分が対応できそうなものを探す。もしくは、WordPressのコアソースから不具合や改善したい機能を探す
  3. 見つけた内容をチケットに起票して、Tracに登録
  4. ソースが直せれば自分でコアソースを修正してパッチファイルを作成して、Tracにアップロード
  5. 必要であればユニットテスト用のパッチファイルを作成して、Tracにアップロード
  6. コアチームの判断によって、チケットがクローズされる

私のチケットはまだ 4. で止まってるので、7.の結果までたどり着いていないが…。
私はまだユニットテストってやったことがなくて、それを今、勉強&実施中なのだ。

「コントリビューターデイ」では、上記 1. ~ 4. までをやっていたら日が暮れてしまった。私は開発モードに入ってしまうと集中し過ぎてあまり周囲を気にしなくなってしまうところがあって、その日もほとんどPCに向かいっぱなしで、何かあっという間に一日が終わってしまった感じだったのだが…まぁ、それだけ楽しかったということでもある。

──と、ここで「コントリビューターデイ」の私的まとめは終わりなのだが、実際のWordPressコア修正の手順をWindowsPCユーザー向けにコンバートした記事も書いておこうかと思う。
世の中的にWordPressに限らず、Webアプリケーションの開発ってMacでやっている人が多くて、ネットで見る開発者向けの記事も圧倒的にMacユーザー向けが多い。私もMacは持っているのだが、そっちはサブマシンにしていて、もっぱら開発などはすべてWindowsマシンで行っている。そのため、Mac向けの開発手順についてはWindows向けにコンバートしながら実施している形だ。まぁ、開発環境やミドルウェアが準備できてしまえば、ソースのコーディング以降はプラットフォーム依存はほぼ発生しないので、Mac向けに準備された最終構成にまで到達してしまえば問題が出ることはまれである。

──そんなわけで、今回は二本立てで、Windows PCユーザー向け WordPressコア修正環境の構築手順に続くのであります。

Leave a Reply

Your email address will not be published.