Perché sviluppare programmi gratuiti e open source? [chiuso]


36

Perché qualcuno dovrebbe usare il proprio tempo per sviluppare un progetto open source gratuitamente e senza compenso?


10
Oh davvero, dobbiamo discutere ancora e ancora su questo argomento? Oggi anche MS crea alcuni programmi OpenSource.
user281377

18
@ammoQ: Anche se hai ragione, questo non è particolarmente utile.
back2dos

5
Beh ... non scrivo codice gratuitamente, ma trascorro 37,8 ore a settimana seduto a una scrivania a scrivere software rilasciato sotto licenza GPL. A volte il software viene creato per soddisfare un'esigenza aziendale o operativa. Il software stesso non ha alcun valore commerciale per un consumatore, pur fornendo valore alla business unit. Le persone che non usano altri prodotti dell'azienda non saranno interessate all'applicazione open source che non otterrà loro nulla - e anche se lo facessero, chi se ne frega?
TZHX,

25
Il tuo presupposto fondamentale non detto, secondo cui l'unica motivazione valida per il comportamento umano è il motivo del profitto, è disumanizzante, offensivo e, soprattutto, dimostrabilmente falso. Vedi youtube.com/watch?v=u6XAPnuFjJc per alcune ricerche reali sull'argomento.
Mason Wheeler,

16
Perché le persone siedono su StackExchange e aiutano le persone senza essere pagate?
kba,

Risposte:


58

Per piccoli progetti, le ragioni potrebbero essere "hobby", "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 regala come open source? Perché ci sono persone che creano Linux, scrivono driver e quant'altro e lo rendono disponibile a tutti gratuitamente? Perché Microsoft crea driver open source per Linux in modo che possa funzionare meglio nella virtualizzazione di MS?

Perché ha un senso per gli affari. Guadagnano soldi in quel modo, o almeno pianificano di farlo.

In alcuni casi, il dominio dei prodotti MS, ovvero Windows, Office, Internet Explorer, è stato il motivo per cui è stato creato un prodotto concorrente, quindi sarebbe più difficile per MS utilizzare il proprio dominio desktop per conquistare altri domini, ad esempio server, servizi Internet, pure. Questo spiega, per alcuni aspetti, 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 il supporto per la loro distribuzione Linux e vendono il fatto che il loro Linux è RedHat originale. Altri prodotti, ad esempio 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 Linux probabilmente funzionano altrettanto bene. I clienti con un sacco di soldi non si preoccupano del prezzo, vogliono il certificato.

Alcune aziende, ad esempio Google, sponsorizzano molti progetti open source, perché aiutano le loro attività. Non lo fanno per altruismo. Vogliono Internet gratuito, Internet pervasivo, Internet diffuso, in cui le persone utilizzano i servizi di Google in modo che Google generi entrate.


5
Un po 'scettico sul fatto che Google voglia una "Internet gratuita". Vogliono una rete diffusa e di uso frequente che porti a maggiori opportunità e alla fine a profitti per loro. Free è qualcosa di più discutibile. +1 lo stesso per una buona risposta.
Jon Hopkins,

13
Jon: gratuito come in "non controllato da un singolo fornitore" (probabilmente tranne loro)
user281377

1
Penso che questo non sia irrilevante per l'argomento: joelonsoftware.com/articles/StrategyLetterV.html
back2dos

back2dos: grazie per il link; L'ho letto prima, ma non riuscivo a ricordare dove e quando.
user281377

Google sponsorizza progetti open source come Chrome perché ottiene loro un nuovo prodotto relativamente economico che è competitivo con i leader di mercato in termini di funzionalità e prestazioni, ma possono aumentarlo con meccanismi di controllo sufficienti a generare un sacco di entrate in più - il valore predefinito Mi viene in mente il provider di ricerca. Sembra cinico, ma perché rilasciare Chrome quando sono già presenti altri browser basati su Webkit ( en.wikipedia.org/wiki/… ).
JBR Wilkinson,

26

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.

modificare:

Parliamo di soldi.

I progetti open source, come tutti i progetti, sono scritti per necessità. Hai un problema X e scrivi la libreria Y o l'applicazione Z per risolverlo, perché

  • Non ci sono strumenti che lo risolvano o
  • Non sono abbastanza buoni o
  • Non valgono la pena (scrivere il tuo strumento probabilmente "costa" di più, ma alla fine hai esattamente quello che vuoi e puoi modificarlo come vuoi, quindi il costo viene ammortizzato rapidamente).

Quindi ora hai trascorso alcune sere e fine settimana (e / o tempo pagato) scrivendo la prossima cosa calda fino a raggiungere un punto, in cui il bambino inizia a camminare. Ora devi scegliere tra:

  • Distribuzione commerciale: questo implica marketing, aspetti legali, assistenza clienti, fare tutte le correzioni da soli, ricevere tonnellate di richieste di funzionalità incredibilmente stupide e feedback non inutili. Alla fine ottieni ciò che resta del denaro una volta che tutti i parassiti ottengono il loro pezzo di torta. E probabilmente a nessuno piacerà il tuo prodotto perché costa troppo.
  • Distribuzione open source: questo implica ... uhm ... spingere il codice in un archivio pubblico e fare un annuncio o due su mailing list pertinenti. Riceverai il riconoscimento o anche un po 'di fama. Otterrai una base di utenti, che fornirà feedback costruttivi, utili segnalazioni di errori e forse anche patch. Ricevi alcune donazioni o vieni invitato ad alcune conferenze o vieni pagato per implementare le funzioni a o b. E hai prodotto molto valore, anche se nessuno ha pagato nulla. E la prossima volta che tu o la tua azienda avete bisogno di qualcosa, le probabilità sono buone, lo otterrete e lo otterrete gratuitamente.

L'open source funziona, perché è una comunità. Perché è reciproco. Non ottieni denaro scrivendo codice open source. Ottieni denaro consumando codice open source. Quindi perché scrivi un codice open source? Per restituire qualcosa.


4
"Perché tutto deve riguardare i soldi?" certo che no, ma programmare è qualcosa che alla gente piace essere pagato per farlo. (anche se ti piace, sono un programmatore e adoro programmare ma non lo farei gratuitamente)
Diego

@Diego: compilare enciclopedia è anche qualcosa che la gente viene pagata per fare. A proposito: aggiornato il mio post.
back2dos

12
@Diego: perdona la mia ingenuità ma come puoi dire che lo ami se non lo fai solo per amore?
Matt Ellen,

6
@Matt: l'amore non è mai solo per amore, è un'idea sbagliata.
user281377

1
Lo faccio solo per amore quando è qualcosa che voglio fare, una "sfida di programmazione" per me stesso. Non solo un "software noioso regolare".
Diego,

24

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 molti soldi "fuori" da Linux senza effettivamente vendere il codice e probabilmente fa perdere soldi.

Non tutti i software open source sono stati progettati o progettati per consentire a qualsiasi utente di scaricare, installare e utilizzare, quindi potresti finire per dedicare più tempo a seconda del livello di abilità e la maggior parte delle persone apprezza il loro tempo.


3
Intendi una maniglia per la rasatura gratuita. Il rasoio è la lama.
Joe Z.

Si chiama esca e amo modello di business. Lo stesso si può dire delle stampanti e delle cartucce en.wikipedia.org/wiki/Razor_and_blades_business_model
Sorter

Nella mia zona devi pagare anche per una maniglia :)
Nik

@JoeZ. - Sono cresciuto chiamando il tutto come un rasoio. e non ho mai incontrato nessuno che non sapesse di cosa stavo parlando fino ad ora. Forse ti riferisci alla maniglia, al portalama e alla stessa lama / rasoio come un rasoio?
JeffO,

11

La compensazione monetaria non è l'unica compensazione possibile. La fama (anche se principalmente per un circolo limitato) è un'altra. Le gioie di mostrare ciò che hai fatto è ancora un altro.

Io, lo faccio principalmente perché ho il bisogno di scrivere software e se succede ad aiutare qualcun altro, vince tutti.


4
E ti aiuta a trovare un lavoro.
destra

5

Questa domanda non è specifica dell'open source, perché puoi scrivere codice gratuitamente e non rilasciarlo mai al pubblico (anche se sarebbe raro a causa di tutti i vantaggi noti della condivisione del codice).

La vera domanda è: perché fare qualcosa gratuitamente? La risposta è perché ti rende felice .

Personalmente, amo imparare e imparo di più lavorando sull'open source che sul lavoro retribuito. Poiché l'apprendimento migliora le mie capacità, mi aiuta anche a ottenere posti di lavoro migliori.


4

Esistono diversi motivi per sviluppare applicazioni open source. In generale, più la necessità è fondamentale e meglio si adatta 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 consenta di concentrarti sulla creazione di un'applicazione Web è più ampia dell'applicazione web specifica che stai creando.

Molte persone (me compreso) contribuiscono all'open source perché usiamo questi framework nel nostro lavoro quotidiano. È autoconservazione in un certo senso. Se non devo continuare a reinventare la ruota solo perché sono in una nuova società, perché dovrei?

Per quanto riguarda fare soldi con l'open source, questo è un argomento difficile. La maggior parte delle licenze open source ti consente di vendere il tuo software. La licenza specifica stabilisce se è necessario condividere le modifiche (le licenze in stile BSD / ASL non lo fanno mentre nella maggior parte dei casi le licenze in stile GPL lo fanno) o fornire l'attribuzione al progetto originale.

I casi che vedo lavorare più spesso sono:

  • Supporto alla vendita. MySQL, Spring e pochi altri seguono questo modello e lo fanno bene.
  • Convenienza di vendita. RedHat, SuSE e altre distribuzioni Linux raggruppano un gruppo di applicazioni per comodità dell'utente.
  • Vendita di elettrodomestici. In breve, questo è il modo in cui aziende come Google, Nokia, Linksys, ecc. Fanno soldi confezionando insieme prodotti proprietari e open source e proteggendoli. È probabilmente l'opzione più redditizia.
  • Vendita magliette / tazze / ecc. Non porta molto, ma meglio di niente.

La linea di fondo è che il codice sorgente può essere aperto, ma ci sono sempre persone che hanno bisogno di più del codice non elaborato. Sono sicuro che ci sono altri modi per fare soldi con l'open source, devi solo essere creativo.


2

C'è una varietà di ragioni.

Alcune persone vengono pagate per averlo scritto, perché il loro datore di lavoro ritiene che ne valga la pena (e ci sono molte ragioni potenziali per questo). Alcune persone avviano aziende basate su F / OSS perché possono trarne profitto.

Alcune persone usano F / OSS e vogliono restituire.

Alcune persone lo trattano come un gioco di reputazione, come la ricerca accademica o la risposta a domande qui.

Alcune persone desiderano un determinato software per i propri scopi e lo rilasciano semplicemente perché vogliono usarlo, e talvolta possono ottenere suggerimenti utili se anche altre persone possono usarlo.


1

Oltre al denaro, ovviamente c'è fama - e poi il loro sta imparando come qualcosa funziona costruendolo e costruendolo da solo. Acquisire esperienza preziosa e commerciabile al di fuori della normale vita lavorativa. Penso Ayende sia un buon esempio.

Per inciso - in genere ho trovato alcuni dei progetti e dei framework migliori e più intuitivi con cui ho lavorato per essere open source - penso che le persone che sono veramente abbastanza appassionate da passare il tempo libero a costruire un progetto partendo da graffiare o semplicemente mantenerlo produce un prodotto migliore rispetto alle persone che sono appena raggruppate insieme dal 9 al 5.


1

Non è solo per fare soldi, ma più spesso per risparmiare denaro . La vasta libreria di buone librerie e strumenti OSS ne fanno una scelta naturale.

Negli stessi casi (GPL e amici) ciò significa che sei legalmente obbligato a rendere anche il codice risultante OSS. In altri casi, è solo una scelta personale, ma puoi comunque ricevere altri premi (principalmente alcuni riconoscimenti, a volte la possibilità di vendere supporto, a volte (mi è successo) un buon riferimento da mostrare ai potenziali datori di lavoro)


1

Puoi rilasciarlo con una licenza gratuita restrittiva, come GNU AGPL, e quindi addebitare eccezioni.


È un'idea orribile.
destra

@WTP. È il modello di business di MySQL e x264, tra gli altri (anche se nessuno dei due usa GNU AGPL, per quanto ne so).
TRiG,

1

In più di un'occasione, ho contribuito con una patch a un progetto open source semplicemente perché volevo assicurarmi che funzionalità / correzione fossero incluse nelle versioni future.

Non sembra un tratto che qualcuno rilascerebbe qualcosa come open source semplicemente perché offriva la possibilità che altri lo usassero e lo tenessero aggiornato.

Ho lavorato con una persona che ha scritto codice che (IIRC) ha convalidato i CUSIP . Lo ha rilasciato in rete. Anni dopo ha scaricato una libreria CUSIP per un altro sistema. Fu sorpreso di vedere un riferimento al codice che aveva scritto anni prima.


0

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. Le persone pagheranno per questo.


0

L'outfit per cui lavoro è iniziato con un codice di dominio pubblico (scritto dal proprietario dell'azienda) [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 fanno una consulenza vivente). Ovviamente le richieste di miglioramenti delle funzionalità erano così grandi che è diventato un codice commerciale proprietario *. Tuttavia, la maggior parte degli stipendi guadagnati è in rapida diminuzione nella scala: (1) Utenti che fanno il loro lavoro, (2) Consulenti del gruppo (1), infine (3) Sviluppatori / tester ecc.

Uso il plurale, perché diversi altri codici proprietari sono derivati ​​dalla stessa versione del codice sorgente di dominio pubblico.


0

Potresti trovarti nella seguente posizione:

  • hai bisogno di un buon software per fare le cose per te
  • scopri che hai bisogno di un controllo molto maggiore su come funziona il software rispetto alle opzioni di configurazione delle offerte disponibili
  • hai accesso al codice sorgente per software che soddisfa quasi le tue esigenze e l'esperienza per modificarlo per esercitare il controllo di cui hai bisogno
  • devi solo apportare piccole modifiche per i tuoi scopi, ma vuoi beneficiare di molte altre modifiche fatte da altri, e il futuro dello sviluppo del software sembra brillante
  • le tue modifiche non sono sufficientemente isolate e sostanziali da considerarle come beni che vale la pena proteggere o vendere, o il sovraccarico aggiunto nel fare ciò supererebbe i benefici
  • sai che le tue modifiche possono essere utili a molti altri con esigenze simili alle tue; farli incorporare nella linea di sviluppo principale ti farà risparmiare sforzo, rispetto al mantenimento della tua copia biforcuta

In questa situazione, partecipare a un progetto open source è una decisione aziendale perfettamente sensata.

Può essere anche una buona pubblicità.

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.