L'open source non è dannoso per gli sviluppatori stessi? [chiuso]

19

Perché ai programmatori piace anche l'idea di open source? Non sto parlando dei creatori di questi progetti, ovviamente ottengono fama, ma sto parlando del settore in generale, perché siamo così affezionati al concetto di open source quando porta così tanti brutti effetti sul settore?

In primo luogo, progetti come wordpress e altri CMS, portano via molti lavori freelance in cui i clienti vogliono un blog o un semplice sito web. In secondo luogo, progetti come Rails e altre librerie e API, mettono fuori lavoro molti programmatori e riducono la richiesta di programmatori, perché ora con queste API open source, un programmatore può fare le cose che un tempo facevano i programmatori. E infine, con software open source come Notepad ++, ora le persone si sentono semplicemente divertenti quando chiedi loro di acquistare software.

Quindi, la domanda è: perché ci piace ancora l'open source se questo ci rende poveri? Probabilmente, la mia vita di programmatore sarebbe più difficile, ma almeno potrei guadagnarmi da vivere. Ma ora, è più come la macchina che sostituisce la cosa umana, è divertente, stiamo creando quelle "macchine" che sostituiscono noi stessi.

Diciamo che se hai inventato uno strumento, non devi condividerlo, aiuterà comunque te e la tua azienda. Anche senza questi strumenti open source, gli altri programmatori vivranno perché hanno ancora un lavoro che fa soldi.

    
posta Andy 10.03.2012 - 05:43
fonte

17 risposte

65

Perché ci piace l'hardware di base?
Intel e Dell mi hanno impedito di caricare i miei computer e creare i miei PCB.

Lingue di alto livello significa che non posso fatturare per 2 settimane di lavoro per una semplice funzione di stampa scritta in Assembly.

E infine Internet significa che le persone possono semplicemente porre domande gratuitamente e qualcuno risponderà a loro piuttosto che dover pagare me per scrivere libri e insegnare lezioni.

Ho appena trascorso un paio di giorni a installare e imparare scipy + numpy + skimage, il che significa che sono riuscito a scrivere un processore di immagini in un giorno. Questo mi rende più prezioso per gli azionisti della mia azienda che se avessi passato settimane di lavoro a esaminare la matematica di tutti i documenti originali e poi a codificare tutto in C ++.

    
risposta data 10.03.2012 - 13:26
fonte
31

projects like Rails and other libraries and APIs, they put a lot of programmers out of work, and make the demand for programmers smaller, because now with these open source APIs, one programmer can do things that 10 programmers used to do.

Hai qualche statistica che mostri questo? In effetti, secondo Paradosso di Jevons dovrebbero in realtà causare più richieste ai programmatori.

Inoltre, ci sono molti contributori all'open source e al software libero che vengono pagati per questo.

    
risposta data 10.03.2012 - 14:05
fonte
14

Sopra e oltre la risposta di Martin:

L'open source significa che hai l'opportunità di lavorare su progetti a cui probabilmente non avresti avuto la possibilità di lavorare se rimanessi fedele a ciò che hai fatto professionalmente. In questo, ci sono due vantaggi enormi :

  • Ti tiene interessato.
  • Impari da altri con cui altrimenti non avresti lavorato.

Entrambe ti rendono anche un programmatore migliore e più prezioso per la tua azienda.

    
risposta data 10.03.2012 - 06:00
fonte
11
  1. Alcuni sviluppatori di open source sono pagati per farlo. Se sono pagati per sviluppare un prodotto, il modello di business in base al quale la società fornisce quel prodotto non dovrebbe davvero avere importanza.
  2. Se non vengono pagati, avere il progetto open source sul proprio CV può renderli più richiesti dai potenziali datori di lavoro.
  3. La maggior parte dei progetti open source sono librerie / framework che richiedono ancora sviluppatori per incorporarli in prodotti.
  4. Con l'aumentare della quantità di strumenti open source, non riduce la quantità di lavoro che possiamo ottenere perché i prodotti che creiamo diventano sempre più avanzati, richiedendo sempre più strumenti per supportarli.
risposta data 10.03.2012 - 06:17
fonte
11

La tua posizione mi ricorda Brave New World . In quel libro, hanno bloccato artificialmente lo sviluppo scientifico e tecnologico, in modo che le persone non avrebbero perso il lavoro e lo stato non avrebbe perso il quo .

Anche così, uno dei tuoi punti ha attirato la mia attenzione:

First, projects like wordpress and other CMS, they take away a lot of freelance jobs where clients want a blog or a simple website.

Questo ragionamento è errato, secondo me, ed ecco perché:

  • Questi progetti portano via solo lavori freelance in cui ci si aspetta che i freelancer costruiscano l'intero blog da zero. D'altra parte, in realtà creano più lavori freelance per l'impostazione del CMS. La maggior parte dei clienti paganti non ha idea di cosa sia un CMS e non gli interessa se lo hai creato da zero o ha semplicemente configurato qualcosa finché funziona come previsto.
  • Può essere vero che in molti casi la configurazione di un CMS ti dà meno cache rispetto alla scrittura di un'applicazione completa, tuttavia considera che il tuo investimento è molto più basso poiché richiede meno tempo, quindi in generale dovresti avere un profitto netto .
  • A volte i clienti specificatamente vogliono che tu non usi un CMS ampiamente utilizzato o almeno lo personalizzi pesantemente in modo che il loro sito si distingua. Inutile dire che questo di solito costa di più. Come potete vedere, domanda e offerta hanno fatto il loro lavoro anche qui - il prezzo più basso per un prodotto industriale ha effettivamente aumentato il prezzo di uno fatto a mano.

Quindi espandi quel punto per includere altre librerie e API:

Secondly, projects like Rails and other libraries and API's, they put a lot of programmers out of work, and make the demand for programmers smaller, because now with these open source API's, one programmer can do things that 10 programmers used to do.

Ancora una volta, la mia risposta:

  • Queste librerie riducono la quantità di lavoro solo su base quantitativa , non qualitativo . In inglese: riducono solo le linee di codice, non la quantità di lavoro necessaria. Ora che queste librerie sono ampiamente disponibili, ci si aspetta che le usino per scrivere cose ancora più interessanti. Quindi, niente più blog e siti semplici, ora si stanno fatturando data mining, social web e altre cose nuove.
  • Non mettono in pratica i programmatori senza lavoro. Nei giorni precedenti, avresti codice per giorni solo per avere un software che invia alcuni dati a un altro computer. Poi, devi incontrare il programmatore di l'altro lato e decidere quale formato utilizzare per lo scambio di dati e solo allora fare in modo che il programma lavori, ecc. Quando avrai la possibilità di farlo quello, la tua azienda è al verde e tu senza lavoro. Oggi trovi le biblioteche e fai lo stesso lavoro in poche ore. La tua azienda guadagna, hai ancora il tuo lavoro e ancora più opportunità.
  • Ti piace davvero l'idea di te e di altri 9 programmatori che digitano il codice per un altro blog ancora e ancora centinaia di volte? Per favore, scusami se sembra un elitista bs, i criceti di codice non sono il tipo di programmatori che voglio vedere sviluppare nell'anno successivo. Per il loro bene e per il mio bene, se mai riuscirò a mantenere quel codice.
risposta data 22.11.2014 - 12:58
fonte
8

Un utile esperimento mentale qui è di lavorare all'indietro. Perché fermarsi ai framework web, e se tutto dovesse essere codificato a mano in assembly? Quanti lavori di programmatore ci sarebbero allora? Non molti, perché lo sviluppo di molte cose sarebbe troppo costoso e richiederebbe troppo tempo.

Avere un sacco di software da sviluppare gratuitamente espande il mercato che puoi raggiungere. Quanto è grande il mercato per un programma C che scrivi in un giorno? Non molto grande Quanto è grande il mercato di un sito web che ti porta un giorno a fare con alcuni framework gratuiti? Facilmente tra decine di milioni.

    
risposta data 10.03.2012 - 07:17
fonte
6

But now, it's more like machine replacing human, funny thing is, we are creating those "machines" that replace ourselves.

Sembra che tu abbia paura che a un certo punto tutto il software sarà scritto e finiremo il lavoro. In realtà, è vero il contrario. Il software non è mai veramente "fatto" fino a quando non viene più utilizzato. Più software c'è, più software c'è da mantenere, da migliorare e ricombinare in modi nuovi e interessanti.

Inoltre, l'aumento della disponibilità di software crea più client, non meno. Strumenti come MySQL e PostgreSQL aprono la potenza dei database a milioni di persone e organizzazioni che potrebbero non utilizzare mai un database se dovessero acquistare una licenza da Oracle. Il web sarebbe sicuramente molto più piccolo e meno utile se non fosse per strumenti come il web server Apache, e questo significherebbe molti meno lavori per gli sviluppatori web.

    
risposta data 10.03.2012 - 06:38
fonte
3

Dopo aver letto la domanda, ho ricordato una paura che si diffondeva al mio posto durante gli anni '90 e che il computer porterebbe via il loro lavoro!

Il open source e la più grande comunità di sviluppatori è fondamentale per molte ragioni;

  1. Aiuta i nuovi membri della comunità a imparare.
  2. Non hai ricominciato tutto da capo; c'è qualcosa che è già stato fatto. Puoi ricominciare da capo o tenerlo come riferimento e costruire le tue cose.
  3. Nessuno, che è serio riguardo al business, penserà che solo l'open source è sufficiente. Solo per fare un esempio, ci sono blogger, wordpress e molti altri che offrono blog gratuiti (come hai detto tu), ma quante aziende o aziende li usano? Il 90% avrà i propri siti Web e blog.
  4. Qualsiasi settore cresce grazie alla condivisione e all'apprendimento reciproco. L'open source offre una grande piattaforma per imparare e adattarsi.
  5. Riduce drasticamente il costo della creazione del software forzando sempre più aziende a utilizzarlo, il che risulterà in un numero maggiore di posti di lavoro per gli sviluppatori.
risposta data 10.03.2012 - 06:15
fonte
3

Una cosa sull'open source è la condivisione di idee / codice. Da una prospettiva di sviluppo, può essere una buona esperienza di apprendimento guardando il codice di qualcun altro e imparando come funziona o contribuendo a un progetto open source. Vedo molte opportunità di apprendimento e crescita. Quindi, non vedo come potrebbe essere negativo da una prospettiva di sviluppo.

Ma dal punto di vista del business, possono sicuramente esserci conseguenze negative. Se sto vendendo un prodotto per X e poi c'è un progetto open source che è gratuito (consideriamolo uguale) allora sono fuori dal mercato.

Niente è mai gratis. Anche con i progetti open source, le persone hanno lasciato il tempo per produrre qualcosa, forse erano disposti a farlo, ma il tempo era ancora trascorso. Quindi è una spada a doppio taglio. Ogni volta che qualcosa è gratuito, decodificherà il mercato per cui è stato sviluppato. Perché pagare per qualcosa quando è gratuito? Questo potrebbe mettere le persone fuori dal lavoro o causare l'esaurimento di alcuni mercati.

Ma è anche in grado di respingere l'innovazione. Può far avanzare l'industria, può stimolare la crescita e ulteriori innovazioni.

Alla fine, tendo a pensare che ci sia una via di mezzo. Certamente non vogliamo dare tutto gratis come forma di socialismo di programmazione. Ma un mix di open source e business source manterrà il settore sano e innovativo.

    
risposta data 10.03.2012 - 07:09
fonte
3

Ci vuole ancora un programmatore per utilizzare questi strumenti e librerie open source. Proprio come in altri campi, la scala è più grande. Non è più impossibile costruire grattacieli, ma ha ancora bisogno di ingegneri e lavoratori per farlo. Allo stesso modo, l'installazione di wordpress è di 5 minuti, ma se vuoi qualcosa di personalizzato, ci vuole ancora un programmatore (sia un semplice cambiamento CSS, la maggior parte dei non programmatori sono lontani dall'essere in grado di farlo, perché non è la loro professione). Forse nessuno ti assumerà per scrivere un motore di blog, ma c'è sempre altro lavoro da fare. Le attività che questi progetti open source semplificano o eliminano non richiedono molto tempo, quindi le aziende faranno altre cose e assumeranno per lavori reali. Perché? Perché tutti vogliono espandersi per competere con gli altri. Ciò significa che investiranno in IT perché c'è un valore aziendale in esso. Se arriva una soluzione open source diffusa che, ad es. risolve il problema del software CRM personalizzato, ci sarà un altro settore in cui le aziende cercheranno di anticipare gli altri.

    
risposta data 10.03.2012 - 11:38
fonte
3

Inizi la tua domanda scrivendo:

"I am not talking about the creators of those projects, of course they get fame, but I am talking about the industry in general, why are we so fond of the open source concept when it brings so many bad impact to the industry?"

Ma certo, è precisamente i creatori del software open source che contano: se non scrivessero e rilasciassero il codice, non esisterebbe; e se lo fanno, lo fa, indipendentemente da quello che chiunque altro possa desiderare. E molti - direi, se non tutti, poi quasi tutti - ne ricavano più della fama.

Naturalmente, alcune persone ottengono dei soldi dalla scrittura di open source, sia direttamente (ad esempio scrivono il software e poi vendono il supporto per esso) o indirettamente perché lavorano per un'azienda che li paga per scriverlo (che in genere significa em> company sta ottenendo qualcosa di più della fama fuori di esso). Ma un sacco di software open source è scritto per uso dello scrittore, da persone che vogliono solo "grattarsi un prurito": traggono utilità solo dall'esistenza del software, e qualsiasi miglioramento apportato da altri è solo un bonus su sopra.

Per esempio, diciamo che voglio un blog. E diciamo che voglio che il mio blog abbia un set di funzionalità che nessun software di blog gratuito offre prontamente (perché allora potrei semplicemente scaricare il software e installarlo e farlo).

Una cosa che potrei fare sarebbe comprare una piattaforma di blogging closed-source, se ce ne fosse una adatta sul mercato, e magari pagare le persone che la vendono extra per aggiungere le funzionalità di cui ho bisogno. Tuttavia, dal momento che conosco alcuni Perl e PHP, ho alcune altre opzioni:

  1. Potrei scrivere da zero il mio blog e tenerlo per me.

  2. Potrei scrivere da zero il mio blog software e rilasciarlo come open source.

  3. Potrei scaricare una piattaforma di blogging open source e aggiungere le funzionalità di cui ho bisogno (e, se voglio e / o la licenza mi richiede, rilasciare le aggiunte come open source).

(Naturalmente, se le mie capacità di programmazione non fossero abbastanza buone, o se sentissi di essere troppo impegnato per perdere tempo in questo tipo di lavoro, potrei anche scegliere di assumere qualcun altro per fare una di queste cose.)

Ovviamente, l'ultima opzione è probabilmente la più semplice delle tre, se esiste un qualsiasi software open source esistente che si avvicini anche a ciò di cui ho bisogno. Ma anche se non lo è, perché dovrei scegliere l'opzione 1 rispetto all'opzione 2?

Ricorda che non ho alcun interesse a vendere blog o software di blogging ad altre persone - è un lavoro tedioso e noioso, e non è il business in cui mi trovo. Tutto quello che voglio è un blog per me stesso che abbia il set di caratteristiche di cui ho bisogno. Né perdo nulla se qualcun altro usa lo stesso software per creare il proprio blog; semmai, se il loro blog è interessante, ho appena guadagnato qualcosa da leggere. Quindi andare con l'opzione 1 non mi dà nulla rispetto all'opzione 2.

D'altro canto, se scelgo l'opzione 2 e qualcun altro decida di utilizzare il software per il proprio blog, è probabile che desiderino alcune funzionalità che non mi sono preoccupato di inserire. E, se implementano tali funzionalità e Rilasciarli (o perché la mia licenza li richiede, o solo perché hanno ragionato nello stesso modo in cui l'ho fatto io), dopotutto potrei trovare alcuni di essi utili anche per il mio blog. E forse troveranno anche alcuni bug che ho perso e li sistemo, il che significa che ottengo la correzione anche per praticamente gratis.

Quindi ecco perché l'economia open source funziona . Non si tratta di sviluppatori non pagati che scrivono software di cui non hanno bisogno e poi li distribuiscono "solo per fama". Piuttosto, si tratta di persone che scrivono software che è utile per loro e che condividono con gli altri in modo che gli altri possano a loro volta condividere i loro miglioramenti con loro.

    
risposta data 10.03.2012 - 14:53
fonte
1

Non ho numeri, ma sospetto che oggi ci siano molti più programmatori di quanti ce ne fossero 10 anni fa. Avendo lavorato nel settore IT per alcuni decenni, direi che Open Source sembra essere qui per rimanere ed è più utile che dannoso.

L'Open Source non è più dannosa di (per esempio) PHP o Ruby. Entrambe, incidentalmente, lingue Open Source. In passato, se tornavi indietro abbastanza, i compilatori (e gli interpreti) di taht erano qualcosa che dovevi pagare, ma in questi giorni puoi ottenere gratuitamente compilatori decenti. Non sembra aver fermato il business della "scrittura di compilatori commerciali" (ma non so se è cresciuto, ridotto o è rimasto invariato in qualsiasi periodo).

    
risposta data 10.03.2012 - 10:53
fonte
1

Non è una domanda stupida. Potrei obiettare che per me è poco importante scrivere un software utile da vendere perché probabilmente esiste già un'alternativa open source gratuita. Se non c'è, ci potrebbe essere presto se il mio software fosse buono.

La realtà non è così. Ricordo che alla fine degli anni '80 e all'inizio degli anni '90 esisteva già una grande quantità di software libero. Dai un'occhiata all'articolo wiki su Fred Fish per un solo esempio. Avevo le mie distribuzioni, ma chiaramente non erano abbastanza importanti da giustificare un articolo wiki;)

Ma il software per il denaro continua ad apparire e a generare profitti. Lavoro come sviluppatore e guadagno una crosta ragionevole facendo così. L'open source mi ha aiutato a volte nel mio sviluppo aziendale, non è mai stato un problema, quindi a conti fatti è vantaggioso.

    
risposta data 10.03.2012 - 12:28
fonte
1

Richard Stallman, il fondatore della fondazione Software Libero, ha spiegato per decenni perché si sbaglia. Linux, Firefox, MySQL e lo stesso concetto e cultura di Open Software esistono solo perché molte persone trovano questi argomenti persuasivi. Leggilo sul sito della FSF (scorri fino a "Obiezioni facilmente confutate" per le risposte alla tua domanda).

link

    
risposta data 10.03.2012 - 15:34
fonte
1

Penso che il suo 'BUSINESS LOGIC' sia quello che conta di più e recupera denaro.

Quindi lascia che le persone costruiscano il mondo open source e ti preoccupi di come farai buon lavoro fuori di esso.

    
risposta data 10.03.2012 - 16:43
fonte
1

Sembra che la premessa di questa domanda sia che l'unica ragione per scrivere codice sia per fortuna o fama; ma c'è in realtà un'altra ragione per scrivere codice, creare software o inventare qualsiasi tipo di nuova tecnologia ... vale a dire rendere le vite delle persone migliori, più produttive e più efficienti!

    
risposta data 10.03.2012 - 17:13
fonte
0

Se sei interessato a creare un prodotto software di alta qualità, troverai un software gratuito e open source un sogno. Se il tuo prodotto è buono, venderà. Tieni presente che il prodotto che stai vendendo può avere qualsiasi forma, ad esempio Software as a service (SAAS) o Platform as a service (PAAS).

Quando sviluppi un prodotto, vuoi spendere le tue risorse limitate (tempo e denaro) per aggiungere valore al tuo prodotto, non per scrivere (codice standard). I progetti open source di solito producono software di alta qualità perché sono aperti. Più programmatori possono rivedere il codice sorgente e contribuire con patch contenenti correzioni di bug, ottimizzazioni o più funzionalità. Non ottieni questo lusso quando acquisti software da utilizzare nei tuoi prodotti. Non dico che comprare software sia cattivo. È brutto quando non ti è permesso guardare il codice sorgente per vedere come funziona o per risolverlo. E molte volte questo viene fornito con un pacchetto di supporto costoso e di bassa qualità e / o con dipendenze da costosi componenti di terze parti (un incubo quando si è preoccupati del costo totale di proprietà).

Ora, bisogna fare una distinzione tra licenze copyleft come GNU GPL e licenze più permissive come la licenza MIT. Hanno scopi diversi. Le licenze Copyleft richiedono che, se si distribuisce il prodotto, è necessario fornire l'accesso completo al codice sorgente e consentire ad altri di modificarlo come ritengono opportuno. Penso che sia una buona cosa, ma è più difficile monetizzare il tuo lavoro. Ecco perché i progetti open source di maggior successo sono concessi in licenza con una licenza permissiva (MIT, BSD, Apache, MPL, ecc.) Rispetto alle licenze copyleft come GPL o AGPL. Con le licenze di copyleft è solitamente più difficile proteggere i tuoi vantaggi commerciali, ma questo dipende dal tuo modello di business. Un'altra cosa che ho osservato è che i componenti rilasciati con una licenza di copyleft tendono ad essere isolati quando sono integrati in un sistema, in modo che non "contaminino" l'intero sistema. Un esempio è, ad esempio, quando si esegue un programma GPL in un processo diverso o quando i componenti GPL sono raggruppati in un sistema operativo (come il kernel Linux).

Personalmente credo in tutti i modelli sopra perché, come in natura, c'è sempre più di un modo per realizzare qualcosa e devi scegliere il modello che serve al tuo scopo.

    
risposta data 10.03.2012 - 13:43
fonte

Leggi altre domande sui tag