Friday, November 15, 2013

もうひとつの知られざるオープンソース 〜 ウェブ企業のOSS戦略

「オープンソースソフトウェア(OSS)」と聞いて、あなたがイメージするものはなんですか? 多くの人は Linux や Apache、Firefox といった成功した大規模なソフトウェア製品を思い浮かべることでしょう。

実は、ウェブ上でサービスを提供する会社のエンジニアたちは、これらとは別の種類のOSSを使って仕事をしています。このブログエントリでは、そのようなOSSを紹介し、それらがなぜ開発され使われているかを説明したいと思います。


■ウェブ企業におけるOSS開発の実例と合理性

下の図は、Perl で記述される大規模ウェブアプリケーションの一般的な構成を示しています注1。このうち、「自社ロジック」と書かれているところ以外は、全てオープンソースとして開発/公開されているモジュール(ソフトウェア部品)です。各社のエンジニアが密接に協力しながら、ミドルウェアをオープンソースとして整備していることがわかるかと思います注2


このような部品開発における会社を超えた協力体制は、Perl以外のプログラミング言語を使っているウェブ企業でも良く見られるものです。

いったいなぜ、そのような協力がなされるのでしょうか。

「そのようなエンジニア文化だから」というのもひとつの答えかと思います。ですが、彼らが業務の一環として開発したミドルウェアをオープンソースとして公開している以上、文化を裏打ちする経済的合理性を考えないわけにはいきません。

ウェブ業界は、主にコンテンツをユーザーに配信する企業群として成長してきました。これらの企業におけるコアコンピタンスとは、コンテンツ(あるいはコンテンツを提供してくれるユーザー)です。このため、ソフトウェア自身を金の卵だと考えるソフトウェア業と異なり、ウェブ業界では、ソフトウェアはコンテンツを配信するための手段だという位置づけをされることが多々あります。そして、ソフトウェアが売上をあげるための手段である以上、その開発/運用コストを削減することが重要になります注3

種々多様なコンテンツにあわせて迅速にソフトウェアインフラを整備し安価に運用するためには、カスタム開発を最小限に抑える必要があります。また、社外への発注や人材の流動、ビジネス規模の変化を考慮した場合、ソフトウェアスタック全体を内製し社内で維持改善を続けるよりも、業界全体のデファクトスタンダードとなる実装が自社の都合にあった形で存在することが望ましいと言うことができます。

図で示したソフトウェア構成は、この経済的な要求が反映された結果なのです。

たとえば、Furlを見てみましょう。2010年に開発が開始されたFurlは、LINEに勤務するエンジニアがメンテナンス権をもっている高速かつカスタマイズが容易なHTTPクライアントであり、サーバの必要台数がコストに響くような大規模サービスで好んで使われています。一方で、その開発には、当初からDeNAに所属するエンジニアが参加しており、同社の影響も大きいものがあります。その顕著な例が、DeNAの要件にあわせて追加された、DNSリゾルバの置換機能です。

一般的な使用形態において必要ない機能というのは、第三者が、たとえ必要なコードを書いて追加をお願いしたとしても、なかなか受け入れてもらえるものではありません。それは、機能の追加をいったん受け入れてしまうと、以後その機能をメンテナンスしていく責務が主開発者の肩にかかるからです。にもかかわらず、Furlに同機能が追加されたのは、両社のエンジニアが継続的に共同作業を行っており(Furlが、DeNAのエンジニアがメンテナンスしているHTTPパーサライブラリを使っていることを含みます)既に信頼関係が構築されていたという事情を勘案する必要があるでしょう。

このように、継続的にオープンソースのミドルウェア開発に参加することでコストを分担しつつ、自社にとって便利なものにしていく、という営みが実際に行われているのです。


■OSS共同開発のリスク評価

では、経済的な合理性はあったとして、部品を共同開発することによるリスクはないのでしょうか。よくある質問は「ある会社の社員が、ライバル社に害をなすような機能を組み込んだりしないのですか」というものです。ウェブ企業のエンジニアたちによるオープンソース開発では、この点についても抑止力が働く構造になっています。

本稿で例に挙げたOSSはいずれも、誰がどの機能を書いたか、コミットログを追うことで全て把握できるようになっています。そして、エンジニアのコミュニティにおけるコードの品質に対する最初の評価基準は、どの会社のエンジニアが書いたか、ではなく、誰が書いたか、という点です注4

この条件下において、悪意のあるコードをOSSに埋め込むことは、エンジニアにとってキャリアの終わりを意味します。そのような行為に手を染めたエンジニアは、以後就職先を見つけることはできないでしょう。終身雇用が期待できる業種なら、それでも悪行を働くインセンティブがあるかもしれませんが、ウェブ業界は転職を前提としたキャリアプランを立てざるをえないところです。このように、職業倫理のみならず経済的側面からも、共同開発によるリスクは抑えられていると言うことができます。実際には、コードが多くの目にさらされることによる品質向上効果の方が大きいと考えるべきでしょう。


■まとめ

以上、述べてきたように、ウェブ企業におけるオープンソース開発は、サポート収益を期待するソフトウェア企業のオープンソース注5とは大きく異なる原理に基づいて活発な開発が行われている分野です。コンシューマには見えない小粒なソフトウェアが多いがゆえに見落とされがちな分野ですが、オープンソースソフトウェアに関する議論や検討を行う際には、これらの活動とその背景についても理解しておくことが望ましいかと思います。

注1: 主要なモジュールと本稿に登場するものを中心に抜粋して図示しています。実際には、他にも多くの人が開発した様々なOSSモジュールが使用されています
注2: 会社の枠を超えた恊働の実態とOSSを使うに際してコミッターの所属を気にする必要がないということを説明するためにあえて社名を出しているだけなので、その点、ご理解とご配慮をいただけると幸いです
注3: 主目的がサポート収益の最大化ではなくコードの共有によるコストの削減であるため、ウェブ企業が公開するOSSについては緩やかなOSSライセンスが選択される傾向にあります(Perlモジュールの場合はPerl License(Artistic LicenseとGPLのデュアルライセンス)が通常)
注4: 品質の高い貢献が従来から多い人のコードは信頼される一方、新規参入者のコードは注意深く検査されるという意味です
注5: ソフトウェア企業の(OSSを含む)競争戦略については、やや古いですが「ソフトウエア企業の競争戦略」(マイケル・A.クスマノ)が良書だと思います

24 comments:


  1. The blog or and best that is extremely useful to keep I can share the ideas
    of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much.
    tanki online | 2048 game | tanki online game

    ReplyDelete
  2. Do you want to learn from these resources on the go from your smartphone? download files Run your app on your iPad, iPhone or iPod touch using AppToolz's runtime menu.

    ReplyDelete
  3. Staramy si rwnie rozwija aplikacj i dodawa nowe funkcje. Try this! So you can, for example, keep the stations your children listen to separated from the stations you listen to.

    ReplyDelete
  4. New popular categories and new words in current professions soon. downlodable freeware You can use "Save the City" button for shortcut of your city.

    ReplyDelete
  5. You can workout at home, in a hotel room or just about anywhere with bodyweight exercises. downlodable keygens This is an entertainment application and we DO NOT recommend attempting any of these positions.

    ReplyDelete
  6. : Prospective troopers, this game is HARD, you had been warned. http://map-of-moscow.ru # Amazing body painting artwork by the award winning Body Painter, Einat Dan included!

    ReplyDelete
  7. Save money, meet new people and help save the environment. uborka-kvartir-krasnodar.ru I love the NYT, and this application makes access simple and informative.

    ReplyDelete
  8. It's a neat app, and it does what it says it'll do in a way that's easily accessible and uncluttered. download activation codes From Iceberg Reader: Seth and Samona Joanne Hyppolite Yearling July 1 2009

    ReplyDelete
  9. FeaturesWin up to 4000 Credits on a single hand by winning a large jackpot or doubling up your winnings. gooddownloadfiles.me Minor bug fixes and updates to app content, including the addition of Dorchester Collections latest acquisition, Hotel Eden, Rome.

    ReplyDelete
  10. This application has been designed to meet the needs of those engaged in:-tank carriage;-other carriage. downloadingstarted.me From O&'Reilly Media: By Jon Mountjoy, Avinash Chugh.

    ReplyDelete
  11. Quick start with default event types, views and icons. downloadfreematerialsplease.me Added a Read To Me feature with full voice over for each page that can be turned on or off.

    ReplyDelete
  12. Easy words are three letter words, Mediums are 4 letters, and Hard words are 5 letters in length. http://getwhatyouneed.gdn There are lots of hilarious sounds for you and your child to play with.

    ReplyDelete
  13. Photos can be shared with any Android application that has image capacity. this site. Very helpful comments from other users on your exercises.

    ReplyDelete
  14. You can conveniently modify the strategy according to your own needs, like edit the strike price, change the contract number, etc. downlodable files This versatile and dynamic directory is easy to maintain and keep current.

    ReplyDelete
  15. If You Want Watch IPL Live Stream Then Visit www.crickspo.com, it also provide IPL Live ScoreCheck IPL Updates, IPL News, Ball By Ball Score, Men of the atch, men of the series, who won the toss today etc.

    ReplyDelete
  16. Excellent write-up. I just now became aware of your site in addition to needed to claim I always include definitely relished examining your site threads. By any means we will be checking on your give in addition to let’s hope people write-up all over again before long. At this point simply click here
    Pervez Joarder Massive appreciate it with the practical facts.

    ReplyDelete
  17. مؤسسة مكافحة حشرات بالجبيل ظهور الحشرات فى البيت من الموضوعات التى تشعرك بالاشمئزاز وتشعرك بالقرف والشعور بالكثير من التغيرات فلا داعى للقلق وعليك ان تقوم بالتنفيذ لما يلى :-

    مؤسسة مكافحة حشرات بالجبيل القضاء على بقايا المأكولات والتخلص من فتافيت الأغذية والتخلص من الأواني المتسخة فهذه من أكثر العوامل التى تسبب فى ظل الحشرات فى البيت .شركة مكافحة حشرات
    شركة مكافحة النمل الابيض بجازان
    شركة مكافحة حشرات بجازان
    شركة رش مبيدات بجازان

    ReplyDelete
  18. Sports big news provide is a all type sports contents. In This portal is a sports all type content, For ex. Cricket, cwc19, UEFA, football, Copa America 2019 etc.

    Cricket
    Cricket World Cup 2019
    Live Streaming
    World Cup 2019 Final
    IPL 2020 Live Streaming
    Copa America 2019 Venues
    Tennis
    Copa America 2019
    Cricket World Cup Live
    Football

    ReplyDelete

Note: Only a member of this blog may post a comment.