Perché qualcuno dovrebbe usare il proprio tempo per sviluppare un progetto open source gratuitamente e senza compensazione?
Per piccoli progetti, le ragioni potrebbero essere "hobby", "avere un po 'di esperienza", "fama", "gioia" ecc. ma non è così che funzionano i grandi progetti open source come Mozilla, OpenOffice, Linux.
Perché Sun ha acquistato StarDivision e ha reso StarOffice un programma open source (chiamato OpenOffice.org)? Perché Mozilla crea un browser di prim'ordine e lo distribuisce come open source? Perché ci sono persone che creano Linux, scrivono driver e quant'altro, e lo mettono a disposizione di tutti gratuitamente? Perché Microsoft crea driver opensource per Linux in modo che possa funzionare meglio nella virtualizzazione di MS?
Perché ha senso per gli affari. Guadagna in questo modo, o almeno ha intenzione di farlo.
In alcuni casi, il predominio dei prodotti di MS, ovvero Windows, Office, Internet Explorer, era il motivo per cui creava un prodotto concorrente, quindi sarebbe stato più difficile per MS utilizzare la dominanza desktop per conquistare altri domini, cioè server, servizi Internet, anche. Questo spiega, in qualche modo, OpenOffice.org e Mozilla.
In altri casi, il software open source ha lo scopo di guidare le vendite di hardware, altri software o servizi. I driver Open Source ovviamente aiutano a vendere componenti hardware agli utenti Linux. RedHat vende supporto per la loro distribuzione Linux, e vendono il fatto che il loro Linux è autentico RedHat. Altri prodotti, ad es. Oracle, sono certificati per l'uso su RedHat, ma non su CentOS, anche se probabilmente funziona altrettanto bene. L'hardware del server è certificato per RedHat, anche se altre distribuzioni di Linux probabilmente funzionano altrettanto bene. I grandi clienti non si preoccupano del prezzo, vogliono il certificato.
Alcune aziende, ad es. Google, sponsorizza molti progetti open source, perché aiuta la loro attività. Non lo fanno per l'altruismo. Vogliono un Internet gratuito, un Internet pervasivo, un Internet diffuso, dove le persone usano i servizi di Google in modo che Google generi entrate.
Perché tutto deve essere sul denaro? Come pensi che funzioni Wikipedia? Nessuno viene pagato per inserire contenuti su Wikipedia, tuttavia è discutibile la migliore enciclopedia intorno.
modifica
Parliamo di soldi.
I progetti open source, come tutti i progetti, sono scritti al di fuori del necessario. Hai un problema X e scrivi la libreria Y o l'applicazione Z per risolverlo, perché
Quindi ora hai trascorso alcune sere e nei fine settimana (e / o a pagamento) scrivendo la prossima cosa bollente fino a raggiungere un punto, dove il bambino inizia a camminare. Ora devi scegliere tra:
L'open source funziona, perché è una comunità. Perché è reciproco. Non ottieni denaro scrivendo codice open source. Ottieni denaro consumando codice open source. Allora perché scrivi codice open source? Per restituire qualcosa.
Questo è un hobby per alcune persone; credici o no.
Gillette sarà felice di darti un rasoio gratuito e venderti le lame.
Alcune persone fanno soldi in altri modi e vogliono restituire alla comunità. Sono sicuro che Linus Torvalds ha fatto un sacco di soldi 'off' di Linux senza vendere il codice e probabilmente gira denaro.
Non tutti i software open source sono stati concepiti o progettati per consentire a qualsiasi utente di scaricarli, installarli e utilizzarli, in modo che tu possa passare più tempo a seconda del livello di abilità e la maggior parte delle persone ne valuta il tempo.
La compensazione monetaria non è l'unica compensazione possibile. La fama (anche se per lo più in un cerchio limitato) è un'altra. Le gioie di mostrare ciò che hai fatto è ancora un altro.
Io, lo faccio principalmente perché ho voglia di scrivere software e se succede ad aiutare qualcun altro, vincono tutti.
Ci sono diversi motivi per sviluppare applicazioni open source. In generale, più è fondamentale la necessità di adattarsi meglio all'open source. Ad esempio, ASP.NET MVC, Ruby on Rails, Django, PHP e altri framework Web sono tutti open source. Esatto, anche Microsoft ha un progetto open source abbastanza noto. La necessità di un framework web ben organizzato che ti permetta di concentrarti sulla creazione di un'applicazione web è più grande dell'applicazione web specifica che stai costruendo.
Molte persone (me compreso) contribuiscono all'open source perché utilizziamo questi framework nel nostro lavoro diurno. È autoconservazione in un certo senso. Se non devo continuare a reinventare la ruota solo perché sono in una nuova compagnia, perché dovrei?
Per fare soldi con l'open source, questo è un argomento delicato. La maggior parte delle licenze open source ti consente di vendere il tuo software. La licenza specifica regola se è necessario condividere le modifiche (le licenze BSD / ASL non funzionano mentre le licenze GPL sono in genere nella maggior parte dei casi) o fornire l'attribuzione del progetto originale.
I casi che vedo lavorare più spesso sono:
La linea di fondo è che il codice sorgente potrebbe essere aperto, ma ci sono sempre persone che hanno bisogno di più del codice grezzo. Sono sicuro che ci sono più modi per fare soldi con l'open source, devi solo essere creativo.
Questa domanda non è specifica per l'open source, perché puoi scrivere codice, gratuitamente e non pubblicarlo mai al pubblico (anche se ciò sarebbe raro a causa di tutti i noti vantaggi del codice di condivisione).
La vera domanda è: perché fare qualcosa gratis? La risposta è, perché ti rende felice .
Personalmente, mi piace imparare, e apprendo più a lavorare sull'open source che a lavorare sul mio lavoro retribuito. Perché l'apprendimento migliora le mie capacità mi aiuta anche a ottenere posti di lavoro migliori.
C'è una varietà di motivi.
Alcune persone vengono pagate per averlo scritto, perché il loro datore di lavoro ritiene che valga la pena (e ci sono un sacco di potenziali ragioni per questo). Alcune persone avviano aziende basate su F / OSS perché possono ricavarne profitti.
Alcune persone usano F / OSS e vogliono restituire.
Alcune persone lo considerano un gioco di reputazione, come la ricerca accademica o la risposta alle domande qui.
Alcune persone vogliono un determinato software per i propri scopi e lo rilasciano solo perché quello che vogliono è usarlo e a volte possono ricevere suggerimenti utili se anche altre persone lo possono usare.
Oltre al denaro, ovviamente c'è fama - e poi loro stanno imparando come funziona qualcosa costruendolo e costruendo te stesso. Ottenere un'esperienza preziosa e commerciabile al di fuori della normale vita lavorativa. Penso che Ayende sia un buon esempio di questo.
Per inciso - in generale ho trovato alcuni dei migliori e più intuitivi progetti e framework con cui ho lavorato per essere open source - penso che le persone che sono veramente abbastanza appassionate per passare il loro tempo libero a costruire un progetto da zero o semplicemente a mantenerlo produrre un prodotto migliore di persone che sono state raggruppate insieme dal 9-5.
Non è solo per fare soldi ma più spesso per risparmiare denaro . La vasta libreria di buone librerie e strumenti OSS lo rende una scelta naturale.
Negli stessi casi (GPL e amici) ciò significa che sei legalmente obbligato a rendere anche il codice OSS risultante. In altri casi, è solo una scelta personale, ma puoi comunque ricevere altri premi (soprattutto qualche riconoscimento, a volte la possibilità di vendere supporto, a volte (mi è successo) un buon riferimento da mostrare ai potenziali datori di lavoro)
Puoi rilasciarlo con una licenza libera restrittiva, come GNU AGPL, e poi pagare per le eccezioni.
In più di un'occasione, ho contribuito con una patch a un progetto open source semplicemente perché volevo assicurarmi che la funzione / correzione fosse inclusa nelle versioni future.
Non sembra un tratto che qualcuno possa pubblicare qualcosa come open source semplicemente perché offre la possibilità che altri lo usino e lo mantengano attuale.
Ho lavorato con una persona che ha scritto codice che (IIRC) ha convalidato CUSIP . Lo ha pubblicato in rete. Anni dopo ha scaricato una lib CUSIP per un sistema diverso. È stato sorpreso di vedere un riferimento al codice che ha scritto anni prima.
Puoi supportarlo per ottenere denaro. Se hai un programma molto ben pensato e utilizzato dalla community, ad esempio jboss, puoi offrire i tuoi servizi e supporto. La gente pagherà per questo.
L'azienda per cui lavoro, è iniziata con un codice di dominio pubblico (scritto dal proprietario dell'attività commerciale) [L'open source era anni dall'invenzione]. Il suo modello di business originale doveva essere un consulente per usarlo (l'uso non è semplice e molte centinaia di persone si guadagnano da vivere consultando). Ovviamente le richieste di miglioramenti delle funzionalità erano così grandi da diventare un codice commerciale proprietario *. Tuttavia, la maggior parte degli stipendi guadagnati si riduce rapidamente a numeri: (1) Utenti che svolgono il proprio lavoro, (2) Consulenti del gruppo (1), infine (3) Sviluppatori / tester ecc.
Uso il plurale, perché diversi altri codici proprietari derivano dalla stessa versione del codice sorgente del dominio pubblico.
Potresti trovarti nella seguente posizione:
In questa situazione, partecipare a un progetto open source è una decisione aziendale perfettamente sensata.
Può anche essere una buona pubblicità.
Leggi altre domande sui tag open-source