2012/04/06

[和訳] GitHub and the Democratization of Programming

先日Forbesに掲載されたGitHub and the Democratization of Programmingを柄にもなく訳してみました。面白い内容だったので広く読まれないのはもったいないなというこれまた柄にもない動機でございます。

誤訳やイケてない訳があったらドンドンとしかし優しくご指摘しろください。自信ない箇所には括弧書きで原文を記載しています。英語が得意なおまいらよろしく頼む(・ω・`)

Octocat

-------------------------以下翻訳-------------------------

ここ数カ月、「この記事は(ビジネス誌である)Forbesには相応しくない記事だ」といったようなコメントをいくつかいただきました。私は残念ながらそれらのコメントはテクノロジーの世界とビジネスの世界の隔絶が進んでいることを反映しているように思えました。2つの世界は密接に関わるようになってきてはいますが、しかし同時にビジネスの人々はテクノロジーについていけなくなっています。結果、技術革新を直感的に感じる力が弱まり、ビジネスの世界でのみ生きてきた人々がテクノロジーの進歩がもたらすチャンスに気付けない頻度が増えてきました。

そこで私はテクノロジーの舞台裏を主題とし、なぜそれがビジネスの世界に関係するかという理由をまとめた記事を書くことに決めました。まずはGitHubの創設者のひとりであり、CEOであるChris Wanstrathへのインタビューです。クリスと私は、私がThe Rise of Developeronomicsを書き上げたあとも繰り返しメールをやりとりしました。そして私はこの興味深い会話をインタビュー形式にまとめることにしました。

もしあなたが典型的なビジネス志向のForbes読者であり、普段テクノロジーの舞台裏関連のニュースを読み飛ばしているのならGitHubのことをご存知ないかもしれませんね。GitHubとは、Linuxで有名なLinus Torvaldsや、場合によっては彼よりも技術的に貢献したとみなされる多くの技術者によって開発されたGitというソースコード管理システムを核に構築されたプログラミングコードの共有コミュニティです。

ソースコード管理システムはソフトウェアのコードを管理するうえでも特に難解な部分です。ではなぜビジネスの、特にメインストリームにいる人々がそのようなものを気にかけないといけないのでしょうか。

その理由はは、ソフトウェア文化というものは、このようなビジネス人からは見えないツールから発展していくものだからです。そしてソフトウェアが次第に日々の生活の重要な部分を担うようになるに従い、プログラマであるかどうかに関わらず、全ての人が、どのようにソフトウェアの世界が構成されているかを理解する必要がでてきているからです。残念ながらプログラミングコードというものは工場のラインや鉄道操車場、高炉などとは異なり抽象的なものであるために、特に理解するのが困難です。例えばおもちゃのロボットには機械や電子の技術よりもはるかに多くの時間と労力がプログラミングに費やされていますが、エンジニアでない人々はそのことを認識していません。プログラミングコードは現在の技術の実に10分の9を占めているのです。

クリスとの会話から私が得た最も重要なメッセージは「プログラミングはすべての人々のものになっている。(programming is being democratized.)」ということです。この数ヶ月の間に多くの人がこのことに言及しています。例えばLifeHackerのTop 10 Essential DIY Skills That Aren’t as Hard as You Thinkです。しかしクリスからのメッセージはより興味深いものになっています。なぜなら彼はGitHubの中の人として、プロ・アマ関係なくすべてのプログラマの活動を見てきているのです。それでは彼からのメッセージを見ていきましょう。

 

 

Q: Sourceforge(古いプログラマのコミュニティ)はCVSやSubversionのような一世代前のバージョン管理コントロールシステムを核に成長しました。GitHubはGitを核に成長しました。この2つのコミュニティのバージョン管理の設計思想の違いがそのコミュニティに属する人々に影響を与えた可能性はありますか?

 

A:もちろんあります。CVSやSVN(Subversionのこと)は単一型のバージョン管理システムでユーザは中央のサーバなしには何もできません。ユーザがソースを読んだり変更を加えたりする場合、必ずサーバが必要になります。ユーザが他のユーザのソースにパッチを当てるためにもサーバが必要になります。

Gitは違います。Gitは分散型のバージョン管理システムであり、このことはユーザがサーバを必要としないということを意味します。つまりユーザは必要なすべてのものを自分のローカルマシンに持つことができるのです。ユーザは飛行機の中ででもソースに変更を加えることができます。ユーザはWi-Fiを使って喫茶店からでも他のユーザにパッチを送ることができます。サーバはあくまで補助的な役割を担うにすぎません。誰もがGitを使ってソースコードをシェアすることができるのです。

そしてソースをシェアすること、他者と協業することが、まさにGitHubの真髄なのです。大きなプロジェクトを立ち上げたり、よそいきの体裁を整えたりすることではありません。あなたのソースコードを見ず知らずの他人や友人、仲間に手渡すことこそが真髄なのです。

Gitを使えば従来のやり方(CSVやSVN)に比べ簡単に素早くプロジェクトを立ち上げることができます。GitHubは設定ファイルや軽量のプロトタイプから有名なオープンソースプロジェクトまで幅広くホストしています。その範囲たるや信じられないほどです。

 

 

Q: GitHubがプログラマにとってただのソースを保管する場所ではなく、仕事を探す場所になってますが、プログラマを雇用するマネージャはLinkedInやoDesk、その他様々な求人サイトとGitHubとの違いをどのように捉えるべきでしょうか。

 

A: GitHubは人々が何に取り組んできたのかを見る優れた方法です。ユーザがいままで何に取り組んできたのかを主張する場ではありませんが、ユーザが貢献してきたプロジェクトを見ることができます。様々な意味で、ポートフォリオや履歴書のようなものといえます。

ポートフォリオや履歴書のように、GitHubは候補者を評価するのに最も効果的に機能します。あなたが誰かに興味をもったなら、もしくは雇用しようと考えているのであれば、GitHubのプロフィールをチェックしてみるべきです。彼がこれまで何に取り組んできたか、彼が誰をFollowしているか、彼が何に興味をもっているかを確認してみましょう。

もしあなたがJavascriptプログラマを求めているのであれば、GitHubは候補者がどのようなJavascriptプロジェクトに興味をもっているか、または取り組んでいるのかを確認する素晴らしい方法です。

 

 

Q: 開発者の不足が原因で興味深い動きが見てとれます。昔はハッカソンの伝統のように(原文:the hackathon tradition)いわゆる”アイデアマン”が自身のアイデアをプログラマやデザイナに投げていたのに最近ではプログラマやデザイナが非技術系の人に色々と"インタビュー"される側にまわっています。この力関係の変動は一時的なものでしょうか?それともしばらく続くのでしょうか?

 

A: 今後プラグラマでない多くの人がプログラミングを学習するようになるでしょう。作家、法律家、銀行員といったプロプログラマでない人々もプログラミングを学習するのです。彼らは繰り返し行う定型作業を自動化し、独自のアプリケーションを構築するようになります。

”アイデアマン”は自身の力でそのアイデアを形にするようになります。彼らはスライドを使ってデモをするのではなくプロトタイプを構築するようになるのです。

この動きはすでに一部に見られます。しかしソフトウェアの重要性が増すにつれ、プログラミングはますます主流となっていくでしょう。

 

 

Q: 平均的なプログラマに比べ優秀なプログラマは10倍の生産性があるという話はよく聞きます。この10倍効果に起因する現象や明らかな傾向がGitHubの世界(原文:social organization)で見てとれますか?

 

A: 私は10倍理論には懐疑的です。私は多作だった恐ろしい(原文:horrible バグが多いということ?)プログラマを知っています。一方で仕事は遅かったが徹底的であった偉大なプログラマを知っています。

私の経験では、好奇心旺盛で情熱的なすべての人々は皆、優れたプログラマであるといえます。彼らは自身の成果物を気にかけ、より優れたものにしたいと考えます。彼らは常に自分自身と自分の成果物を改善する方法を探します。初心者からエキスパートに成長する方法はただひとつ、常に学習し続けることです。

 

 

Q: ここまでの話で上がったCVS、SVNの他にも、Microsoft社のTeam Foundation Server(プロジェクト管理ツールの一種)や商用アプリの世界といった代替となるコードの世界があります。Microsoft社のTeam Foundation Server(プロジェクト管理ツールの一種)を用いてソース管理する人たちの世界、企業向けアプリケーションのライフサイクルの人たちの世界といった具合に世の中には大きく2種類のプログラミングコードに携わる世界があります(注:何が言いたいのかよくわかりませんでした)注1)。これらの世界とGitHubの世界との関わり合いとはどのようなものなのでしょう?

 

A: 私たちは世の中のソフトウェア開発に携わる人々の活動をよりよいものにしようとしています。あなたが数十年前のワークフローで作業する巨大企業の従業員であれ、夜や週末にプロトタイプを作るアイデアマンであれ、我々はGitHubによってあなたの作業負荷を軽減したいと考えています。

私たちはより多くの人にGitHubを広めるためにGitHubEnterprise(https://enterprise.github.com)を作成しました。ですのであなたがFirewallの向こう側に隔離されている人であろうとWebにフルアクセスできる環境にいる人であるとに関わらず、ぜひともGitHubを仕事のお役にたてていただければと考えています。

別の言い方をすれば、我々はただ1つの世界を目指しています。その世界とは人々が素晴らしいソフトウェアを構築することができる世界です。

 

 

Q: もしプログラミングがより身近になるとして、それはプログラミングがより簡単になることでもたらされるでしょうか、それとも教育の中のプログラミングの位置づけがかわることによってもたらされるのでしょうか? 医師や弁護士の本来業務が軽くなるという側面をもつのでしょうか?それともいまの業務にプログラミングを習得するという業務を加え、よりハードに働かねばならなくなるのでしょうか?

 

A: プログラミング学習を開始するためのハードルは間違いなく低くなっています。教育の変化はその一部です。Codecademyのようなサイトはよりプログラミングを身近にし、より学習を楽しいものにしています。学習を開始するためにユーザ登録する必要さえありません。

生活の中でソフトウェアと関わる度合いが増えていることも学習を容易にすることの一端を担っています。Webページを作ることに興味のない人もiPhoneアプリなら作りたいと思うかもしれません。ソフトウェアとの関わり合いが増え、エキサイティングな体験をする機会が増えるにつれ、それがどのように動いているのかを理解したいという欲求が高まるのです。

 

 

Q: ソフトウェアエンジニアリングの世界と教育の世界で現在起きている変化は今後の20年を予測するヒントたりえるのでしょうか?実際に医師がアプリケーションをGitHub上、もしくは他の場所で作成したことはあるのでしょうか?もしくはそこまでいかずともその徴候は見て取れるのでしょうか?

 

A: 近い将来にプログラミングを最大限に活用するであろう職業は、コンピュータの前で多くの時間を費やしている職業です。現在プログラマが自身の仕事を簡単になるよう毎日働いているように(原文: - things programmers do every day to make their lives easier)、ライター、カスタマーサポートのほか教師などもこれに当たります。これらの人々はブラウザをカスタマイズしたり、小さなアプリケーションを作成することで自らの仕事を効率化しています。

例えばMerlin Mannは彼が使うソフトウェアをカスタマイズするためにGitHubを活用している優れたライターです。(https://github.com/merlinmann)

ゲームも重要です。World of Warcraftのアドオン(拡張機能)を書く人たちの巨大なコミュニティが存在し、多くの人たちがゲームをより良いものにするためにプログラミングを学びました。Minecraftというゲームも同様です。

 

 

Q: Marc Andreessenがソフトウェアが世界を食べているという大胆な発言をしました。あなたはソフトウェアエンジニアリングが他の職業を食べているとお考えですか?YESの場合それは何を意味するのでしょうか。NOの場合、あなたであれば他の職業に起きている変化をどのように表現するのでしょうか。

 

 

A: 彼の言っている変化が職業に起きているのか人々に起きているの か、正直言ってわかりません。職業が人々と同程度に変化していくかどうかはわかりません。(原文:I’m not sure it’s about professions changing as much as people)注2)

タイプライターを使用しているライターには一日中Wordの前で仕事をしているライターが感じるようなプログラミングを学びたいという誘惑を感じることはないでしょう。

FacebookやAppStoreが消費者向けサービスとして成功していることは、人々がソフトウェアを人生の重要な一部として成長していくことを意味します。彼らはより多くのソフトウェアを使いたいと思いFacebookやAppStoreを自身の職場に持ち込むでしょうし、何人かの人はそれらを改良したり新たに作りたいと思うでしょう。

 

 

Q: すべてのデータは増加傾向にあるそうです。BigDataはAPIを通して分析され可視化されます。GitHub上の人々やプロジェクトにそのエビデンスは見て取れますか?

 

A: 確かにそうですね。最近でてきた可視化プロジェクトには本当に驚かされます。

私のお気に入りをいくつか挙げましょう。

http://jondot.github.com/graphene/
http://gabrielflor.it/water
http://square.github.com/tesseract/
http://square.github.com/cube/
http://hummingbirdstats.com/
http://www.fudgie.org/
http://www.michaelogawa.com/code_swarm/

それらの多くはd3(http://mbostock.github.com/d3/)によって提供されています。

d3のようなプロジェクトは、あなたが自分のツールを使って自分で行うよりも、簡単に美しくデータを可視化してくれます。

 

 

Q: 近い将来、特により多くのセンサがオンライン接続され人間以外のデータがインターネットに溢れた時に、データとコードはどのように関係しあっていくとお考えですか。

 

A: 近い将来のことを語るのは難しいですが、現在起こっている最もエキサイティングなことのひとつは、ソフトウェアがどのようにして私たちの物理的な世界に進出してくるかです。

Fitbit(http://www.fitbit.com/)について見てみましょう。、クールで小さなデバイスを使って、あなたの生活を記録しあなたの友人にあなたと同じデータを見せることができます。さらに素晴らしいことに、FitbitはAPIを公開しています。あなたは自分のデータを抽出し、それを分析するためのプログラムを書き、パターンを見つけ、将来のカロリー消費量を予測することができますし、あるいはGoogleMapやd3を使ってあなた独自の可視化ツールを作成できます。

あなたが1年に渡ってしてきた肉体的な活動を可視化できるなんて信じられないことです。そしてそれはもう始まっているのです。10年後?私は待ちきれませんよ。

 

 

もしあなたがテクノロジーの舞台裏に関わっている誰かをこのインタビューのように紹介したいのであれば、ぜひ私にメールしてください。広報担当者や共同作業者でない、無関係の技術者からのサードパーティの紹介は優先的に対応させていただきます。

-------------------------以上-------------------------

(注1)2012/04/07 @drakontiaにご指摘いただき修正しました。

(注2)2012/11/01 Masataro Asai さんよりコメント欄にてご指摘いただき修正しました。

 

 

最後に

最初は原文に忠実になるよう訳していたのですが、カチカチな表現になるのと不自然な日本語になるのとやってて面白くないのとで、途中から方向転換し、忠実性よりも日本語として意味が通るようにということを重視して訳してみました。

しかしQuestionに対してAnswerがどうもちぐはぐに感じられる質問もいくつかあって、とんでもない誤訳をしている可能性もなきにしもあらずです。

以下のエントリにも書いたように最近英文を読む機会は増えてますが、英文和訳なんて大学の一般教養以来だししょうがないですな(゚д゚)!

文句ある?(゚д゚)!

 

英語・・意外と読めます。きっかけはHBFav。

 

海外ブログ読むとシリコンあるだけあって良質な記事が多く、英語堪能な方がどんどんどんどん和訳していただけるといいなー思ってやみません。FacebookのTipsばかり書いてる人とか。NZの人とか。

冒頭にも書きましたが、誤訳・よりよい訳ございましたらどんどんおまいらご指摘しろください。

よろしくお願い致します。

 

 

Comments

Anonymous 2012/04/19 00:43
すごく素敵な記事だと思います。
翻訳ありがとうございます。

amazed koumei 2012/04/28 05:10
素敵な記事ですよね。
理想なり哲学なりがあって世の中を変えようとする意志の感じられるProductにとても魅力を感じる昨今です。

翻訳、かなり時間かかりましたのでコメントいただき嬉しいです。
ありがとうございます。

Masataro Asai 2012/11/01 10:57
NOの場合、あなたであれば他の職業に起きている変化をどのように表現するのでしょうか。

A: 職業が人々と同程度に変化していくかどうかはわかりません。(原文:I’m
not sure it’s about professions changing as much as people)

タイプライターを使用しているライターには一日中Wordの前で仕事をしている
ライターが感じるようなプログラミングを学びたいという誘惑を感じることは
ないでしょう。

================================================================

のところ、「彼の言っている変化が職業に起きているのか人々に起きているの
か、正直言ってわかりません」って解釈したのですがどうでしょう。"Im not
sure (his statement) is about professions changing as much as people
(changing)"

タイプライターを使用しているライターは、べつにコードを書きたいとは思わない。
しかし日がな一日Wordの前で仕事をしているライター、彼らは書きたがる。

仕事が変わったわけじゃなくて、人々の育ち方が変わっただけ。生活の中でソ
フトウェアに囲まれるようになったから、自然にソフトウェアを仕事に持ち込
んで自分でいじるようになったというわけだ。

・・・と考えると意味が通じる気がします。

Masataro Asai 2012/11/01 10:59
タイプライターはハードウェア、Wordはソフトウェアだから。

amazed koumei 2012/11/01 20:42
ご指摘ありがとうございます。エントリの方にご指摘反映させていただきました。

"Im not
sure (his statement) is about professions changing as much as people
(changing)" ←このご指摘分かりやすかったです。it がhis statementを指していてchanging が省略されていると。

そういえば訳が分からなかったら代名詞を置き換えて省略されている言葉を見つけるのだ、と昔々その昔学校で教えてもらったような・・w

ありがとうございます。