Guadagnare con Open Source come sviluppatore?


109

Sono attualmente uno studente (Applied Information Technology) e facciamo la maggior parte della nostra programmazione in C # e Java. Mi chiedevo come posso fare come sviluppatore, fare soldi con l'open source. So che c'è la storia di dare supporto o fornire servizi, ma non sono un amministratore di sistema e non mi piace il lavoro di amministratore di sistema. In realtà mi piacerebbe mettere le mani su C e C ++ in futuro e fare qualche sviluppo di basso livello.

Quindi la mia vera domanda è: ci sono soldi da guadagnare con lo sviluppo del software Open Source e come?

Modifica: basta sottolineare che l'avvio del mio progetto Open Source non è un requisito.


Leggi il libro di Eric Raymond: The Cathedral and the Bazaar
Dipan Mehta

"Offrire supporto / fornire servizi" all'open source non implica necessariamente il lavoro di amministratore di sistema. Ad esempio, forse un cliente troverà che un'app open source è quasi perfetta per le sue esigenze se ha una piccola mod di codice creata e ti assumeranno per programmare quella mod di codice.
James,

possibile duplicato di Perché sviluppare programmi gratuiti e open source? "Perché tutto deve riguardare i soldi? Come pensi che funzioni Wikipedia? Nessuno viene pagato per mettere contenuti su Wikipedia, eppure è discutibile la migliore enciclopedia in circolazione ... Parliamo di soldi ..."
moscerino

Come tutti hanno detto, la maggior parte degli sviluppatori OSS non viene pagato per i loro sforzi. È un brillante modello di business. Basti pensare ai miliardi di dollari di diritti di licenza risparmiati da società gigantesche utilizzando OSS. I dirigenti di queste società devono pizzicarsi ogni mattina per assicurarsi che non stiano sognando. In qualche modo hanno convinto un esercito di persone a lavorare gratis per loro. Ha funzionato così bene con i software che ora stanno estendendo il modello ad altre aree, giornalismo e fotografia. Lo sviluppo di OSS è un po 'come la religione, ancora una volta un mucchio di jumbo mumbo proposto questa volta da grandi utenti

Risposte:


105

Questa risposta riassume molte delle risposte alle seguenti domande, insieme ad ulteriori ricerche e opinioni.

Sinossi

L'open source può essere un modello di business primario o ausiliario praticabile, sia direttamente attraverso il lavoro di progetto specifico sia indirettamente attraverso l'acquisizione di competenze, esperienza e reputazione. Potrebbero inoltre esserci ulteriori motivazioni; la soddisfazione di produrre software utile agli altri, il "graffio del proprio prurito personale" (il primo passo verso un buon software open source, secondo Eric S. Raymond ), o ragioni filosofiche , normalmente basate sul concetto di software libero , o l' approccio copyleft sostenuto da Richard Stallman , o l'approccio più permissivo delle licenze BSD .

Modi per guadagnare denaro tramite Open Source

1. Sponsorizzazione da parte di un'azienda

Questo può accadere in diversi modi.

  • Lavoro permanente per continuare a lavorare su progetti di alto profilo. Questo è probabilmente il caso più raro. Se sei un membro senior di un grande progetto open source, qualcuno come Linus Torvalds , Guido van Rossum o Theo de Raadt , probabilmente sarai in grado di continuare a lavorare sul tuo progetto pur essendo supportato finanziariamente da una grande azienda come Google o IBM . Sebbene questa modalità di supporto sia relativamente rara, non è necessario essere necessariamente una superstar open source per garantire questo tipo di finanziamento; molti sviluppatori del kernel Linux sono parzialmente o interamente finanziati da aziende come Red Hat .
  • Pagato per funzionalità o estensioni specifiche. Alcune aziende offrono taglie per avere specifiche funzionalità implementate in software open source che usano per funzioni aziendali. Spesso non è necessario che la funzione rimanga chiusa, quindi viene fornito un codice significativo alla comunità. Questo è stato descritto come il modello apicoltore di sviluppo open source. In alcuni casi le funzionalità aggiuntive sono richieste per rimanere proprietarie, ma si basano su una base di codice open source. In entrambi i casi, le competenze open source rappresentano un chiaro vantaggio per uno sviluppatore.
  • Il tuo codice di lavoro giornaliero può essere aperto. Un caso correlato è quello in cui gli aspetti del codice che scrivi per un'azienda nel corso del tuo lavoro quotidiano possono essere aperti senza danni alla società. Il codice può o meno essere basato su un progetto FOSS esistente. Strumenti e biblioteche generalmente utili possono essere spesso rilasciati in questo modo e prove aneddotiche suggeriscono che tali progetti possono spesso accelerare quando diventano guidati dai volontari.

2. Aggiungi valore ai progetti esistenti

Un individuo o un'azienda può posizionarsi come fornitore primario che aggiunge valore a uno o più progetti open source esistenti. Esistono molti esempi di aziende che forniscono un servizio confezionando, stratificando, combinando o estendendo progetti esistenti. Si dividono sostanzialmente in due categorie.

  • Supporto. Enthought aggiunge valore confezionando una distribuzione Python personalizzata incentrata sulle librerie scientifiche. Redhat e le altre distribuzioni Linux aggiungono valore raccogliendo e testando molti progetti open source diversi e fornendo meccanismi di installazione e aggiornamento di facile utilizzo . Queste aziende vendono servizi di supporto allo stesso modo di molti provider proprietari.
  • Modello Freemium . In base a questo modello, una versione base del software o del servizio è gratuita; le funzioni "premium" aggiuntive normalmente costano di più. Il software Sleepycat ha fornito funzionalità extra per il DB Berkeley con una licenza proprietaria. Cedega fornisce una reimplementazione dell'API di Windows sotto Linux, rilasciata come una combinazione di codice libero e proprietario. Questo modello non deve essere open source; Gmail per le organizzazioni è un esempio di un servizio che offre opzioni gratuite (come nella birra) e premium.

3. Codice di offerta secondo un modello a doppia licenza

Un approccio potente consiste nell'offrire software con due licenze alternative , una licenza copyleft che richieda il rilascio di modifiche alla comunità in caso di distribuzione del software e una licenza commerciale che consenta l'utilizzo del software senza restrizioni open source. Questo approccio è stato applicato con successo da grandi progetti come Qt e Open Office , nonché da piccoli progetti una tantum .

4. Consultare

Il lavoro open source può fornire un modo per ottenere preziosa visibilità della comunità.

  • Una vetrina per le abilità. Essere in grado di verificare il lavoro e la competenza di uno sviluppatore osservando i progetti open source in cui sono stati coinvolti è un forte vantaggio per i potenziali datori di lavoro .
  • Costruzione della reputazione. Avere una reputazione di alto profilo in una comunità open source può portare a impegni di conversazione , richieste di formazione o offerte di scrittura di libri basate sulla tua esperienza.
  • Essere l'esperto. Essere un attore significativo in una tecnologia di cui le aziende hanno bisogno, significa essere richiesti per consulenza personalizzata, supporto e formazione in quella tecnologia. Ciò può portare alla creazione di una nicchia di lavoro specifica nella propria area di competenza.

5. Canali ausiliari

Infine, le entrate possono essere derivate attraverso canali ausiliari come la pubblicità (come fa Stackoverflow ), donazioni o mediante l'uso di tecniche nagware nel software stesso che mirano a infastidire un utente nel fornire contributi finanziari all'autore. Queste tecniche non sono specifiche per i modelli di sviluppo Open Source. Ad esempio, vengono spesso utilizzati da prodotti shareware non gratuiti .


21

Poiché sei il creatore di questo sistema, sei il "massimo esperto". Le società a scopo di lucro che utilizzano o desiderano utilizzare il tuo software potrebbero farti coinvolgere per alcuni lavori di consulenza. Inoltre, ti qualificheresti a parlare a convegni che ho sentito ben pagato.

Il contributo del codice a un progetto esistente è anche un buon modo per far conoscere il tuo nome. Più contribuisci, maggiore è il tuo credito quando cerchi lavoro a contratto.


17

Ecco un esempio

Se esci nella comunità di Qmail, scoprirai che alcune persone conoscono Qmail a fondo. Solo un paio di loro diventano i ragazzi preferiti se vuoi un'estensione della funzionalità di Qmail. Ricevono lavori in appalto che li coinvolgono seduti a casa, scrivendo un'estensione di Qmail e vengono pagati per questo.

Se questo suona come uno stile di vita che potresti scegliere, provalo - trova una nicchia e prendi un contratto. Potresti offrire termini diversi ai tuoi clienti, a seconda che desiderino possedere il codice che produci open-source o se rilasci il codice come open source, ma possono usarlo.

Pensala in questo modo - ci sono molte situazioni in cui il cliente vuole semplicemente che questo codice esista . A loro non importa se hanno o meno accesso esclusivo ad esso.


I lavori di appalto sono irregolari e secondo me non sono una buona scelta di carriera. Sembra meglio avere un lavoro salariale (affidabile) o una startup (una scommessa ma almeno c'è un potenziale guadagno).
sixtyfootersdude,

15

Nella mia esperienza, scrivere OSS non ti dà soldi; ma ti rende molto più prezioso e quindi utilizzabile. Sia per le capacità altamente sintonizzate che si ottengono dalla pratica, sia perché quando si è in grado di utilizzare l'OSS esistente, la propria familiarità con l'ecosistema consente di perdere molto meno tempo a valutare ciò che è già presente per evitare di riscrivere la ruota.


11

Il più delle volte, le aziende fanno soldi usando il modello dell'apicoltore . In sostanza, i tuoi collaboratori open source possono utilizzare gratuitamente il tuo ultimo e il più grande mentre i tuoi clienti ottengono un prodotto affidabile e maturo. Red Hat, Novell e Sun utilizzano tutte le varianti di questo modello.

Un'altra opzione è la consulenza e la formazione. Se hai molta esperienza nell'uso di un determinato prodotto (o meglio ancora, lo hai inventato), le persone potrebbero essere disposte a pagarti denaro per insegnare loro ad usarlo. Questo è il modello utilizzato da Canonical. Questo non significa necessariamente che devi fare un lavoro di tipo sysadmin a meno che non faccia per te. Dopo tutto, anche i programmatori, gli utenti finali e i dirigenti hanno bisogno di formazione.

In terzo luogo, come studente, dovresti considerare seriamente Google Summer of Code la prossima estate.

Nel complesso, direi che valgono la pena i contributi open source indipendentemente dal fatto che tu li guadagni direttamente. Tuttavia, temo che probabilmente non realizzerai i benefici a breve termine.


10

Dipende davvero. Molti fanno semplicemente lo sviluppo open source come hobby e hanno un lavoro diurno (che spesso è, anche se non sempre, anche sviluppo software).

Alcuni sono pagati da aziende che hanno un interesse nel progetto open source. LWN.net ha pubblicato un articolo su chi paga gli sviluppatori del kernel Linux, ad esempio:

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

Risulta che molte aziende finanziano lo sviluppo del kernel Linux e non solo i distributori Linux.

Alcuni sviluppatori gestiscono anche un'attività di consulenza e utilizzano lo sviluppo di software per supportare il loro lavoro principale o come vetrina.


7

ci sono molti modi diversi

  • Finanziamenti di un'altra società (ad esempio google che paga Guido van Rossum per lavorare su Python per metà del suo tempo)
  • Vendita di servizi di supporto
  • Vendita di servizi di consulenza
  • Costruire un profilo per te attraverso opensource sperando che porti ad altre cose come parlare, scrivere libri, ottenere un buon lavoro retribuito
  • Filatura di una versione commerciale del prodotto, ad esempio per i clienti "enterprise"

e poi i più grandi penso che stiano estendendo le loro conoscenze e ricevendo amore dagli utenti dei loro prodotti.


6


Crea un sito Web su un prodotto opensource (la tua applicazione, un forum, un sito di supporto, ecc.) E inserisci alcuni annunci.

Quello farebbe il trucco.


2
Certo, potresti guadagnare qualche soldo, ma non puoi guadagnarti da vivere con la pubblicità.

1
Anche se Google ha avuto un po 'di fortuna con loro;)
Michael Durrant,

6

Ho fatto soldi inavvertitamente attraverso software open source, come ha fatto un amico. Abbiamo avuto casi simili, ma parlerò solo dei miei: ho scritto un decoder VCDiff open source, fondamentalmente perché le specifiche sembravano belle. (Lunga storia, ma in origine stavo per scriverlo in orario di lavoro, ma alla fine l'ho fatto invece un venerdì sera.)

Qualche anno dopo, fui avvicinato da una società che voleva usarlo in un pacchetto commerciale, ma senza l'attribuzione richiesta. Sono stati felici di pagare un canone per questo, e mi hanno presentato una licenza non esclusiva estremamente ragionevole. Abbiamo fatto l'accordo, ed entrambe le parti erano felici.

L'obiettivo non è mai stato quello di fare soldi - questo è accaduto solo come effetto collaterale della produzione di qualcosa che un altro partito voleva, in sostanza.


3
Penso che tu abbia centrato un punto importante: non vai in open source per soldi.

@Bernard: suppongo che la tua dichiarazione escluda Sun, Novell, Red Hat, Google, IBM, Apple e persino Microsoft?
Jason Baker,

No, intendo come individuo, la propria intenzione non dovrebbe essere quella di fare soldi. Non che sia impossibile, o anche difficile o indesiderato.

@Jason - Non credo che Microsoft abbia mai "inserito" l'open source.
Chris Lutz,

5

Penso che uno scenario comune sia che hanno anche lavori retribuiti. Molto lavoro open source deriva dal tempo libero degli sviluppatori e da elementi del loro lavoro retribuito.

Un esempio potrebbe essere la creazione di una soluzione per risolvere un problema specifico sul lavoro e l'approvvigionamento aperto della soluzione per aiutare altri sviluppatori ad affrontare uno scenario simile.


4

Lo sviluppo di un progetto software open source probabilmente non ti farà guadagnare molti soldi. Fornire supporto premium, personalizzazioni, ecc. Faccio un bel po 'di cambiamenti sul lato sviluppando estensioni e build personalizzate di Firefox, Thunderbird, Red5 e alcuni altri progetti open source. Gran parte di ciò che creo viene anche restituito alla comunità open source.

Esiste anche la possibilità di un sistema di doppia licenza. Ad esempio, è possibile rilasciare il software con una licenza di tipo GPL e anche con una licenza commerciale in cui a qualcuno che acquista una licenza commerciale è consentito mantenere le modifiche proprietarie e venderlo senza rilasciare il codice sorgente.


3

Se vuoi davvero fare soldi realizzando il tuo progetto open source, penso che sia un tiro piuttosto lungo. D'altra parte, ci sono molti lavori ben pagati che richiedono il lavoro con tecnologie Open source o lo sviluppo di software open source in aziende come Red Hat, Sun, IBM, persino Microsoft.


3

La risposta alla tua vera domanda

c'è denaro da guadagnare con lo sviluppo del software Open Source e come?

È sì, e ci sono diversi modi. Se vuoi solo diventare uno sviluppatore, ovvero non avviare un'attività in proprio, la cosa migliore da iniziare è partecipare ai progetti che ti piacciono. Quindi, potresti trovare opportunità come questa: http://webapps.ubuntu.com/employment/canonical_GDOS/ (ce ne sono molte in campi diversi, MySQL, solo per citare un altro "grande" nome).

Quindi, crea il tuo profilo su LinkedIn e unisciti ai gruppi OSS pertinenti alle tue competenze e / o interessi.

Ultimo, ma non meno importante, unisciti a un gruppo locale (ad esempio LUG, JUG) e leggi la mailing list. Spesso in queste liste compaiono molte offerte di lavoro (purtroppo ho scoperto solo dopo aver ottenuto il lavoro).


2

Alcune società di software open source forniscono servizi e guadagnano denaro. (Come l'hosting di applicazioni, ecc.) Nella maggior parte dei casi forniscono alcune personalizzazioni in base alle esigenze del cliente e forniscono supporto e manutenzione nel tempo.

Non credo che le "Donazioni" possano fare un grande cambiamento, ma hanno anche un certo impatto da parte loro.

Questo è un buon esempio per un'azienda dello Sri Lanka basata su prodotti open source.

WSO2


2

Ci sono due società open source di successo e redditizie che conosco abbastanza bene:

  • Il software SleepyCat, fino a quando non sono stati acquistati da Oracle, ha fatto soldi supportando e migliorando Berkeley DB. Sebbene uno dei fondatori avesse un lavoro giornaliero, l'altro no, e avevano una dozzina di impiegati.

  • Chez Scheme guadagna aggiungendo miglioramenti al proprio compilatore e vendendo versioni in codice nativo del proprio compilatore. I miglioramenti tipici potrebbero includere un nuovo back-end; un recente miglioramento più ambizioso è stato un pacchetto di thread nativi. Il fondatore (Kent Dybvig) ha un lavoro diurno; Non so quanti dipendenti abbia. Chez è insolito in quanto l'interprete è open source ma il compilatore no.

Cygnus e Red Hat vendono entrambi "supporto" e versioni specializzate del loro software, ma il software viene anche distribuito. Non capisco davvero questo modello di business.

Quello che tolgo da questi esempi è che se il tuo software è eccezionale nella sua classe, le persone ti pagheranno per aiutarli a usare le tue cose per risolvere i problemi . Quindi è quasi come una consulenza.


Penso che l'interprete di Chez Scheme sia gratuito, ma non open source. Ho visto solo binari per l'interprete Chez Scheme. E google non ha aiutato.
Shannon Severance,

2

Per sua natura, generalmente non puoi guadagnare direttamente dal codice, poiché è aperto. È possibile ottenere una doppia licenza, ma ciò può scoraggiare anche la comunità OSS.

Forse il modo più semplice è lavorare per un'azienda che produce software open source. Vieni pagato per la scrittura di codice e la società guadagna denaro tramite il supporto o altro, ma non devi essere coinvolto direttamente in quella parte delle cose.

Oppure puoi scrivere OSS per costruire un rappresentante e speriamo di ottenere un contratto di lavoro / lavoro a tempo pieno sul retro di esso.


Non è necessaria la doppia licenza. Non c'è nulla che ti impedisca di vendere il codice GPL. L'unico problema è che non puoi impedire all'acquirente di venderlo da solo o di regalarlo. Meglio vendere il servizio di scrittura del codice, che le merci che sono il codice.
magro,

Non è vero. Puoi davvero venderlo, ma poi lo stai distribuendo al di fuori dei termini della GPL (che come detentore del copyright sei autorizzato a fare). Ciò non lo rende di dominio pubblico. Meglio rendere esplicita questa licenza alternativa.

1

Puoi farlo in diversi modi. In questo momento il modello freemium è popolare.
In alternativa, come altri hanno pubblicato, l'opera open source viene messa da parte. Il modello che utilizzo è quello di utilizzare l'open source nel mio luogo di lavoro e contribuire con i miei contributi alla linea principale. Devi avere un buy-in dalla direzione ma funziona. Ricorda anche nelle parole di Stallman Free come in Freedom


1

Penso che ormai sia un fatto accettato che quel software, una volta installato, valga più del suo prezzo perché ora è diventato "già lì". Sto parlando di più app in stile enterprise.

Molte aziende ti addebitano quando acquisti il ​​software, quindi mantengono il passo con i contratti di manutenzione, finendo per guadagnare più dollari che se lo avessi acquistato 7 volte. So che è certamente il caso in cui lavoro con un software proprietario che ha> 30 anni!

Accade semplicemente che questo software sia gratuito da installare (pensalo come il modello di business "Droga gratis all'inizio"). La sfida ovviamente è scegliere un progetto che sia ben mantenuto e che abbia una buona comunità di supporto online. Ma poi è lo stesso anche con software non libero.

La migrazione da e verso l'Open source tende ad essere molto più semplice delle app proprietarie perché tendono a supportare formati aperti più spesso. Le app proprietarie in genere "regalano" il servizio di migrazione su di esse e altri servizi per rendere più facile il tuo soggiorno con loro.

Le app di O / S tendono inizialmente ad avere una curva di apprendimento più elevata che richiede praticamente contratti di manutenzione, quindi ci sono molte opportunità per fare $$

Secondo me, nessuno dei due modelli di business è migliore, solo diverso. Il modello proprietario sembra essere più diffuso.


1

Vedo due domande qui:

1) In che modo gli sviluppatori fanno soldi.

La maggior parte degli sviluppatori non lo fa per i soldi. Le ragioni possono essere molte, ma se le restringiamo, si riduce a 1) Grattarsi un prurito 2) Per guadagnare credibilità 3) Migliorare la conoscenza in quel particolare linguaggio / dominio.

2) Come fanno gli affari a fare soldi.

Di solito da supporto, formazione, certificazione e valorizzazione. Ma allora sorge la domanda: se il tuo prodotto è davvero buono, non avrà bisogno di molto supporto. Quindi deve essere quello che Joel chiama Consultingware .


0

Al giorno d'oggi, alcune (molte?) Aziende pagano lo sviluppatore per contribuire al software opensource poiché la loro attività si basa su software opensource o derivato da software opensource.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.