開発者としてオープンソースでwithかる?


109

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

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

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


エリックレイモンドの本を読む:大聖堂とバザール
ディパンメタ

オープンソースへの「サポートの提供/サービスの提供」には、必ずしもシステム管理者の作業が含まれるわけではありません。たとえば、顧客は、1つの小さなコードMODが作成されていて、そのコードMODをプログラムするためにあなたを雇う場合、オープンソースアプリがニーズにほぼ完璧であることに気付くでしょう。
ジェームズ

可能性のある重複無料、オープンソースのプログラムを開発するのはなぜ? 「なぜ、すべてが...のは、お金の話をしましょう...あなたは誰もがウィキペディア上のコンテンツを置くために支払われていない、まだそれは周りの最高の百科事典議論の余地ありますウィキペディアの作品だと思いますどのようにお金についてする必要がない?」
ブヨ

誰もが言及したように、ほとんどのOSS開発者はその努力に対して報酬を受け取りません。それは素晴らしいビジネスモデルです。OSSを使用することで巨大企業が節約した数十億ドルのライセンス料を考えてみてください。これらの企業の経営者は、彼らが夢を見ていないことを確認するために、毎朝自分をつまむ必要があります。どういうわけか彼らは多くの人々に彼らのために無料で働くよう説得しました。ソフトウェアと非常にうまく機能しており、現在、他の分野、ジャーナリズム、写真にモデルを拡張しています。開発OSSが大きいことで、この時間を提唱しマンボジャンボの山もう一度、ビット宗教のようなものです

回答:


105

この回答では、以下の質問に対する多くの回答と、追加の調査と意見をまとめています。

あらすじ

オープンソースは、特定のプロジェクト作業を通じて直接、またはスキル、経験、評判の獲得を通じて間接的に、実行可能な主要または補助的なビジネスモデルになります。追加の動機もあります。他の人に役立つソフトウェアを作成する満足度、「個人的なかゆみをひっかく」(エリック・S・レイモンドによると、オープンソースソフトウェアの良い部分への最初のステップ)、または哲学的な理由、通常の概念に基づいているリチャードストールマンによって提唱されたコピーレフトアプローチ、またはBSDライセンスのより寛容なアプローチのいずれかのフリーソフトウェア

オープンソースでお金を稼ぐ方法

1.企業によるスポンサー

これにはいくつかの方法があります。

  • 知名度の高いプロジェクトで仕事を続けるための常勤職。これはおそらく最もまれなケースです。Linus TorvaldsGuido van RossumTheo de Raadtなどの主要なオープンソースプロジェクトのシニアメンバーである場合は、GoogleIBM。このモードのサポートは比較的一般的ではありませんが、このタイプの資金を確保するために必ずしもオープンソースのスーパースターである必要はありません。多くのLinuxカーネル開発者は、Red Hatのような企業によって部分的または完全に資金提供されています。
  • 特定の機能または拡張機能に対して支払われます。一部の企業は、ビジネス機能に使用する特定の機能をオープンソースソフトウェアに実装するための賞金を提供しています。多くの場合、機能をクローズドソースのままにする必要はないため、重要なコードがコミュニティに提供されます。これは、オープンソース開発の養蜂家モデルとして説明されています。場合によっては、追加機能が独自仕様のままであることが必要ですが、オープンソースのコードベースに基づいています。どちらの場合も、オープンソースの専門知識は開発者にとって明らかな利点です。
  • あなたの仕事のコードはオープンソースにすることができます。関連するケースは、日々の仕事の過程で会社のために書くコードの側面が、会社に害を及ぼさずにオープンソース化される場合です。コードは、既存のFOSSプロジェクトに基づいている場合と、そうでない場合があります。一般的に有用なツールとライブラリはこの方法でリリースされることがよくありますが、そのようなプロジェクトはボランティア主導になると加速することが多いという事例証拠が示唆されています。

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

個人または企業は、既存の1つまたは複数のオープンソースプロジェクトに価値を追加するプライマリプロバイダーとして自分自身を位置付けることができます。既存のプロジェクトをパッケージ化、階層化、結合、または拡張することでサービスを提供する企業の例は数多くあります。それらは大きく2つのカテゴリに分類されます。

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

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

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

4.相談する

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

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

5.補助チャンネル

最後に、収入は、広告Stackoverflowが行うように)、寄付などの補助チャネルを通じて、またはソフトウェア自体にナグウェア技術を使用することでられます。これらの手法は、オープンソース開発モデルに固有のものではありません。たとえば、多くの場合、無料でないシェアウェア製品で使用されます。


21

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

既存のプロジェクトにコードを提供することも、あなたの名前を世に出す良い方法です。貢献すればするほど、契約の仕事を探す際に信用が高まります。


17

以下に例を示します。

Qmailコミュニティにたむろしていると、Qmailを裏から知っている人が数人いることに気付くでしょう。Qmailの機能の拡張が必要な​​場合は、ほんの数人が頼りになる人になります。彼らは、家に座ってQmail拡張機能を作成し、支払いを受けることを伴う契約の仕事を得ます。

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

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


契約の仕事は不規則であり、私の意見では良いキャリアの選択ではありません。給料の仕事(信頼できる)またはスタートアップ(ギャンブルだが、少なくとも潜在的な見返りがある)のどちらかを持っているように思えます。
-sixtyfootersdude

15

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


11

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

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

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

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


10

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

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

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

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

また、一部の開発者はコンサルティングビジネスを運営し、ソフトウェア開発を使用してメインの仕事をサポートしたり、ショーケースとして使用したりしています。


7

かなり異なる方法があります

  • 別の会社からの資金提供(例えば、グイド・ファン・ロッサムにPythonの半分の時間を支払うGoogleを例にとると)
  • サポートサービスの販売
  • コンサルティングサービスの販売
  • 話すこと、本のオーサリング、良い給料をもらえることのような他のものにつながることを期待して、オープンソースを通してあなた自身のプロファイルを構築する
  • たとえば、「エンタープライズ」顧客向けの製品の商用バージョンの紡績

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


6


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

それでうまくいきます。


2
確かに、あなたはいくらかお金を稼ぐことはできましたが、広告から生計を立てることはできませんでした。

1
グーグルはemで少し運が良かったが;)
マイケルデュラント

6

友人がいるように、私は不注意にオープンソースソフトウェアを通じてお金を稼いでいます。似たようなケースもありましたが、私自身の話だけをします。基本的に仕様が見栄えが良かったため、オープンソースのVCDiffデコーダーを作成しました。(長い話ですが、元々は会社の時間に書いていましたが、代わりに金曜日の夜に書いてしまいました。)

数年後、商用パッケージで使用したい会社からアプローチがありましたが、必要な属性はありませんでした。彼らはこのためのライセンス料を喜んで支払い、非常に合理的な非独占的ライセンスを私に提示しました。私たちは取引を行い、双方は満足していました。

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


3
あなたは重要なポイントに当たったと思います:あなたはお金のためにオープンソースに入らない。

@バーナード:あなたの声明には、Sun、Novell、Red Hat、Google、IBM、Apple、そしてMicrosoftさえも含まれていないと思いますか?
ジェイソンベイカー

いいえ、個人として、お金を稼ぐことを意図してはいけません。それが不可能なことではなく、難しいことや望ましくないことでもありません。

@Jason-Microsoftがオープンソースに「侵入」したことはないと思います。
クリス・ルッツ

5

一般的なシナリオは、彼らが同様に仕事を支払ったということだと思います。多くのオープンソースの仕事は、開発者の暇な時間と彼らの有料の仕事の要素に由来しています。

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


4

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

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


3

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


3

実際の質問に対する答え

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

はい、さまざまな方法があります。開発者になりたい場合、つまり自分のビジネスを始めたくない場合、まず最初に行うのは、好きなプロジェクトに参加することです。次に、このような機会を見つけるかもしれません:http : //webapps.ubuntu.com/employement/canonical_GDOS/(別の「大きな」名前に言及するために、MySQL、異なる分野にそれらの多くがあります)。

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

最後に重要なことですが、ローカルグループ(LUG、JUGなど)に参加して、メーリングリストを読んでください。多くの場合、これらのリストには、多くの仕事の提供は(残念ながら私は発見した表示された後、私は仕事を得ます)。


2

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

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

これは、オープンソース製品に基づいたスリランカの会社の良い例です。

WSO2


2

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

  • SleepyCat Softwareは、Oracleに買収されるまで、Berkeley DBをサポートおよび強化することで利益を上げました。創業者の1人は日雇いでしたが、もう1人は雇わず、10人の従業員がいました。

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

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

これらの例から私が取り上げるのは、あなたのソフトウェアがそのクラスで傑出している場合、人々はあなたが問題を解決するためにあなたのものを使うのを助けるためにあなたにお金を払うということです。だから、ほとんどコンサルティングのようなものです。


Chez Schemeのインタープリターは無料ですが、オープンソースではないと思います。Chez Schemeインタープリターのバイナリーのみを見ました。そしてグーグルは助けにならなかった。
シャノン退職

2

その性質上、一般にコードから直接お金を稼ぐことはできません-オープンなので。デュアルライセンスを使用することもできますが、それによってOSSコミュニティも先送りになります。

おそらく最も簡単な方法は、オープンソースソフトウェアを生産する会社で働くことです。コードを書くことで報酬が得られ、会社はサポートなどから金をmakesけますが、その側面に直接関与する必要はありません。

または、OSSを作成して担当者を作成し、できればその裏で契約作業/フルタイムの作業を取得することができます。


デュアルライセンスは不要です。GPLコードの販売を止めることはできません。唯一の問題は、買い手がそれを自分で販売したり、譲ったりするのを防ぐことができないということです。コードである商品よりも、コードを書くサービスを売る方が良い。
スリム

それは真実ではない。あなたは確かにそれを売ることはできますが、それからあなたはGPLの条件の外でそれを配布します(それはあなたに著作権保有者としてあなたがする権利があります)。それはパブリックドメインになりません。この代替ライセンスを明示することをお勧めします。

1

これはいくつかの方法で実行できます。現在、フリーミアムモデルが人気です。
あるいは、他の人がオープンソースの仕事を投稿しているので、傍観されています。私が使用しているモデルは、私の勤務地でオープンソースを使用し、私の貢献をメインラインに寄付することです。経営陣から賛同を得る必要がありますが、うまくいきます。フリーダムのようにストールマン・フリーの言葉でも覚えておいてください


1

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

多くの企業は、ソフトウェアを購入すると料金を請求し、メンテナンス契約でドアを閉め、7回購入した場合よりも多くの$$を獲得します。私が知っているのは、私が30歳以上のプロプライエタリなソフトウェアを使っている場合です。

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

オープンソースの移行は、オープン形式をより頻繁にサポートする傾向があるため、プロプライエタリアプリよりもはるかに簡単になる傾向があります。独自のアプリは、通常、それらに移行するサービスや他のサービスを「放棄」して、ユーザーがそれらのアプリにとどまることを容易にします。

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

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


1

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

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

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

2)ビジネスはどのようにお金を稼ぐか。

通常、サポート、トレーニング、認定、および強化から。しかし、問題が発生します。製品が本当に優れている場合は、サポートはあまり必要ありません。したがって、Joelがコンサルティングウェアと呼ぶものでなければなりません 。


0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.