|
著者について オヌール・アルプ・ソナーは、Countlyの共同創業者兼CEOです。2012年にCountlyを設立する以前、オヌールはHuaweiで約4年間の勤務経験を有していました。彼はHuawei(トルコ)の初期従業員の一人であり、Huaweiの次世代インテリジェントネットワークプラットフォームであるNGIN(Next Generation Intelligent Networks)の開発に携わりました。 振り返ってみると、マイクロソフトはオープンソースソフトウェアモデルの開発には一定のリスクが伴うと主張していましたが、それは10年以上前のことであり、それ以来状況は大きく変化しました。今日、プロプライエタリプラットフォームで知られるマイクロソフトは、他の開発者間のコラボレーションを促進するために独自のオープンソースリポジトリを構築し、かつてのLinuxベースのライバル企業であるRed Hatとの提携を発表しました。また、クローズドなMicrosoft Officeプラットフォームにおいて歴史的に独占的立場にあったにもかかわらず、政府機関とのオープン性と相互運用性を追求しています。一方、IBMサプライヤーなどの他のエンタープライズベンダーも、オープンソースを企業戦略に統合することに注力しています。 エンタープライズニーズに特化した高品質なオープンソースソフトウェアの登場により、オープンソースにこれまでつきまとう不安、不確実性、疑念は消え去りました。私たちはまた、jQueryやレスポンシブHTML5ライブラリといったUIフレームワークのユーザビリティとユーザーエクスペリエンスにも注力しています。これらのフレームワークは、モバイル、Web、デスクトップアプリケーションの使いやすさを向上させます。これは、アプリケーションを十分に使いこなせず、すぐに放棄してしまう今日のユーザーにとって非常に重要です。 オープンソースはコストを削減できるだけでなく 今日、企業がオープンソースについて語るとき、「低コスト」はもはや最優先事項ではありません。むしろ、急速に変化する市場において品質がますます重要になる「ビジネスアジリティ」の向上に重点が置かれています。「ビジネスアジリティ」には、柔軟性、透明性、単一ベンダーへの依存度の低減など、多くの特性が含まれます。企業の状況を見てみると、オープンソースソフトウェアの利用は広範に及んでいます。例えば、Linuxオペレーティングシステムは9,000万人以上のユーザーが利用し、LibreOfficeオフィススイートは1億2,000万人のユーザーがダウンロードし、MongoDB(Facebook、eBay、Googleなどの企業を支えるNoSQLデータベース)は1,000万人のユーザーがダウンロードしています。 注目すべきケーススタディによれば、Facebook はオープンソース ソフトウェアを開発し、それをソーシャル ネットワークを構築するためのインフラストラクチャに適用し、さらにそれを自社の独自ソフトウェアに追加して有料サービスを生み出している。 オープンソースの発展を妨げていた問題が解決されました。 もう一つの誤解はドキュメントに関するものです。歴史的に、オープンソースのドキュメントはプレーンテキストまたはHTML形式で、主に静的に記述されてきました。これは、ドキュメント作成の専門知識を持つのはコア開発者だけだったためです。開発者たちは、優れたドキュメントがなければ、ユーザーはプロジェクトを使わず、あるいは楽しんでもいないことを理解するようになりました。満足したユーザーはプロジェクトを他の人に勧めますが、それはプロジェクトの仕組みを理解し、ドキュメントから何かを学べた場合に限られます。幸いなことに、優れたドキュメントジェネレーターや、優れたドキュメントの書き方に関するチュートリアルが登場したことで、開発者はスクリーンショット、関連するコード例、豊富なリンクや参考資料、そして何よりも重要なユーザーからのフィードバックを含む、明確で簡潔なアプリケーションガイドを作成できるようになりました。 オープンソースリソースを活用し、オープンソースコミュニティの一員になる方法 Countlyは、サーバーサイドコンポーネントとコントロールパネルを含むSDKとバックエンド全体をオープンソース化しています。ケーススタディとして、ソリューションの一部としてLinux、MongoDB、Node.jsを採用する前に、私たちのチームが行った評価プロセスを振り返ります。私たちは、あらゆるテクノロジープロジェクトにおいて、テクノロジー、プロセス、そしてプロジェクトのステークホルダーという3つの異なる視点から総合的に評価を行っています。 1. テクノロジー Countlyを初めて設計したとき、私たちの夢はただ一つ、最も広く利用され、人気のあるモバイル分析プラットフォームにすることでした。これは、リアルタイムでオープンソース、そして使いやすいモバイル分析サービスが不足していたことに起因していました。Mixpanelは機能せず、Google Analyticsはモバイルプロジェクトにとって真にユーザーフレンドリーではなく、Flurryはリアルタイムではありませんでした。私たちは、プロジェクトのために強力なコミュニティを構築する必要があることを認識し、ニーズを満たす最適なテクノロジーを探し始めました。PHP、Java、Javascript、さらにはCやC++などのコンパイル言語も試しました。また、MySQL、PostgreSQL、MongoDB、Cassandraなどのデータベースについても徹底的に調査しました。そして、何を構築するにしても、その基盤にはLinuxが必要だと確信していました。 最終的に、NoSQLデータベース(MongoDB)を選択しました。その主な理由は、巨大なコミュニティと、高性能、リアルタイム更新、使いやすさ、メンテナンス性といった機能です。私たち二人ともNoSQLの経験はありませんでしたが、それが相手が契約を断る理由にはなりませんでした。Stack OverflowとQuoraで調査した後、2週間以内に決定しました。NoSQLデータベース、特にMongoDBには否定的なレビューが多くありましたが、成熟したプラットフォームと同社のオープンな開発方針が、私たちに自信を持って使い続ける理由を与えてくれました。 次に、アプリケーション開発レイヤーの選択を行いました。アプリケーションスタックとMongoDBへの接続コネクタの両方がJavaScriptで動作するため、満場一致でJavaScriptが選択されました。また、プラットフォーム全体を可能な限りシンプルにしたいという意図もあったため、JavaScriptは意図的に選択されました。 セキュリティ関連のフレームワークやライブラリが利用可能になったことで、オープンソースアプリケーションが安全であると信じて開発する開発者が増えています。オープンソースソフトウェアを監視する「多くの目」がセキュリティ上の脆弱性を発見できるとは保証できませんが、一般的にオープンソースソフトウェアはハッカーにとって侵入が困難な単一のシステムと考えられています。実際、最近のいくつかのインシデントは、オープンソースソフトウェアが複雑で相互接続された、安全でないカスタムプログラミングシステムであり、オープンソースコンポーネントが使用されている箇所はどこでもハッキングに対して最も脆弱であることを示しています。 2. プロセス 社内コミュニケーションにはJira、社外へのバグ報告にはGitHubを使用しています。オープンソースソフトウェアを使用した経験があれば、GitHubはよくご存知でしょう。このサイトは、開発者にオープンソースプロジェクトを保存・共有するためのリポジトリを提供するだけでなく、世界中の人々が単一のプロジェクトで共同作業を行う手段でもあります。私たちは、リポジトリをフォーク、タグ付け、閲覧するユーザーに注目し、GitHubの問題には24時間以内に対応するよう努めています。GitHub上の一部のエンタープライズソフトウェアとは異なり、Countlyのリポジトリはプルリクエストを歓迎し、ドキュメントの作成、ソフトウェアの開発、新しい翻訳の追加など、Countlyコードの書き方に関する明確なガイダンスを提供しています。 オープンソースソフトウェアの開発方法に関するチュートリアルは数多く存在しますが、開発者は多様な手法を採用しています。JavaScriptを採用して以来、60名を超える開発者がコードベースに貢献しており、その半数はネイティブ言語サポートを追加しています。JavaScriptはCountlyのコード記述における基本的な方法であると認識しており、この柔軟でオープンな環境で活躍できる優秀なJavaScript開発者を今後も募集していきます。 3. プロジェクト参加者 コードを見ているだけでは退屈かもしれません。コードには意味もユーモアもなく、あなたと交流したり、一日がどうだったか尋ねたりもしません。コードはあなたの言うことを聞いてくれませんが、コードの読みやすさを微調整し、質の高いドキュメントを作成することで、あなた自身と元の作者に喜びをもたらすことができます。だからこそ私たちはオープンソースコミュニティを愛しています。ソフトウェアがより楽しくなり、仕事と遊びを融合できるからです。ほとんどのオープンソースコミッターはバージョン管理とパッチ適用の基礎知識を持っているので、健全なエコシステムを管理できるように指導し、育成することは難しくありません。 さらに、私たちは皆様の課題解決に尽力してきました。当初は問題解決に全力を注いでいましたが、オープンソースのモバイル分析プラットフォームの不足という、同じ問題に直面する方が他にもいらっしゃることがわかりました。私たちのプロジェクトがより多くの課題に取り組むにつれて、人々がそれを利用し、その恩恵を受けているのを目の当たりにしています。 そこで重要な質問は、誰のために、具体的にはどの層のユーザーのためにこの問題を解決しているのか、ということです。もし答えが「全員」なら、次の疑問が生じます。全員の要望を受け入れ、開発計画に加える覚悟はあるでしょうか?もしそうなら、どのようなリソースを使うでしょうか?小さな機能の追加でさえ、開発者にとって大きなハードルになることがあります。シンプルな外観の変更でさえ、バックエンドやユーザーインターフェースの完全な再設計につながる可能性があります。私たちの解決策は非常にシンプルです。コードベースに何かを追加する場合は、まずプロトタイプを作成する必要があります。プロトタイプの設計と議論に1週間以上かかる場合、追加しようとしている機能は、必要な機能よりもはるかに複雑である可能性があります。ここで、一歩下がって、本当に必要な機能なのかをじっくり検討する必要があります。ユーザーベースの少なくとも50%に届く場合にのみ、採用します。 結論は ここには、オープンソースプロジェクトへの参加と立ち上げ(ライセンスの選び方を含む)、オープンソースプロジェクトにおけるGitHubの活用方法、オープンソースのビジネスモデルと戦略の基礎知識など、優れた読み物が数多く掲載されています。テクノロジー、方法論、ガバナンス、ライセンス…オープンソースを取り巻くあらゆるものが、過去20年間で劇的に変化しました。Linuxをはじめとする主要なオープンソースプロジェクトは飛躍的に成長しました。ビジネスを始める際に、テクノロジー、プロセス、そしてプロジェクト参加者をビジネスモデルでコントロールできるのであれば、オープンソースは最良の選択肢となるかもしれません。そして、すべてはあなた次第です!
Countlyは、モバイルアプリケーション向けの高度な分析およびマーケティングサービスを提供しています。オープンソースソフトウェアを積極的に活用し、50を超えるオープンソースライブラリ、SDK、フレームワークを活用しています。Countlyはオープンソースのモバイル分析およびマーケティングプラットフォームでもあり、現在6億台以上のデバイスと3,000以上のモバイルアプリケーションにサービスを提供しています。クライアントにはSamsung、Ubisoft、Evernote、SK Telecomなどが名を連ねています。 |