is Neet

ネトゲしながら暮したい

ruby world conference 2016 2日目のSocial Codingに関する話のメモ

昨日に引き続きコレも本当にめも。
でもMSがどういう経緯でOSS活動を始めるに至ったか、最近のイケてるMS感がどうやって出てきたのかという話がされていて面白かった。
ソーシャルコーディングについての話もワクワクさせられたし、良いセッションだった。

githubの歴史とこれから

  • あるプロダクトを作ろうとした人々(別々の会社にいた)がソーシャルコーディングする術がなかったから作った
  • 創業2008年, 1500万+ユーザ, 3800rep, 600従業員, 1000大学
  • email, subversion,などの方法でかつてはOSSは存在していた
  • コミュニティーの運用も大変だった
  • 今日ではgithubでそれが一本化された。同じワークフローにすることができた
  • 世界中のダレでもOSSに参加できるようにする
  • コミュニティーをその周辺に作るかが重要である
  • 企業がOSS登録することもしはじめた. 企業にとっても大きな成功になった

edward thomsonさんの話

  • 6年MSで働いていた
  • MSの前はteampriseで働いていた。エンタープライズ用の製品を作っていた
  • 従業員は8名、devが4人
  • 4人だと全ての開発をすることが不可能だった
  • 色んなライブラリやOSSを活用することにした. それによって製品は成功し2009年にMSに買収された
  • 買収されると、まずは一番最初にデューデリが入る
  • 次に、ソフトウェアの監査がされる。MSに全て送ってクオリティのチェックがされる
  • teampriseの製品がOSSをかなり使っていた事に、MSは本当に驚いていた
  • 2009年MSはOSSが悪だと語っていた。GPLに合意しない
  • Linux is a Cancerだと語っている steve ballmer
  • MSからは修正してくれと言われたが私達は反対した
  • MSの買収から、製品を売らないという判断になった。OSSを懸念するあまり
  • 当時にMSは本当にOSSへの理解が足りなかった
  • 悪意のあるコードがインストールされるのではないかと思っていたが、実際にはOSSのコードはコードレビューをしっかりうけている
  • コードの品質は寧ろOSSの方が高い
  • MSに買収された後も、OSSを活用した製品作りや顧客へOSSを届けたい思いがあった
  • 顧問弁護士としっかり会話をした、OSSGPLの説明、どうやって説得しようかと考えていた。事実をしっかり伝えればいいと思った
  • 相談した結果弁護士から、考えるネタは沢山あるがアイデアはいいね、と言ってもらえた
  • 相談した弁護士が実は余暇を利用してコードを書いていた。githubも使っていた
  • その後は役員、steve ballmerの説得にいった。難しかったがDeveloperの事を愛している人ではあった
  • 彼はいつも興奮していて情熱を持っている人だった。Developerにとってのエコシステムの構築はMSにとってもいいという判断を最終的にはしてくれた
  • 製品マネージャーやPOや顧問弁護士があつまって、OSSを使うだけではなく最終的にはMSからもOSSの発信をしていこうとなった
  • それから色んな製品をOSS化していくようになった
  • ubuntuとかともコントリビュートを始めるようになった
  • 今はコントリビューターの人数の方がMS社員より多くなった
  • そしてそれだけではなく2016年、Inner Sourceについて検討が始まった
  • Inner Source = 企業内のOSS活動のこと
  • それまでは会社の中でそれぞれのチームが分かれていた、Windows, Visual Studio, Officeはそれぞれ分断されていた
  • 例えばVSのcompileに問題があったとしても、問題がなかったversionに戻して黙って使い続けているような状況だった
  • 問題があったからといって報告してくれるケースは稀で、だいたい黙って使い続けていた
  • それぞれの組織が銃を持ち合い牽制しあっているような組織だという比喩もある
  • Visual Studioチームの中ですら、牽制しあっている状況に実際あった
  • 他チームからの依頼で修正したりもしてたけど、ソーシャルコーディングしていると他チームも一緒に検討修正していけるようになった
  • 今では全てのコードがgitで管理されていてソーシャルコーディングできるようになってきた
  • Officeチーム、今ではiOSAndroidの開発もしている。その上でVSをいじる必要があったら、今ではOfficeチームが修正してpr出して終わりになった

ソーシャルコーディングのこれから

  • software is eating the world
  • 世界中のあらゆるものに影響を与えている
  • Uber, AirBnb、ソフトウェアをベースにしタクシーやホテル業界を大きく変えている
  • Netflixはフィジカルなビデオショップを全て潰してしまった、アメリカにはもうない
  • 日本でも食べログ、一休、cookpadがいろんなものを大きく変えている
  • 自動運転、世界中のどこにもソフトウェアが存在している
  • 全ての会社がソフトウェアの会社になってきている。ソフトウェアが世界を変えている
  • ソフトウェアの成長が会社の成長でもある
  • ソフトウェアの部門というのは会社にとっての必須の部署になっていく
  • Hadoopはいい例
  • ソーシャルコーディングが出る前は、MSような形で閉じられた形でやられていた
  • ソーシャルコーディングが始まってからは、色んな言語や会社が参加しコミュニティーとなり、発展していたった
  • ウォールマートやトラクターを作っている会社までが、何百というDeveloperを抱えている
  • NIKKEIも今ではソフトウェアの会社であると言える

日本経済新聞について

  • 電子版の開発をしている人の話
  • 280万部発行している
  • 2010/3月に創刊, 月3億PV, 毎日900本の記事を配信
  • mediaの価値というと、コンテンツにフォーカスされがちだけど、デジタルにおいてはソフトウェアそのものが価値だと言える
  • ユーザが接しているフロントは、各媒体に合わせてPDCAを回してブラッシュアップしていく必要がある
  • 外注の発注のコストが高すぎた。ボタンの追加一つとっても2週間使っていたりした
  • 5年前に2人で内製化をはじめた
  • 現在はコードが書けるDeveloperが10数人になっている
  • 電子版アプリは内製化によって1.9倍、評価も4くらいまであがった

質問: 他チームのコードをいじる時に、前提とする知識の共有をどうしたか

  • そもそも許可を得ることはしなくなった
  • OSSでもそうだが、まずコードを触ってみて質問をしていく
  • VSも本当に巨大で全てはダレも分からない
  • OSSのフローと基本的には同じだと思っている

質問: 重要度の判定はチームによるとおもうがどうControlしたか. 優先順位

  • お客さんからの要望に基いてバックログを整理する
  • お客さんのインプットベースで優先度を並べる
  • アジャイルなりスクラムなりのワークフローの中でやるのがよいのではないか