なみかわみさきの日記

2018年ころまでの日記。

PHPカンファレンス関西・基調講演(ざっくり抄録)

2011年(平成23年)4月2日に開催された、PHPカンファレンス関西の感想もだいぶ出そろってきています。(当日の雰囲気〜まとめ記事は、Twitterハッシュタグ #phpkansai で追うことができます。)今の自分にいちばんキャッチーであり、かつ、この日この講演を聞けなった方にも知っていただきたいと思い、@takagi (id:takagimasahiro)さんの基調講演の抄録を作成しました。(ご本人も、今回ターゲットとして初学者さんやこのようなイベントに初めて来られた方を意識して話したということだったので、書き起こしたいと思いました。)

なお、この抄録は、私(”なみかわ”)が録音したデータから起こしたものに、注釈や補足などをほぼ”なみかわ”の独断で付け加えてあります。*1ですので、げんみつに「高木さんがそうおっしゃった」ことではない部分もあります。

基調講演:PHPとのつきあいかた:はじめに

高木正弘です。PHPの日本語ドキュメント翻訳に携わっています。今日はおもに3つのことについて話そうと思います。

ひとつめは、私の紹介、どうして今ここに立っているのかという経緯。
ふたつめは、PHPをよりよいものにしていくために、どうつきあっていけばいいかといった提案。
みっつめは、この(PHPカンファレンス関西という)イベントを通して、周囲の方とコネクションを持ったり、あるいは今日体験したことをあなたの周囲に発信してほしい、といったことです。

ひとつめ:どうしてこうなった

今日ここにいるみなさんも、(PHPのイベントですから、)多かれ少なかれ仕事あるいは趣味でPHPにふれていると思います。ところで、PHPが「初めて覚えたプログラミング言語」だという方はどのくらいいらっしゃるでしょうか?−−(ざっと見たところ、200人あまりいる聴衆のうち、ほとんど挙手がない。ほとんどいないという印象)−−私も(PHPが初めてではなく)、仕事でVBjavaを扱っていました。プログラミングの基本はすでに知っていたので、PHPにもすんなりと入っていけました。これが2003年頃です。

その後2005年頃でしょうか、とある案件で、あるPHPのライブラリを使うということになりました。初めてのPHPの案件でしたが、やり始めたのはいいものの、なかなか思い通りに動かない。
おかしいなと思って日本語のマニュアルを参考にしてもいまひとつぱっとしない。もしかして、と思い立って、原典というか、英語のマニュアルを開いてみると、なんと日本語と全然違うことが書いてあって驚きました。それは、日本語訳が間違っているという方ではなく、英語版のマニュアルは新機能追加やらで「更新」されていても日本語がそれに追いついていない、という方だったのです。古い翻訳を参考にしていてもプログラムが動くわけない。−−しばらくは、日本語訳をあまりあてにせず、英語のマニュアルを参照していました。

しかし、なんだかもやもやしてきて−−もしも、同じようにうまくいかなくて悩んでいる人がいたとして、こういうことに気づかないうちにあきらめてしまう人(ひいてはPHPから離れていく人)がいるのではないだろうか、と思ったのです。そうであれば、自分が少し直してみればいいのではないか、と思ったのが、翻訳に関わり始めたきっかけといえます。

日本語訳を現在のバージョンにあわせたものにして、メーリングリストに投稿(言及)したところから5年あまり、現在ではマニュアル全体に関わっていたり、原文となる英語マニュアルの誤字にも気づいて連絡するようになったりと−−大部分に関わることとなりました。強調しておきたいのは、別段何か特別、突出したことをしているわけではない、ということです。

それでも、そういうことを(5年ほど)続けていると……こんなところに呼び出されて、(基調講演なんてのを)喋らされる……怖いですねぇ(一同爆笑)。*2

みなさんも私に似た立場や環境でお仕事をされていると思います。−−つまり、みなさんにも、PHPに関わっていける機会があるということです。

ふたつめ:PHPとのつきあいかた〜よりよいものにするためにできること

PHP。−−この言語は決して、どこかの会社が莫大な資金を投入するような「製品」(プロプライエタリ的に)ではありません。オープンソースソフトウェアのひとつです。*3ほんとうに様々の立場の方が、気軽に関わっていくことで成長した言語です。−−みんなが、気軽に、わいわいいって。

なので身構えて使う必要もありません。PHPを趣味でも仕事でも、その場で少し調べて動かしてみて、期待通りの動作ができて、はいおしまい、でも、「PHPを(OSSを)」使うという目的は果たしてもらっているから、それはそれで嬉しいです。けれども−−もうちょっとみんなPHPとつきあってくれたらと思います。

でも実際にどうやればいいのか? その「具体的なつきあいかた」がわからない、見えない方もいるでしょう。
PHPそのもののソースコードをがりがり書いて、新しい機能を追加したり、バグをつぶしたりして−−というものならば、たしかに「関わっている」というわかりやすい例かもしれません。想像しやすい。すごくかっこいいことにも見える。
でも、そこまでできる技術レベルにある人なんて、日本では(世界でも)わずか一握り。そういう方向に考えてしまうと、自分では無理だ、とあきらめてしまう。そうではなくて。
PHPを使ってプログラミングをした時に、感じたことを、誰かに話したり、Twitterでつぶやいたり、ブログに書いたりする。そういうことです。

(私は翻訳で関わっているので)翻訳の分野での例を挙げてみます。
翻訳の分野でも、ある程度の分量の英文を、きっちり、それなりに翻訳することにはそれなりのスキル、能力が必要です。

PHPのドキュメントの場合。
PHPのドキュメントは、決して完璧なものではありません。
「ひとつめ」でお話したように、私(たち)が(有志で・少しずつ)行っていますから、絶対にどこかに「間違い」があります。−−漢字の変換ミスから、文脈がうまくつながっていない、といった。*4

実際私も、何度か、いや何度も、誤字やら変換ミスやらをしてしまいました。でもそのほとんどは、みなさんからの指摘で気づいて直しているのです。−−つまり、誰かから「ここの漢字が間違ってるよ」というアクションがない限り、そのままになるところだったのです。
みなさんがマニュアルを読んでいる時に、ああここ間違ってるね、と自分だけで思うだけじゃなくて、それを「外へ」発信してほしいのです。それだけでいいんです。そんなに「すごい」ことをしなくとも。

そうやって「外に」出してもらえると、「誰か」の目にはとまるでしょう。*5
PHPのマニュアルをよくさわっている人(や、そこに近い立場の人)のところまでその発信が届く、または届く可能性が高まるのです。
そして、ちょっとした誤字や誤変換などが−−さっと修正される。−−もしかしたら、最初に誤字を発見した人だけが何も発信せずにずっとそう思っているだけでは、何も変わらないままかもしれません。
マニュアルの誤字だけでなく、PHP自体でも−−たった今は特に不満がないとしても、いつか何か、要望でも不満でも、「感じたこと」を、自分の中にとどめておくのではなく、外に出しておくということをやってもらうだけでいいのです。

PHP自体、OSS自体についての話に戻っていきますが、)PHPは(PHPも)ひとりふたりといった少数のスーパープログラマーがけん引(牽引)しているわけではなくて、ごく普通に、仕事として自然に使っている、趣味でちょっと興味があって使っているみなさんの力によって大きくなっているのです。
そういう、誰かに話したり、伝えること、それがPHPを育てていくための大きな力になりますし、良い「つきあいかた」といえるでしょう。

#そしてそれを繰り返していると、みなさんもいつかこの辺(壇上)に呼び出されるでしょうね。いや、緊張しいなんで!(一同爆笑)

みっつめ:隣の人に「話す」

今日のPHPカンファレンス関西。『「クラウド」「ソーシャルアプリ」「スマートフォン」時代のPHP』というテーマ、午前はあと1つ、午後からも3つほどセミナーがあり、LT・懇親会まで入れるとたいへん長丁場となります。*6
あまり緊張し続けないで、適度に(肩の)力を抜きつつ楽しんで参加したほうがいいと思います。
セミナー内容1つ1つにも、お目当てのものがあったり、たった今は興味のない分野もあるでしょう。どのセミナー中でも、ちょっとよくわからない単語や用語、キーワードがあれば、ほんのちょっと気にしてほしいと思います。いつか、役に立つかもしれません。

そしてもうひとつ。
みなさん、会場を見渡してみてください。−−朝早くから(200人近く)、すごい人です。満員に近いです。
でも、おそらくここにいる200人、すべてと知り合いだ、という方はいらっしゃるでしょうか?−−さすがにいない。ほとんどの方が、今日初めてここで出会っていると思います。
できれば、今日のカンファレンスの、休み時間なんかに−−まずはお隣に座っている人から、そして周囲の人たちに話しかけてほしいのです。
PHPというテーマで集まっているのですから)すごくいいお話ができるかもしれないし、仕事に役立つものが得られるかもしれません。

さらに、もうひとつ−−。

さきのオープニング(開会挨拶)でも、実行委員長の新原さんがおっしゃっていましたが−−、今日、この場に直接集まることができなかった方がたくさんいます。
申し込もうとしたけど、予定があわなかった人。
満員になってしまった人。
(今日だと、震災の影響で、ここへ来るのを断念した人もいます。)
PHPはばりばり使っているけれども、そもそも、こういうイベントがあること自体を知らない人。
そういう、ここにいない人たちにも、どんどん今日感じたことを話して、伝えてあげてほしい。
これも気構える必要はありません。ほんの一言、今日帰宅してから家の人にだとか、あるいは週明け、月曜日にでも出社したとき、隣にいる同僚に、「今日PHPカンファレンスっていうイベントに行ってきた」、とかでよいのです。こういうイベントに行ってきた、こういう話があった、こういう人と(初めて)出会ってお話した、といった。
いまここにいる我々の間だけではなく、来られなかった人にも「楽しさ」を伝える。その小さな力が、また少しずつPHPをよりよいものにしていく。

補足

……というところまでが、今日、用意していたネタのすべてなのですが……おそろしいことに気づいてしまいました……。
まだ、(発表時間があと)15分あります……(苦笑・一同笑)……ということで、何か質問はありますか?

翻訳の日常

(聴衆から「翻訳の日常について教えてください」という声)

−−翻訳の日常(ですね)。私は仕事(ビジネスで・平日昼間に)翻訳をやっているわけではなく、本当にちょっとした空き時間、仕事を終えて家に帰ってからとか朝(出勤前)とかにつらつらと、というスタイルを(ずっと)続けています。
具体的には、朝起きて職場に出かける前の1時間くらいに、ちょこちょこっと作業して、出勤する前にさっとコミットする。
(どよめきと笑い)
なぜそんな朝型生活になったかというと、日本でのこの時間帯(午前五時半頃)というのは、ヨーロッパあたりの方々が活動する時間帯なんですね。頻繁にコミットが入ったり、レスポンスが早くなる。それにあわせていこうとすると、(どうしても)朝型になっていきます。
そして翻訳作業にどのくらいの時間を費やしているか、というのは、(これも意外かもしれませんが)1週間分を合計すると1日か2日くらい、1日だと1時間〜2時間ですね。あまり本腰を入れてやりすぎると疲れてしまいますし。

自分の翻訳が広まることで思うこと

ところでPHPのマニュアル、日本語のマニュアルって(自分では批評しづらいので)解りにくい箇所はないでしょうか?
この5年で、それまでの翻訳はもちろん自分が関わっていませんから、自分とは違う日本語の使い方をされていました(文法的にも、内容的にも)現在はほぼ私が書いています。それがみなさんにとって読みやすいのかどうか、気になるのです。−−できればいろんな人の目がほしいな、とはずっと思っています。
これまでお話ししてきたことと同様、ほんとうにちょっとしたことでいいんです。
たとえば句読点の打ち方が悪いとか、読みにくいとか。そういうところでも大歓迎です。何か気づいたら、ぜひ教えてください。(TwitterのアカウントやPHPDocのMLなどの紹介)

PHP以外には?

(聴衆より質問、PHP以外の翻訳活動について教えてほしい)

最近は。*7そうですね−−PHP以外だと、開発者向けのテストとかそのへんのからみのこと*8をやっていました。これは、表だって翻訳として公開しているのではなく、たんに仲間うちで読書会とか勉強会とか、そういう方向でやっているものです。

まとめ

すごい人と呼ばれるような、スキルのある人でなくても、やれることはいっぱいある。ちょっとした間違いでもつっこんで(指摘して)あげたりとか、こういうふうに使ってうまくいった、いかなかったということを公開してほしい。

自分の中で意見や疑問を持っているだけでは、あまり状況は(すぐに)変わらない。PHP(はじめ、OSSを)よりよくしていこうとしたら、それを自分の中で終わらせるだけではなくて、誰かに伝える。方法は何でもいい。それがPHP(やOSS)の改善につながります。

今日ここにいる人どうし、あるいはここにいらっしゃらないみなさんにも−−ひとりひとりがちょっとずつ、自分にできることをしていけば、きっとみなさんがしあわせになれるのかな、と思います。


それでは時間が早いかもしれませんが(5分ほど残っていたので、会場・和やかに笑いがこぼれる)、ということで私の話はここで終わらせていただきます。ありがとうございました。(盛大な拍手)

補足メモ

このあたりは”なみかわ”が追記してます。

OSSのドキュメントについて
  • OSSのドキュメントは、オンラインで閲覧でき、更新も頻繁に行うことが可能です。
    • 自分自身でいじるためには、それなりに事前にユーザー登録なり、ドキュメントが保存されているサーバの「バージョン管理システム」の使い方を知らなければならないですが、今回の講演のように「ここがおかしいかも?」と言うくらいなら、そこまでの知識は必要ありません。(もちろん将来的にはあったほうがいいし、その知識をまた次代の初学者に伝えていってほしいです。)
  • 一般的な出版物の場合、わずかな誤字脱字でも、次の版を待たなければ修正されることはありません(お詫びの訂正文を書いた小さな紙がはさまっている、ということもよくあります)
    • そして出版物は、絶版になると、それ以上更新されることはありません。誤字脱字も一生そのままということになります。
    • 高木さんが書かれた『「ドキュメント翻訳」によるOSSへの貢献 PHPの場合』( http://jibun.atmarkit.co.jp/ljibun01/cs/201009/03/01.html )もぜひ読んでみてください。
「隣の人」とは
おすすめの本
  • もしもまだ読んだことがない、ということであれば、この時点では「きのこ本」こと『プログラマが知るべき97のこと』(邦訳版)をおすすめします。(高木さんの名前もちょっとだけ出てくるし、)もくじ( http://www.oreilly.co.jp/books/9784873114798/ )を見てぐっとくるところも多いですよ。
  • 脚注でも紹介していますが、『オープンソースソフトウェアの育て方』( http://producingoss.com/ja/ )はウェブでも単行本でも読めます。
高木さんへお礼

最初はテープ起こししたものをライブっぽく書くつもりでしたが、気がついたら自分なりに書き足してしまいました。すみません。でもほんとうにありがとうございました!

*1:その時点で抄録じゃないだろ、というつっこみはあえてうける。高木さんご本人には一応事前に読んでもらっています。

*2:これ以前にも何度か登壇履歴があります。いくつかは、高木さんのはてダで。

*3:オープンソースソフトウェアの育て方もご参考ください

*4:2009年度日本OSS奨励賞受賞時のコメントも参照ください。

*5:”なみかわ”はこのくだり、「誰かの目にとまる」を、共感してもらえれば、Twitterであれば、RT(リツイート)やfav(お気に入り)に入るかもしれないし、ソーシャルブックマークに入るかもしれない。それらがオンライン上、あるいは技術者間でつながって、というのを含んでいると解釈してます。

*6:実際開会から懇親会まで10時間近くいた方も……

*7:ここ最近でも「開発者向けの某ウェブサイトの日本語訳」などに携わっているが

*8:xUnit Test Patterns読書会,http://d.hatena.ne.jp/takagimasahiro/20090331/1238509503