web-dev-qa-db-fra.com

Gagner de l'argent avec Open Source en tant que développeur?

Je suis actuellement étudiant (Applied Information Technology) et nous faisons la plupart de notre programmation en C # et Java. Je me demandais comment, en tant que développeur, je peux gagner de l'argent avec l'open source. Je sais qu'il y a une histoire de soutien ou de prestation de services, mais je ne suis pas un administrateur système et je n'aime pas le travail d'administrateur système. En fait, j'aimerais mettre la main sur du C et du C++ à l'avenir et faire du développement de bas niveau.

Ma véritable question est donc la suivante: y a-t-il de l'argent à faire avec le développement de logiciels Open Source, et comment?

Edit: Je souligne simplement que le démarrage de mon propre projet Open Source n'est pas une exigence.

109
Haproli

Cette réponse résume bon nombre des réponses aux questions suivantes, ainsi que des recherches et des opinions supplémentaires.

Synopsis

Open source peut être un modèle commercial principal ou auxiliaire viable, à la fois directement par le biais de projets spécifiques et indirectement par l'acquisition de compétences, d'expérience et de réputation. Il peut également y avoir des motivations supplémentaires; la satisfaction de produire des logiciels utiles aux autres, le "grattage de ses démangeaisons personnelles" (la première étape vers tout bon logiciel open source, selon Eric S. Raymond ), ou raisons philosophiques , normalement basé sur la notion de logiciel libre , soit l'approche copyleft préconisée par Richard Stallman , ou l'approche plus permissive des licences BSD .

Façons de gagner de l'argent grâce à l'Open Source

1. Parrainage par une entreprise

Cela peut se produire de plusieurs manières.

  • Travail permanent pour continuer à travailler sur un projet de grande envergure. C'est probablement le cas le plus rare. Si vous êtes un membre senior d'un grand projet open source, quelqu'un comme Linus Torvalds , Guido van Rossum ou Theo de Raadt , alors vous pourrez probablement continuer à travailler sur votre projet tout en étant soutenu financièrement par une grande entreprise comme Google ou [~ # ~] ibm [~ # ~ ] . Bien que ce mode de support soit relativement rare, vous ne devez pas nécessairement être un superstar open source pour sécuriser ce type de financement; de nombreux développeurs de noyau Linux sont partiellement ou entièrement financés par des sociétés comme Red Hat .
  • Payé pour des fonctionnalités ou des extensions spécifiques. Certaines entreprises offrent des primes pour avoir des fonctionnalités spécifiques implémentées dans les logiciels open source qu'elles utilisent pour les fonctions commerciales. Souvent, il n'est pas nécessaire que la fonctionnalité reste une source fermée, donc un code important est réinjecté dans la communauté. Ceci a été décrit comme le modèle apiculteur du développement open source. Dans certains cas, les fonctionnalités supplémentaires doivent rester propriétaires, mais sont basées sur une base de code open source. Dans les deux cas, l'expertise open source est un net avantage pour un développeur.
  • Votre code de travail journalier peut être open source. Un cas connexe est celui où les aspects du code que vous écrivez pour une entreprise au cours de votre journée de travail travail de jour peut être open source sans préjudice pour l'entreprise. Le code peut ou non être basé sur un projet FOSS existant. Des outils et des bibliothèques génériquement utiles peuvent souvent être publiés de cette manière, et des preuves anecdotiques suggèrent de tels projets peuvent souvent s'accélérer une fois qu'ils sont dirigés par des bénévoles.

2. Ajouter de la valeur aux projets existants

Un individu ou une entreprise peut se positionner comme un fournisseur principal qui ajoute de la valeur à un ou plusieurs projets open source existants. Il existe de nombreux exemples d'entreprises qui fournissent un service en emballant, en superposant, en combinant ou en étendant des projets existants. Ils se répartissent globalement en deux catégories.

  • Support. Enthought ajoute de la valeur en empaquetant une distribution Python personnalisée se concentrant sur la science bibliothèques. Redhat et les autres distributions Linux ajoutent de la valeur en rassemblant et en testant de nombreux projets open source disparates, et en fournissant des mécanismes d'installation et de mise à niveau faciles à utiliser. Ces sociétés vendent des services d'assistance de la même manière que le font de nombreux fournisseurs propriétaires.
  • Freemium modèle. Sous ce modèle, une version de base du logiciel ou du service est gratuite; les fonctionnalités "premium" supplémentaires coûtent normalement plus cher. Logiciel Sleepycat a fourni des fonctionnalités supplémentaires pour la Berkeley DB sous une licence propriétaire. Cedega fournit une réimplémentation de l'API Windows sous Linux, publiée sous la forme d'un mélange de code libre et propriétaire. Ce modèle n'a pas besoin d'être open source; Gmail pour les organisations est un exemple de service qui offre des options gratuites (comme dans la bière) et premium.

3. Code d'offre sous un modèle de double licence

Une approche puissante consiste à proposer des logiciels sous deux licences alternatives , une licence copyleft nécessitant des modifications à rendre à la communauté si le logiciel est distribué, et une licence commerciale permettant l'utilisation du logiciel sans restrictions open-source. Cette approche a été appliquée avec succès par de grands projets tels que Qt et Open Office , ainsi que petits projets ponctuels .

4. Consulter

Le travail open source peut fournir un moyen d'obtenir une visibilité communautaire précieuse.

  • Présentation des capacités. Être capable de vérifier le travail et la compétence d'un développeur en examinant les projets open source auxquels il a participé est un puissant tirage pour les employeurs potentiels .
  • Renforcement de la réputation. Avoir une réputation de haut niveau dans une communauté open source peut conduire à des allocutions , des demandes de formation ou un livre rédiger des offres en fonction de votre expertise.
  • Être l'expert. Être un acteur important dans une technologie dont les entreprises ont besoin, c'est être en demande de conseil personnalisé, de support et de formation dans cette technologie. Cela peut conduire à la création d'un créneau d'emploi spécifique dans votre domaine d'expertise.

5. Canaux auxiliaires

Enfin, les revenus peuvent être obtenus via des canaux auxiliaires tels que publicité (comme Stackoverflow le fait), dons , ou via le utilisation de techniques nagware dans le logiciel lui-même qui visent à inciter un utilisateur à fournir des contributions financières à l'auteur. Ces techniques ne sont pas spécifiques aux modèles de développement Open Source. Par exemple, ils sont souvent utilisés par des produits non-libres shareware .

105
ire_and_curses

Parce que vous êtes le créateur de ce système, vous êtes "l'expert ultime". Les entreprises à but lucratif qui utilisent ou souhaitent utiliser votre logiciel peuvent vous inviter à des travaux de conseil. De plus, vous seriez qualifié pour prendre la parole lors de congrès qui, selon moi, sont bien payés.

La contribution de code à un projet existant est également un bon moyen de faire connaître votre nom. Plus vous contribuez, plus vous avez de crédibilité lorsque vous recherchez un emploi contractuel.

21
Dimitry

Voici un exemple.

Si vous traînez dans la communauté Qmail, vous constaterez qu'il y a quelques personnes qui connaissent Qmail à fond. Juste quelques-uns d'entre eux deviennent les go-to guys si vous voulez une extension des fonctionnalités de Qmail. Ils obtiennent des emplois contractuels qui les impliquent assis à la maison, écrivant une extension Qmail et étant payé pour cela.

Si cela ressemble à un style de vie que vous pourriez choisir, essayez-le - trouvez un créneau et prenez des emplois contractuels. Vous pouvez proposer des conditions différentes à vos clients, selon qu'ils souhaitent posséder le code que vous produisez en code source fermé ou que vous publiez le code en tant qu'open source, mais ils peuvent l'utiliser.

Pensez-y de cette façon - il y a beaucoup de situations où le client veut simplement que ce code existe. Ils se moquent alors de savoir s'ils y ont ou non un accès exclusif.

17
slim

D'après mon expérience, écrire OSS ne vous donne pas d'argent; mais cela vous rend beaucoup plus précieux et donc employable. À la fois en raison des capacités hautement optimisées que vous obtenez de la pratique et parce que lorsque vous êtes en mesure d'utiliser les logiciels libres existants, votre connaissance de l'écosystème vous permet de perdre beaucoup moins de temps à évaluer ce qui existe déjà pour éviter de réécrire la roue.

15
Javier

La plupart du temps, les entreprises gagnent de l'argent en utilisant le modèle apiculteur . Essentiellement, vos contributeurs open source peuvent utiliser gratuitement vos produits les plus récents et les meilleurs tandis que vos clients obtiennent un produit fiable et mature. Red Hat, Novell et Sun utilisent tous des variantes de ce modèle.

Une autre option est le conseil et la formation. Si vous avez beaucoup d'expérience en utilisant un certain produit (ou mieux encore, vous l'avez inventé), alors les gens peuvent être prêts à vous payer de l'argent pour leur apprendre à l'utiliser. C'est le modèle que Canonical utilise. Cela ne signifie pas nécessairement que vous devez effectuer un travail de type administrateur système, sauf si c'est votre truc. Après tout, les programmeurs, les utilisateurs finaux et les cadres ont également besoin de formation.

Troisièmement, en tant qu'étudiant, vous devriez sérieusement envisager Google Summer of Code l'été prochain.

Dans l'ensemble, je dirais que les contributions open source en valent la peine, que vous en tiriez directement ou non de l'argent. Cependant, je crains que vous ne réalisiez probablement pas les avantages à court terme.

11
Jason Baker

Ça dépend vraiment. Beaucoup ne font que du développement open source comme passe-temps et ont un travail de jour (ce qui est souvent, mais pas toujours, le développement de logiciels).

Certains sont payés par des entreprises intéressées par le projet open source. LWN.net a publié un article sur qui paie les développeurs du noyau Linux, par exemple:

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

Il s'avère que de nombreuses entreprises financent le développement du noyau Linux, et pas seulement les distributeurs Linux.

Certains développeurs gèrent également une entreprise de conseil et utilisent le développement de logiciels pour soutenir leur travail principal ou comme vitrine.

10
sleske

il y a plusieurs façons différentes

  • Financement par une autre entreprise (prenez par exemple google qui paie Guido van Rossum pour travailler sur Python la moitié de son temps)
  • Vente de services d'assistance
  • Vente de services de conseil
  • Construire un profil pour vous-même grâce à l'open source en espérant que cela mène à d'autres choses comme parler, créer des livres, obtenir un bon travail rémunéré
  • Filage d'une version commerciale du produit pour les clients "entreprise" par exemple

et puis les plus grands je pense étendent leurs connaissances et obtiennent l'amour des utilisateurs de leurs produits.

7
olle


Créez un site Web sur un produit open source (votre application, un forum, un site de support, etc.) et placez-y des publicités.

Cela ferait l'affaire.

6
friol

J'ai gagné de l'argent par inadvertance grâce à des logiciels open source, tout comme un ami. Nous avons eu des cas similaires, mais je ne parlerai que des miens: j'ai écrit un décodeur VCDiff open source, essentiellement parce que la spécification avait l'air sympa. (Longue histoire, mais j'allais à l'origine l'écrire à l'heure de l'entreprise, mais j'ai fini par le faire un vendredi soir à la place.)

Quelques années plus tard, j'ai été approché par une entreprise qui souhaitait l'utiliser dans un package commercial, mais sans l'attribution requise. Ils étaient heureux de payer une redevance pour cela et m'ont présenté une licence non exclusive extrêmement raisonnable. Nous avons fait l'affaire et les deux parties étaient heureuses.

Le but n'était jamais de gagner de l'argent - cela s'est simplement produit comme effet secondaire de produire quelque chose qu'un autre parti voulait, essentiellement.

6
Jon Skeet

Je pense qu'un scénario courant est qu'ils ont également des emplois rémunérés. Une grande partie du travail open source dérive du temps libre des développeurs et des éléments de leur travail rémunéré.

Un exemple pourrait être la création d'une solution pour résoudre un problème spécifique au travail et l'ouverture de la solution pour aider d'autres développeurs confrontés à un scénario similaire.

5
Mark Embling

Le simple développement d'un projet de logiciel open source ne vous rapportera probablement pas beaucoup d'argent. Fournir un support premium, des personnalisations, etc. peut. Je fais une bonne partie du changement en développant des extensions et des builds personnalisés de Firefox, Thunderbird, Red5 et quelques autres projets open source. Une grande partie de ce que je crée est également fournie à la communauté open source.

Il existe également la possibilité d'un système de double licence. Par exemple, vous pouvez publier le logiciel sous une licence de type GPL, et également sous une licence commerciale où quelqu'un qui achète une licence commerciale est autorisé à conserver toutes les modifications propriétaires et à le vendre sans publier le code source.

4
Gerald

Si vous voulez vraiment gagner de l'argent en créant votre propre projet open source, je pense que c'est un assez long plan. D'autre part, il existe de nombreux emplois bien rémunérés qui nécessitent de travailler avec des technologies open source ou de développer des logiciels open source dans des entreprises comme Red Hat, Sun, IBM, voire Microsoft.

3
Nemanja Trifunovic

La réponse à votre réelle question

y a-t-il de l'argent à faire avec le développement de logiciels Open Source, et comment?

Oui, et il existe différentes manières. Si vous voulez simplement être développeur, c'est-à-dire ne pas démarrer votre propre entreprise, la meilleure chose à faire est de participer au (x) projet (s) que vous aimez. Ensuite, vous pourriez trouver des opportunités comme celle-ci: http://webapps.ubuntu.com/employment/canonical_GDOS/ (il y en a beaucoup dans différents domaines, MySQL, pour ne citer qu'un autre "grand" nom ).

Ensuite, créez votre profil sur LinkedIn et rejoignez les groupes OSS correspondant à vos compétences et/ou intérêts.

Enfin et surtout, rejoignez un groupe local (par exemple LUG, JUG) et lisez la liste de diffusion. Souvent, dans ces listes, de nombreuses offres d'emploi apparaissent (malheureusement, je n'ai découvert qu'après j'ai obtenu le poste).

3
Davide

De par sa nature, vous ne pouvez généralement pas gagner d'argent directement avec le code - car il est ouvert. Vous pouvez obtenir une double licence, mais cela peut également décourager la communauté OSS.

La façon la plus simple est peut-être de travailler pour une entreprise qui produit des logiciels open source. Vous êtes payé pour écrire du code, et l'entreprise gagne de l'argent grâce au support ou autre, mais vous n'avez pas à vous impliquer directement dans cet aspect des choses.

Ou vous pouvez écrire OSS pour créer un représentant et, espérons-le, obtenir un travail contractuel/à temps plein à l'arrière.

2
Draemon

Certaines sociétés de logiciels open source fournissent des services et gagnent de l'argent. (Comme l'hébergement d'applications, etc.) Dans la plupart des cas, ils fournissent certaines personnalisations en fonction des besoins du client et fournissent un support et une maintenance au fil du temps.

Je ne pense pas que les "dons" puissent faire un grand changement, mais ils ont également un impact.

C'est un bon exemple pour une entreprise sri-lankaise basée sur des produits open source.

WSO2

Il existe deux sociétés open source prospères et rentables que je connais assez bien:

  • SleepyCat Software, jusqu'à ce qu'ils soient achetés par Oracle, a fait de l'argent en soutenant et en améliorant Berkeley DB. Bien que l'un des fondateurs ait eu un travail de jour, l'autre non, et ils avaient une douzaine d'employés.

  • Chez Scheme fait de l'argent en ajoutant des améliorations à leur compilateur et en vendant des versions en code natif de leur compilateur. Les améliorations typiques peuvent inclure un nouveau back-end; une amélioration récente plus ambitieuse était un package de threads natifs. Le fondateur (Kent Dybvig) a un travail de jour; Je ne sais pas combien d'employés il a. Chez est inhabituel dans la mesure où l'interprète est open source mais pas le compilateur.

Cygnus et Red Hat vendent tous deux du "support" ainsi que des versions spécialisées de leur logiciel, mais le logiciel est également distribué. Je ne comprends pas vraiment ce modèle commercial.

Ce que je retiens de ces exemples, c'est que si votre logiciel est exceptionnel dans sa classe, les gens vous paieront pour les aider à utiliser vos trucs pour résoudre les problèmes . C'est donc presque comme du conseil.

2
Norman Ramsey

Vous pouvez le faire de plusieurs façons. En ce moment, le modèle freemium est populaire.
Alternativement, car d'autres ont publié des travaux open source, ils sont exclus. Le modèle que j'utilise consiste à utiliser l'open source sur mon lieu de travail et à reverser mes contributions au réseau principal. Vous devez avoir l'adhésion de la direction, mais cela fonctionne. Rappelez-vous également dans les mots de Stallman Libre comme en liberté

1
rh0dium

Je vois deux questions ici:

1) Comment les développeurs gagnent-ils de l'argent

La plupart des développeurs ne le font pas pour l'argent.Les raisons peuvent être nombreuses, mais si nous les restreignons, cela revient à 1) gratter une démangeaison 2) pour gagner en crédibilité 3) pour améliorer les connaissances dans cette langue/ce domaine particulier.

2) Comment les entreprises gagnent-elles de l'argent

Généralement du support, de la formation, de la certification et de l'amélioration. Mais alors la question se pose: si votre produit est vraiment bon, il n'aura pas besoin de beaucoup de support. Donc, ce doit être ce que Joel appelle Consultingware .

1
krishna

Je pense que c'est un fait désormais admis que les logiciels, une fois installés, valent plus que leur prix car ils sont désormais "déjà là". Je parle plus d'applications de style entreprise.

De nombreuses entreprises vous facturent lorsque vous achetez le logiciel, puis gardez le pied dans la porte avec les contrats de maintenance, ce qui vous rapporte plus de revenus que si vous l'aviez acheté 7 fois. Je sais que c'est certainement le cas lorsque je travaille avec des logiciels propriétaires qui ont plus de 30 ans!

Il se trouve que ce logiciel est gratuit à installer (voyez-le comme le modèle commercial "médicaments gratuits au premier abord"). Le défi est bien sûr de choisir un projet bien entretenu et disposant d'une bonne communauté de support en ligne. Mais là encore, c'est la même chose avec les logiciels non libres.

La migration vers et hors de l'Open source a tendance à être beaucoup plus facile que les applications propriétaires, car elles ont tendance à prendre en charge les formats ouverts plus souvent. Les applications propriétaires "abandonnent" généralement le service de migration vers elles et d'autres services pour vous permettre de rester plus facilement avec elles.

Les applications O/S ont tendance à avoir une courbe d'apprentissage plus élevée au début, ce qui nécessite à peu près des contrats de maintenance, il y a donc de nombreuses opportunités de faire des $$

À mon avis, aucun modèle d'entreprise n'est meilleur, juste différent. Le modèle propriétaire se trouve être plus répandu.

1
KevinDeus

De nos jours, certaines (beaucoup?) Des entreprises paient un développeur pour contribuer à un logiciel open source car leur entreprise est basée sur un logiciel open source ou dérivée d'un logiciel open source.

0
neuro