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

109

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

Ma question est donc la suivante: faut-il gagner de l'argent avec le développement de logiciels Open Source, et comment?

Edit: Il suffit de souligner que le démarrage de mon propre projet Open Source n’est pas une obligation.

Haproli
la source
Lire le livre d'Eric Raymond: La cathédrale et le bazar
Dipan Mehta
"Soutenir / fournir des services" à l'open source n'implique pas forcément un travail sysadmin. Par exemple, un client trouvera peut-être qu'une application open source est presque parfaite pour ses besoins si elle ne dispose que d'un petit code mod et qu'elle vous engagera pour programmer ce code mod.
James
duplication possible de Pourquoi développer des programmes gratuits et open source? "Pourquoi tout doit-il être une question d'argent? Comment pensez-vous que wikipedia fonctionne? Personne n'est payé pour mettre du contenu sur Wikipedia, pourtant c'est incontestable la meilleure encyclopédie autour ... Parlons d'argent ..."
gnat
Comme tout le monde l’a mentionné, la plupart des développeurs de logiciels libres ne sont pas payés pour leurs efforts. C'est un brillant modèle d'entreprise. Il suffit de penser aux milliards de dollars de droits de licence économisés par de gigantesques sociétés en utilisant des logiciels libres. Les dirigeants de ces entreprises doivent se pincer tous les matins pour s’assurer qu’ils ne rêvent pas. D'une manière ou d'une autre, ils ont convaincu une armée de personnes de travailler pour eux gratuitement. Cela fonctionne tellement bien avec les logiciels qu'ils élargissent maintenant le modèle à d'autres domaines, le journalisme et la photographie. Développer des logiciels libres, c'est un peu comme la religion, encore une fois, une pile de charabia mise en avant par un gros utilisateur

Réponses:

105

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

Synopsis

L'open source peut constituer un modèle commercial primaire ou auxiliaire viable, à la fois directement par le biais de travaux 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 pour les autres, le "démantèlement de ses démangeaisons personnelles" (le premier pas vers tout bon logiciel open source, selon Eric S. Raymond ), ou des raisons philosophiques , normalement fondées sur la notion de logiciel libre , soit l’ approche copyleft préconisée par Richard Stallman , soit 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.

  • Poste permanent pour continuer à travailler sur un projet de premier plan. C'est probablement le cas le plus rare. Si vous êtes un membre expérimenté d’un grand projet open source, comme Linus Torvalds , Guido van Rossum ou Theo de Raadt , vous pourrez probablement continuer à travailler sur votre projet tout en bénéficiant du soutien financier d’une grande entreprise telle que Google ou Google. IBM . Bien que ce mode de support soit relativement rare, vous ne devez pas nécessairement être une superstar open source pour obtenir ce type de financement; De nombreux développeurs du noyau Linux sont partiellement ou totalement 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 des fonctions commerciales. Souvent, il n’est pas nécessaire que la fonctionnalité reste source fermée, de sorte que du code important est renvoyé à la communauté. Ceci a été décrit comme étant le modèle de développement des sources libres de l’ apiculteur . 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, le savoir-faire open source constitue un avantage évident pour un développeur.
  • Votre code de travail journalier peut être à code source ouvert. Un cas connexe est celui où des aspects du code que vous écrivez pour une entreprise dans le cadre de votre travail quotidien peuvent être à source ouverte sans nuire à l'entreprise. Le code peut être basé ou non sur un projet FOSS existant. Des outils et des bibliothèques généralement utiles peuvent souvent être mis à disposition de cette manière, et des preuves anecdotiques suggèrent que de tels projets peuvent souvent s'accélérer une fois qu'ils sont gérés par des volontaires.

2. Ajouter de la valeur aux projets existants

Une personne ou une entreprise peut se positionner en tant que fournisseur principal qui ajoute de la valeur à un projet ou à des projets open source existants. Il existe de nombreux exemples d'entreprises qui fournissent un service en empaquetant, en superposant, en combinant ou en prolongeant des projets existants. Ils se divisent en gros en deux catégories.

  • Soutien. Enthought ajoute de la valeur en créant une distribution Python personnalisée axée sur les bibliothèques scientifiques. Redhat et les autres distributions Linux apportent une valeur ajoutée en regroupant et en testant de nombreux projets Open Source disparates et en offrant des mécanismes d' installation et de mise à niveau faciles à utiliser . Ces sociétés vendent des services de support de la même manière que beaucoup de fournisseurs propriétaires.
  • Modèle Freemium . Sous ce modèle, une version de base du logiciel ou du service est gratuite. des fonctionnalités supplémentaires "premium" coûtent normalement en supplément. Le logiciel Sleepycat fournit des fonctionnalités supplémentaires à la base de données Berkeley 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 proposant des options gratuites (comme dans la bière) et premium.

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

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

4. Consulter

Le travail en source ouverte peut fournir un moyen d’obtenir une visibilité utile de la communauté.

  • Mise en valeur des capacités. Pouvoir vérifier le travail et les compétences d'un développeur en examinant les projets open source auxquels il participe a été un puissant attrait pour les employeurs potentiels .
  • Renforcement de la réputation. Avoir une réputation de haut niveau dans une communauté open source peut donner lieu à des interventions , des demandes de formation ou des offres de rédaction de livres basées sur votre expertise.
  • Être l'expert. Être un acteur important d’une technologie dont les entreprises ont besoin, c’est être en demande de conseils, d’assistance et de formation personnalisés à cette technologie. Cela peut conduire à la création d'un créneau spécifique dans votre domaine d'expertise.

5. Canaux auxiliaires

Enfin, les revenus peuvent être générés par des canaux auxiliaires tels que la publicité (comme le fait Stackoverflow ), des dons ou par l’utilisation de techniques malveillantes dans le logiciel lui-même, qui ont pour but d’ennuyer un utilisateur en lui fournissant des contributions financières. 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 de shareware non libres .

ire_and_curses
la source
21

Parce que vous êtes le créateur de ce système, vous êtes l'expert ultime. Les sociétés à but lucratif qui utilisent ou souhaitent utiliser votre logiciel peuvent vous faire participer à certains travaux de conseil. En outre, vous auriez le droit de prendre la parole lors de congrès que je dirais 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édit lorsque vous recherchez un travail à contrat.

Dimitry
la source
17

Voici un exemple.

Si vous restez dans la communauté Qmail, vous verrez qu'il y a quelques personnes qui connaissent Qmail à fond. Quelques-uns d'entre eux deviennent la référence si vous voulez une extension des fonctionnalités de Qmail. Ils obtiennent des emplois contractuels dans lesquels ils sont assis à la maison, écrivent une extension de Qmail et sont payés pour cela.

Si cela vous semble être un style de vie, essayez-le - trouvez un créneau et prenez des emplois à contrat. 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 le publiez en tant que code source ouvert, mais ils doivent l’utiliser.

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

svelte
la source
Les emplois contractuels sont irréguliers et, à mon avis, ne constituent pas un bon choix de carrière. Il semble préférable d’avoir un emploi rémunéré (fiable) ou une start-up (un pari mais au moins un gain potentiel).
Sixtyfootersdude
15

D'après mon expérience, écrire à l'OSS ne vous rapporte pas d'argent; mais cela vous rend beaucoup plus précieux, et donc utilisable. En raison des capacités très précises que vous tirez de la pratique et de la possibilité d'utiliser les logiciels libres existants, votre familiarité avec l'écosystème vous permet de perdre beaucoup de temps à évaluer ce qui existe déjà pour éviter de réécrire la roue.

Javier
la source
11

La plupart du temps, les entreprises gagnent de l'argent en utilisant le modèle de l' apiculteur . Pour l'essentiel, vos contributeurs open source peuvent utiliser gratuitement votre dernier logiciel, tandis que vos clients disposent d'un produit fiable et mature. Red Hat, Novell et Sun utilisent tous des variantes de ce modèle.

Une autre option est la consultation et la formation. Si vous avez beaucoup d'expérience dans l'utilisation d'un produit donné (ou encore mieux, vous l'avez inventé), alors les gens seront peut-être disposés à vous payer de l'argent pour leur apprendre à l'utiliser. C'est le modèle utilisé par Canonical. Cela ne signifie pas nécessairement que vous devez effectuer un travail de type sysadmin à moins que ce ne soit votre goût. 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.

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

Jason Baker
la source
10

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

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

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

De nombreuses entreprises financent le développement du noyau Linux, et pas seulement les distributeurs Linux.

Certains développeurs exercent également une activité de conseil et utilisent le développement logiciel pour soutenir leur travail principal ou comme vitrine.

sleske
la source
7

il y a pas mal de façons différentes

  • Financement par une autre entreprise (par exemple Google, qui paie la moitié de son temps à Guido van Rossum)
  • Vente de services d'assistance
  • Services de conseil en vente
  • Construire un profil pour vous-même via opensource en espérant que cela mène à d'autres choses comme parler, créer un livre, trouver un emploi bien rémunéré
  • Filature d'une version commerciale du produit pour les clients "entreprise" par exemple

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

olle
la source
6


Créez un site Web sur un produit opensource (votre application, un forum, un site de support, etc.) et placez quelques publicités.

Cela ferait l'affaire.

friol
la source
2
Bien sûr, vous pourriez gagner de l'argent, mais vous ne pourriez pas gagner votre vie avec les publicités.
1
Bien que Google ait eu de la chance avec eux;)
Michael Durrant
6

J'ai gagné de l'argent par inadvertance grâce à un logiciel open source, tout comme un ami. Nous avons eu des cas similaires, mais je ne parlerai que du mien: j'ai écrit un décodeur VCDiff à code source ouvert, essentiellement parce que les spécifications avaient l'air sympa. (Longue histoire, mais au départ, j'allais l'écrire à l'heure de la société, mais j'ai fini par le faire le vendredi soir.)

Quelques années plus tard, une société m'a demandé de l'utiliser dans un logiciel 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 conclu le marché et les deux parties étaient heureuses.

L’objectif n’était jamais de gagner de l’argent - c’était simplement un effet secondaire de la production de quelque chose qu’une autre partie voulait, au fond.

Jon Skeet
la source
3
Je pense que vous avez touché un point important: vous ne passez pas au open source pour de l'argent.
@ Bernard: Je suppose que votre déclaration exclut Sun, Novell, Red Hat, Google, IBM, Apple et même Microsoft?
Jason Baker
Non, je veux dire en tant qu'individu, son intention ne devrait pas être de gagner de l'argent. Pas que ce soit impossible, ni même difficile ou indésirable.
@ Jason - Je ne pense pas que Microsoft ait jamais "ouvert" à l'open source.
Chris Lutz
5

Je pense qu'un scénario courant est qu'ils ont aussi des emplois rémunérés. Une grande partie du travail open source provient du temps libre des développeurs et d'é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 à un fournisseur pour aider d'autres développeurs confrontés à un scénario similaire.

Mark Embling
la source
4

Le développement d'un projet de logiciel open source ne vous rapportera probablement pas beaucoup d'argent. Fournir un support premium, personnalisations, etc. possible. Je fais beaucoup de changements sur le côté en développant des extensions et des versions personnalisées 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, ainsi que sous une licence commerciale, où une personne qui achète une licence commerciale est autorisée à conserver les modifications et à les revendre à la propriété exclusive et à les vendre sans libérer le code source.

Gerald
la source
3

Si vous voulez réellement gagner de l'argent en réalisant votre propre projet open source, je pense que c'est un très long coup. Par ailleurs, de nombreux travaux bien rémunérés nécessitent de travailler avec des technologies Open Source ou de développer des logiciels Open Source dans des entreprises telles que Red Hat, Sun, IBM, voire Microsoft.

Nemanja Trifunovic
la source
3

La réponse à votre réelle question

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

Est-ce oui, et il y a 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 de logiciels libres correspondant à vos compétences et / ou intérêts.

Enfin, 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, j'ai découvert qu'après avoir obtenu le poste).

Davide
la source
2

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, ainsi qu'un support et une maintenance à long terme.

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

C'est un bon exemple pour une société sri lankaise basée sur des produits opensource.

WSO2

Chathuranga Chandrasekara
la source
2

Je connais assez bien deux sociétés open source prospères et rentables:

  • Jusqu’à leur acquisition par Oracle, SleepyCat Software gagnait 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 ne l’ait pas fait et comptait une douzaine d’employés.

  • Chez Scheme gagne de l'argent en ajoutant des améliorations à son compilateur et en vendant des versions en code natif de son compilateur. Les améliorations typiques peuvent inclure un nouveau back-end; une amélioration récente plus ambitieuse a été 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 en ce sens que l'interprète est open source mais que le compilateur ne l'est pas.

Cygnus et Red Hat vendent tous deux un "support" ainsi que des versions spécialisées de leurs logiciels, mais le logiciel est également vendu. Je ne comprends pas vraiment ce modèle économique.

Ce que je retiens de ces exemples, c'est que si votre logiciel est exceptionnel dans sa catégorie, les gens vont vous payer pour les aider à utiliser vos données pour résoudre des problèmes . Donc, c'est presque comme du conseil.

Norman Ramsey
la source
Je pense que l'interprète de Chez Scheme est gratuit, mais pas open source. Je n'ai vu que des binaires pour l'interprète Chez Scheme. Et Google n'a pas aidé.
Shannon Severance
2

De par sa nature, le code ne permet généralement pas de gagner de l'argent directement, car il est ouvert. Vous pouvez utiliser une double licence, mais cela peut également déstabiliser la communauté des logiciels libres.

Le moyen le plus simple est probablement de travailler pour une entreprise qui produit des logiciels open source. Vous êtes payé pour écrire du code et la société gagne de l'argent grâce au support technique, mais vous n'avez pas besoin de vous impliquer directement dans ce domaine.

Ou vous pouvez écrire à OSS pour constituer un représentant et, espérons-le, obtenir un contrat / un travail à temps plein.

Draemon
la source
Pas besoin de double licence. Rien ne vous empêche de vendre du code GPL. Le seul problème est que vous ne pouvez pas empêcher l’acheteur de le vendre ou de le céder lui-même. Mieux vaut vendre le service d’écriture du code que les produits qui le constituent.
slim
Ce n'est pas vrai. Vous pouvez effectivement le vendre, mais vous le distribuez alors en dehors des termes de la GPL (ce que vous êtes autorisé à faire en tant que détenteur du copyright). Cela ne le rend pas du domaine public. Mieux vaut rendre explicite cette licence alternative.
1

Vous pouvez le faire de différentes manières. À l'heure actuelle, le modèle freemium est populaire.
Alternativement, comme d'autres ont posté des travaux open source, ils sont mis de côté. Le modèle que j'utilise consiste à utiliser l'open source sur mon lieu de travail et à verser mes contributions à la ligne principale. Vous devez avoir le soutien de la direction, mais cela fonctionne. Rappelez-vous aussi dans les paroles de Stallman Free comme dans Freedom

rh0dium
la source
1

Je pense que c’est un fait bien reconnu que le logiciel, une fois installé, a une valeur supérieure à son prix, car il est désormais "déjà présent". Je parle de plus d'applications de style entreprise.

De nombreuses entreprises vous facturent lorsque vous achetez le logiciel, puis gardez le pied dans votre porte avec des contrats de maintenance, vous permettant ainsi de gagner plus de dollars que si vous l'aviez acheté 7 fois. Je sais que c’est certainement le cas lorsque je travaille avec un logiciel propriétaire âgé de plus de 30 ans!

Il se trouve que ce logiciel est gratuit à installer (considérez-le comme le modèle commercial du "médicament gratuit au premier abord"). Bien entendu, le défi consiste à choisir un projet bien entretenu et doté d’une bonne communauté de soutien en ligne. Mais là encore, c'est la même chose avec les logiciels non libres.

Migration vers et hors 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 "cèdent" généralement le service de migration vers ces applications, ainsi que d’autres services pour vous permettre de rester plus facilement avec elles.

Les applications O / S ont tendance à avoir une courbe d’apprentissage plus longue au début, ce qui nécessite des contrats de maintenance. Il existe donc de nombreuses possibilités de gagner de l'argent

À mon avis, aucun des deux modèles d’affaires n’est meilleur, mais différent. Il se trouve que le modèle propriétaire est plus répandu.

KevinDeus
la source
1

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 leur argent. Les raisons peuvent être nombreuses, mais si nous les limitons, cela revient à 1) Gratter pour le plaisir 2) Gagner en crédibilité 3) Améliorer les connaissances dans cette langue / ce domaine particulier.

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

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

Krishna
la source
0

De nos jours, beaucoup (beaucoup?) D'entreprises paient le développeur pour contribuer au logiciel opensource car son activité est basée sur un logiciel opensource ou dérivée d'un logiciel opensource.

neuro
la source