web-dev-qa-db-ja.com

開発者としてオープンソースでお金を稼ぐ?

私は現在学生(応用情報技術)であり、ほとんどのプログラミングはC#とJavaで行っています。どうすれば開発者として、オープンソースでお金を稼ぐことができるのかと思っていました。サポートを提供したりサービスを提供したりする話があることは知っていますが、私はシステム管理者ではないので、システム管理者の仕事は好きではありません。実際、私は将来、いくつかのCおよびC++を手に入れて、低レベルの開発をしたいと思っています。

だから私の実際の質問は:オープンソースソフトウェアの開発で稼ぐお金はありますか?

編集:自分のオープンソースプロジェクトを開始することは必須ではないことを指摘するだけです。

109
Haproli

この回答は、いくつかの追加の調査と意見とともに、以下の質問に対する回答の多くを要約しています。

あらすじ

オープンソース は、特定のプロジェクト作業を通じて直接的に、またはスキル、経験、および評判の獲得を通じて間接的に、実行可能な主要または補助的なビジネスモデルになることができます。追加の動機もあります。他人に役立つソフトウェアを作成することの満足度、「個人的なかゆみの掻き傷」(オープンソースソフトウェアの優れた部分への最初のステップ Eric S. Raymondによると )、または- 哲学的理由 、通常 フリーソフトウェアcopyleftRichard Stallman が提唱するアプローチ、またはそれ以上の概念に基づいています BSDライセンス の寛容なアプローチ。

オープンソースを通じてお金を稼ぐ方法

1.企業による後援

これはいくつかの方法で発生する可能性があります。

  • 知名度の高いプロジェクトで作業を継続するための恒久的な仕事。これはおそらく最もまれなケースです。 Linus TorvaldsGuido van Rossum または Theo de Raadt のような主要なオープンソースプロジェクトのシニアメンバーである場合は、 Google[〜#〜] ibm [〜#〜] などの大手企業から財政的な支援を受けながら、プロジェクトに取り組み続けることができるでしょう。このサポートモードは比較的一般的ではありませんが、この種類の資金を確保するために必ずしも オープンソースのスーパースター である必要はありません。多くのLinuxカーネル開発者は 部分的または完全に資金提供されていますRed Hat のような企業から資金提供を受けています。
  • 特定の機能または拡張機能に対して支払われます。一部の企業は バウンティ を提供して、ビジネスに使用するオープンソースソフトウェアに特定の機能を実装します機能。多くの場合、機能をクローズドソースのままにする必要がないため、重要なコードがコミュニティに提供されます。これは、オープンソース開発の beekeeperモデル として説明されています。場合によっては、追加機能をプロプライエタリのままにする必要がありますが、オープンソースコードベースに基づいています。どちらの場合も、オープンソースの専門知識は、開発者にとって明らかに有利です。
  • あなたの日々の仕事のコードはオープンソースにすることができます。関連するケースは、あなたが日々の過程で会社のために書いたコードの側面です。一日の仕事は会社に害を与えることなくオープンソースであるかもしれません。コードは、既存のFOSSプロジェクトに基づく場合とそうでない場合があります。 一般的に有用なツールとライブラリ はこの方法でリリースされることが多く、事例証拠は このようなプロジェクトはしばしば加速する可能性があります ボランティア主導になると示唆しています。

2.既存のプロジェクトに付加価値を与える

個人または企業は、既存のオープンソースプロジェクトに価値を付加する主要プロバイダーとしての地位を確立できます。既存のプロジェクトをパッケージ化、階層化、結合、または拡張することによってサービスを提供する企業の例はたくさんあります。それらは大きく2つのカテゴリに分類されます。

  • Support。Enthought 科学ライブラリに焦点を当てたカスタム Python 分布をパッケージ化することで価値を追加します。 Redhatとその他の Linuxディストリビューション は、多くの異なるオープンソースプロジェクトを照合してテストし、使いやすい インストールとアップグレード メカニズムを提供することで、付加価値を付けています。これらの企業は、多くのプロプライエタリプロバイダーと同じ方法でサポートサービスを販売しています。
  • フリーミアム モデル。このモデルでは、ソフトウェアまたはサービスの基本バージョンは無料です。追加の「プレミアム」機能は通常、追加料金がかかります。 SleepycatソフトウェアBerkeley DB に追加機能を提供します。 Cedega は、LinuxでのWindows APIの再実装を提供します。これは、無料のコードと独自のコードの混合としてリリースされています。このモデルはオープンソースである必要はありません。 組織向けGmail は、無料(ビールなど)とプレミアムオプションの両方を提供するサービスの一例です。

3.デュアルライセンスモデルでコードを提供する

強力なアプローチは、ソフトウェアを 2つの代替ライセンス の下で提供することです。ソフトウェアが配布された場合、変更をコミュニティにリリースする必要があるコピーレフトライセンス、およびオープンライセンスなしでソフトウェアを使用できる商用ライセンスです。ソースの制限。このアプローチは、 QtOpen Office などの大規模なプロジェクト、および 小規模な1回限りのプロジェクト にも適用されています。

4.相談する

オープンソースの仕事は、貴重なコミュニティの可視性を得る方法を提供することができます。

  • 能力の紹介。開発者が関わってきたオープンソースプロジェクトを見て、開発者の仕事と能力を検証できることは、 強力なドローです)将来の雇用主のために
  • 評判の構築。オープンソースコミュニティで知名度の高い評判を持つことは、 スピーキングエンゲージメント 、トレーニングリクエスト、または本の執筆オファーにつながる可能性がありますあなたの専門知識に基づいて。
  • エキスパートであること。企業が必要とするテクノロジーの重要なプレーヤーであることは、そのテクノロジーのカスタムコンサルティング、サポート、トレーニングが求められていることを意味します。これにより、専門分野で特定の job niche が作成される可能性があります。

5.補助チャネル

最後に、収入は advertising (- Stackoverflow と同じ)、 donations などの補助チャネルを通じて、または ナグウェアテクニック ユーザーを煩わしくして著者に金銭的貢献を提供することを目的としたソフトウェア自体。これらの手法は、オープンソース開発モデルに固有のものではありません。たとえば、フリーでない シェアウェア 製品でよく使用されます。

105
ire_and_curses

あなたはこのシステムの作成者なので、あなたは「究極のエキスパート」です。あなたのソフトウェアを使用している、または使用したい営利企業は、いくつかのコンサルティング業務にあなたを連れてくるかもしれません。また、あなたは私がよく支払われると聞いている大会で話す資格があります。

既存のプロジェクトにコードを寄稿することも、あなたの名前を広める良い方法です。あなたが貢献すればするほど、契約作業を探すときの信用が高まります。

21
Dimitry

ここに例があります。

Qmailコミュニティでぶらぶらしていると、Qmailを知っている人が何人かいます。 Qmailの機能を拡張したい場合は、そのうちの2、3だけがthe go-to guysになります。彼らは、家に座って、Qmail拡張機能を作成し、それに支払われることを含む請負の仕事を得ます。

それがあなたが行くことができるライフスタイルのように聞こえるなら、それを試してください-ニッチを見つけて、契約の仕事をしてください。クライアントがクローズドソースを作成するコードを所有したいかどうか、またはコードをオープンソースとしてリリースしても、クライアントがそれを使用できるかどうかに応じて、クライアントに異なる条件を提供する場合があります。

このように考えてください。クライアントが単にこのコードを存在するにしたいという状況はたくさんあります。その後、彼らはそれに排他的にアクセスできるかどうかを気にしません。

17
slim

私の経験では、OSSを作成してもお金はありません。しかし、それはあなたをより価値のあるものにし、それゆえ雇用可能になります。練習から得られる高度に調整された機能と、既存のOSSを使用できる場合は、エコシステムに慣れているため、ホイールの書き換えを避けるために、既存の機能を評価する時間を大幅に短縮できます。

15
Javier

ほとんどの場合、企業は beekeeperモデル を使用してお金を稼ぎます。基本的に、オープンソースの貢献者は最新かつ最高の製品を無料で使用でき、顧客は信頼できる成熟した製品を入手できます。 Red Hat、Novell、Sunはすべて、このモデルのバリエーションを使用しています。

別のオプションは、コンサルティングとトレーニングです。特定の製品の使用経験が豊富な場合(またはさらに優れているのは、それを発明した場合)、その製品を使用するように教えるために人々が喜んでお金を払ってくれる可能性があります。これはCanonicalが使用するモデルです。これは、あなたがそうしなければ、必ずしもsysadminタイプの作業を行わなければならないという意味ではありません。結局のところ、プログラマー、エンドユーザー、および幹部にはトレーニングも必要です。

3番目に、学生として、真剣に検討する必要があります Google Summer of Code 来年の夏。

全体として、オープンソースの貢献は、あなたがそれらから直接お金を稼ぐかどうかに関係なく、価値があると私は思います。ただし、短期的にはメリットを実感できないと思います。

11
Jason Baker

それは本当に依存します。多くの人が趣味としてオープンソース開発を行っており、1日の仕事をしています(これは、常にではありませんが、多くの場合、ソフトウェア開発でもあります)。

いくつかは、オープンソースプロジェクトに関心を持っている会社によって支払われます。 LWN.netは、Linuxカーネル開発者に誰が支払うかについての記事を投稿しました、例えば:

http://lwn.net/Articles/222773/

Linuxディストリビューターだけでなく、多くの企業がLinuxカーネル開発に資金を提供していることがわかりました。

一部の開発者はコンサルティングビジネスも行っており、ソフトウェア開発を使用して主要な作業をサポートしたり、ショーケースとして使用したりしています。

10
sleske

かなりいくつかの方法があります

  • 他の会社からの資金提供(例:グイドファンロッサムに支払うグーグルの場合Python彼の半分の時間)
  • 販売支援サービス
  • コンサルティングサービスの販売
  • オープンソースを通じて自分のプロファイルを構築することで、スピーキング、ブックのオーサリング、有給の仕事など、他のことにもつながることを期待する
  • たとえば「エンタープライズ」顧客向けの製品の商用バージョンの紡績

そして、私が思う最大の問題は、彼らの知識を広げ、彼らの製品のユーザーから愛を得ることです。

7
olle


オープンソース製品に関するWebサイト(アプリケーション、フォーラム、サポートサイトなど)を作成し、そこにいくつかの広告を配置します。

それでうまくいきます。

6
friol

友人がいるように、私はオープンソースソフトウェアによってうっかりお金を稼いだ。同様のケースがありましたが、私は自分のケースについてのみ説明します。私はオープンソースのVCDiffデコーダーを作成しました。 (長い話ですが、私はもともと会社の時間にそれを書くつもりでしたが、代わりに金曜日の夜にそれをしました。)

数年後、商用パッケージでそれを使用したいが、必要な帰属がなかった会社から連絡を受けました。彼らはこのためのライセンス料を喜んで支払い、私に非常に合理的な非独占的ライセンスを提示しました。私たちは取引を行い、双方は幸せでした。

お金を稼ぐことは決して目的ではありませんでした。それは基本的に、他のパーティーが望むものを生み出すことの副作用として起こっただけです。

6
Jon Skeet

一般的なシナリオは、彼らも仕事を支払っていることだと思います。オープンソースの仕事の多くは、開発者の暇な時間と、有料の仕事の要素から生まれています。

たとえば、職場での特定の問題を解決するためのソリューションを作成し、同様のシナリオに直面している他の開発者を支援するためにソリューションをオープンソース化することがあります。

5
Mark Embling

オープンソースソフトウェアプロジェクトを開発するだけでは、おそらく多くのお金を稼ぐことはできません。プレミアムサポート、カスタマイズなどを提供できます。私は、Firefox、Thunderbird、Red5、およびその他のいくつかのオープンソースプロジェクトの拡張機能とカスタムビルドを開発することで、かなり良い変更を加えています。私が作成したものの大部分は、オープンソースコミュニティにも提供されています。

デュアルライセンスシステムの可能性もあります。たとえば、GPLタイプのライセンスと商用ライセンスの下でソフトウェアをリリースできます。商用ライセンスを購入した人は、変更を独占的に維持し、ソースコードをリリースせずにそれを販売することが許可されます。

4
Gerald

もしあなたがあなた自身のオープンソースプロジェクトを作ってお金を稼ぎたいのなら、それはかなり長い道のりだと思います。一方、Red Hat、Sun、IBM、さらにはMicrosoftなどの企業では、オープンソーステクノロジーを使用したり、オープンソースソフトウェアを開発したりする必要のある、給料の高い仕事がたくさんあります。

3

実際の質問に対する答え

オープンソースソフトウェアの開発で儲けるお金はありますか?

はい、そしてさまざまな方法があります。開発者になりたいだけの場合、つまり自分のビジネスを始めない場合は、最初に、好きなプロジェクトに参加することをお勧めします。その後、次のような機会が見つかる可能性があります: http://webapps.ubuntu.com/employment/canonical_GDOS/ (MySQLなど、さまざまな分野に多くの別の「ビッグ」ネームについて言及します)。

次に、LinkedInでプロファイルを作成し、スキルや興味に関連するOSSグループに参加します。

最後に、ローカルグループ(LUG、JUGなど)に参加して、メーリングリストを読んでください。多くの場合、これらのリストには多くの求人情報が表示されます(残念ながら、後で仕事を見つけただけです).

3
Davide

その性質上、コードはオープンであるため、通常、コードから直接収益を上げることはできません。デュアルライセンスを使用することもできますが、それによってOSSコミュニティも無効になる可能性があります。

おそらく最も簡単な方法は、オープンソースソフトウェアを開発している会社forで作業することです。あなたはコードを書くことで報酬を得て、会社はサポートなどからお金を稼ぎますが、あなたはその側面に直接関わる必要はありません。

または、OSSを記述して担当者を作成し、その裏で契約作業/フルタイムの作業を行うことができます。

2
Draemon

一部のオープンソースソフトウェア会社は、サービスを提供し、収益を上げています。 (アプリケーションホスティングなど)ほとんどの場合、顧客の要件に応じていくつかのカスタマイズを提供し、長期にわたるサポートとメンテナンスを提供します。

「寄付」が大きな変化をもたらすことはないと思いますが、それらからの影響もあります。

これは、オープンソース製品に基づいているスリランカ企業の良い例です。

WSO2

私が合理的によく知っている、成功し収益性の高い2つのオープンソース企業があります。

  • SleepyCat Softwareは、Oracleに買収されるまで、Berkeley DBのサポートと拡張によって収益を上げていました。創設者の1人は1日の仕事をしていましたが、もう1人は仕事をせず、12人の従業員がいました。

  • Chez Scheme は、コンパイラに拡張機能を追加し、コンパイラのネイティブコードバージョンを販売することで収益を上げています。典型的な機能強化には、新しいバックエンドが含まれる場合があります。より野心的な最近の機能強化は、ネイティブスレッドパッケージでした。創設者(Kent Dybvig)は1日の仕事をしています。彼の従業員の数はわかりません。 Chezはインタープリターがオープンソースであるという点で珍しいですが、コンパイラーはそうではありません。

CygnusとRed Hatはどちらも、「サポート」とそのソフトウェアの特殊バージョンを販売していますが、ソフトウェアも配布されています。私はこのビジネスモデルをよく理解していません。

あなたのソフトウェアがそのクラスで卓越している場合、人々はあなたがあなたのものを使って問題を解決するのを助けるためにあなたにお金を払うということです。つまり、コンサルタントのようなものです。

2
Norman Ramsey

これにはいくつかの方法があります。現在 freemium モデルが人気です。
あるいは、他の人がオープンソースの作品を投稿したように、傍観されています。私が使用するモデルは、私の職場でオープンソースを使用し、私の貢献をメインラインに戻すことです。あなたは経営陣から賛同を得なければなりませんが、それはうまくいきます。ストールマンの言葉も覚えておいてください Freedomのように無料

1
rh0dium

ここに2つの質問があります。

1)開発者はどのようにしてお金を稼ぎますか

ほとんどの開発者はお金のためにそれをしません。理由はたくさんあるかもしれませんが、私たちがそれらを絞り込むと、それは1)かゆみを掻く2)信頼を得るために3)その特定の言語/ドメインの知識を高めるためになります。

2)ビジネスはどうやってお金を稼ぐのか

通常は、サポート、トレーニング、認定、拡張からのものです。しかし、それから問題が発生します。製品が本当に良ければ、それほどのサポートは必要ありません。つまり、Joelが言う Consultingware でなければなりません。

1
krishna

ソフトウェアが「すでにそこに」あるので、一度インストールされるとその価格よりも価値が高くなることは、今では受け入れられている事実だと思います。私はもっ​​とエンタープライズスタイルのアプリについて話している。

多くの企業がソフトウェアの購入時に料金を請求し、保守契約を結んで彼らの足元を守り、7回以上購入した場合よりもさらに$$を稼いでいます。私が30年以上前のプロプライエタリソフトウェアを使用している場合は確かにそうです。

このソフトウェアは無料でインストールできます(「最初は無料のドラッグ」ビジネスモデルと考えてください)。もちろん、課題は、十分に維持され、オンラインで優れたサポートコミュニティを持つプロジェクトを選ぶことです。しかし、それはフリーではないソフトウェアでも同じです。

オープンソースを頻繁にサポートする傾向があるため、オープンソースへの移行とオープンソースからの移行は、専用アプリよりもはるかに簡単です。独自仕様のアプリは通常、アプリへの移行サービスやその他のサービスを「提供」して、アプリを使い続けやすくします。

O/Sアプリは、最初は学習曲線が高くなる傾向があり、メンテナンス契約をほとんど必要とするため、$$を作成する機会がたくさんあります

私の意見では、どちらのビジネスモデルも優れていません。プロプライエタリモデルはたまたま広く普及しています。

1
KevinDeus

現在、ビジネスの多くはオープンソースソフトウェアに基づいているか、オープンソースソフトウェアから派生しているため、一部(多くの?)の企業が開発者にオープンソースソフトウェアへの貢献に支払っています。

0
neuro