Come un giovane studente che aspira ad avere una carriera come programmatore, come dovrei pensare al software open source? [chiuso]

17

Di tanto in tanto su alcuni siti web tecnologici compare un titolo come questo: link

Il mio pensiero iniziale su governo e organizzazioni che si spostano verso software open source è che tonnellate di programmatori perderebbero il loro lavoro e l'industria si ridurrebbe. Allo stesso tempo, la proliferazione e l'uso di software open source sembra essere strongmente incoraggiato in molte comunità di programmazione.

Il mio pensiero è che l'adesione totale al software open source danneggerà l'industria del software in modo errato? Se non lo è, allora perché così tanti programmatori amano il software open source?

    
posta Matt 14.03.2011 - 02:56
fonte

14 risposte

26

Solo perché un progetto è open-source non significa che i programmatori non si guadagnino da vivere da esso. I governi e le aziende donano ingenti somme di denaro a fondazioni come Mozilla e Apache.

Ricorda inoltre che le aziende devono assumere programmatori per MODIFICARE il progetto open source per personalizzarlo per la propria attività. Le aziende non possono utilizzare strumenti off-shelf per tutto. Questo è qualcosa che non può essere fatto con il software closed-source, quindi è un esempio di come è possibile aprire nuove opportunità di programmazione. Non si tratta di eliminare i programmatori o di non pagarli, si tratta di riorganizzare la struttura per rendere sperabilmente le cose più efficienti, quindi abbiamo più tempo per nuovi progetti.

Un'altra cosa da sapere sull'open source è che non devi necessariamente rivelare il codice sorgente del tuo programma a meno che non stia per distribuire il programma. Per i programmi che una società utilizzerà per se stessa nei suoi server o esigenze intracompany, probabilmente NON distribuirà e quindi non dovrà rivelare il codice sorgente per il programma modificato.

    
risposta data 14.03.2011 - 03:04
fonte
5

L'economia open source è piuttosto strana e spesso contro-intuitiva. Prendi un prodotto come il foglio di calcolo di Excel (solo un esempio, qualsiasi grande prodotto commerciale farebbe). L'attività di costruzione e supporto di Excel impiega un certo numero di dipendenti, ad esempio X. X probabilmente suonerebbe come un grande numero per te e per me, ma non ho idea di cosa sia. Quello che so è che si tratta di un numero molto piccolo rispetto al numero di persone che vivono sostenendo Excel in uffici, scuole e altre istituzioni e creando strumenti usando Excel. Quel numero è probabilmente X * 10000. Quindi, se sostituisci Excel con un prodotto open source, sostituisci X, ma X * 10000 non viene modificato.

In realtà, non è nemmeno così semplice. Senza i dipendenti X, sono necessari sviluppatori più pagati per addestrare, risolvere i problemi e modificare il foglio di calcolo open source. Solo perché dietro al prodotto non esiste un'impresa commerciale, ciò non significa che l'attività non richiederà (e pagherà) un buon servizio. Infatti, se il tuo prodotto open source ottiene una sufficiente trazione, le aziende a volte sono disposte a supportare una fondazione che garantisca lo sviluppo futuro di tale prodotto. Ciò è particolarmente vero se i loro interessi commerciali sono intimamente legati al prodotto. Pensa a Mozilla , la Apache Software Foundation , Progetto mono o Canonical .

Infine, gli strumenti open source non sono mai una minaccia quando stai provando a vendere un servizio. Pensa a organizzazioni come Facebook, Twitter e persino StackOverflow. In definitiva, queste organizzazioni non vogliono venderti software. Vogliono creare una rete gigante. Una volta che la rete è abbastanza grande, crea la propria gravità. L'uso di qualsiasi altro "prodotto" non avrebbe alcun senso perché il numero di partecipanti è quello che conta di più. La tecnologia di base è solo un dettaglio.

    
risposta data 14.03.2011 - 06:21
fonte
3

Direi di leggere le varie ideologie alla base di alcuni dei più importanti progetti OpenSource, come Chromium, Mozilla, ecc., e quindi di prendere una decisione. Nessuno ha davvero il diritto di dirti come sentirti in un modo o nell'altro.

Detto questo, abbraccio OpenSource perché mi piace l'idea della trasparenza nella progettazione del software. Mi piace anche che la comunità degli utenti abbia un impatto molto reale e diretto sulla direzione del progetto. Non lo ottieni in un ambiente closed-source.

Se ricordo bene, uno dei punti su cui un sostenitore della Creative Commons ha fatto è stato quello di rendere le cose "libere", consentendo alle persone di utilizzare il prodotto delle proprie idee in modi che potreste non aver mai immaginato. Questo è un video che ho particolarmente apprezzato: link

    
risposta data 14.03.2011 - 03:37
fonte
1

Non vedremo mai un abbraccio completo .

Ci piace provare a contribuire positivamente al mondo. Inoltre, partecipare a un progetto open source è un ottimo PLUS per il tuo CV.

    
risposta data 14.03.2011 - 03:00
fonte
1

L'open source è una minaccia per le aziende di software preconfezionato i cui prodotti si trovano in un'area abbastanza popolare da mostrare un interesse sufficiente nella comunità open source per sviluppare un'alternativa gratuita. Penso che un caso sia il punto è la significativa diminuzione dei prezzi che sia Oracle che Microsoft possono addebitare per il software di database. mysql è più che sufficiente per la maggior parte dei progetti ed è essenzialmente gratuito a meno che il cliente non voglia pagare per il supporto in modo da avere qualcuno sul gancio se le cose vanno di lato.

È assolutamente complementare alle attività di consulenza e servizi perché riduce il costo totale di produzione e aumenta la produttività dei loro sviluppatori. Le aziende lo apprezzano per le stesse ragioni, anche se alcuni insistono nel cercare fornitori di fornire supporto commerciale in modo che ci sia qualcuno da chiamare / incolpare se non all'altezza delle aspettative.

    
risposta data 14.03.2011 - 07:10
fonte
1

I maggiori rischi ...

  • Volatilità: gran parte dell'OSS è sviluppata a scatti. Esistono progetti importanti, rilasci stabili in meno conosciuti, ma poiché l'universo di OSS è così divergente e frammentato in molte aree (e in continua evoluzione), è raro che un progetto diventi abbastanza maturo per affermare che lo sviluppo sarà regolare, indefinito, o perpetuo. Cambiare rotta a metà corso è costoso, anche se il prodotto è gratuito perché l'integrazione, la regressione e il supporto immediato o pratico non sono gratuiti, anche se disponibili.

  • Mancanza di responsabilità: non c'è nessuno "investito", quindi è difficile ricorrere quando accadono cose brutte. Non c'è garanzia. Niente che assomigli a uno solo. L'unica certezza che hai in genere è la reputazione e alla fine la tua esperienza personale. Dato che era gratuito, gli sviluppatori possono dirti di sparire e non preoccuparti del tuo scarso successo, o meno se continui ad usare il loro prodotto.

risposta data 14.03.2011 - 08:35
fonte
1

Abbraccia gli strumenti OSS e tutto il resto, ma non ti ossessionare (e sì, ho visto un sacco di gente ossessionata dalle cose open source, quasi sempre a loro danno).

Scegli e scegli gli strumenti migliori per ogni lavoro, indipendentemente dal fatto che siano open source o meno (attenzione, alcune licenze open source rendono inutile qualsiasi cosa sotto licenza per il lavoro commerciale, specialmente le librerie con licenza GPL soffrono di questo).

    
risposta data 14.03.2011 - 09:05
fonte
1

La maggior parte del moderno software Open Source è sviluppato da dipendenti a tempo pieno, che sono principalmente finanziati per lo sviluppo. Il resto è sviluppato da coloro che sono pagati per fare qualcosa che dipende dal software che stanno sviluppando, e un lavoro collaborativo su di esso, il crowdsouring di un supporto e la manutenzione è assolutamente obbligatorio per loro.

    
risposta data 14.03.2011 - 11:09
fonte
1

La grande maggioranza dei programmatori non viene pagata per copia distribuita del software che creano. Vengono pagati una tantum per il loro tempo trascorso. Anche le aziende che impiegano programmatori non fanno generalmente i loro soldi per copia venduti. Con alcune eccezioni degne di nota come Microsoft e Adobe, il software è tipicamente parte della loro infrastruttura, come un sito Web aziendale o strumenti interni, o distribuito come parte di un altro prodotto o servizio.

Altri hanno sottolineato che i maggiori contributori open source hanno sponsor aziendali. Da parte degli hobbisti, trovo interessante che le persone si concentrino sempre su ciò che viene dato invece che ricevuto. È come un elettricista che riceve gratuitamente tutti i componenti di una casa, già assemblato tranne alcuni miglioramenti di cablaggio che fa lui stesso, e la gente lo considera pazzo se trascorre alcune ore un fine settimana ad insegnare agli altri a fare gli stessi miglioramenti per altre case che lo stesso accordo. Certo, sta dando via un po 'del suo tempo e delle sue competenze gratuitamente, ma in cambio ottiene un ottimo prodotto che vale più volte il lavoro che svolge e garantisce un ecosistema sano per la prossima volta che ha bisogno di qualcosa.

    
risposta data 14.03.2011 - 16:35
fonte
0

Come dovresti sentirti? Buon dolore, poi ti chiederai "come parlo con le donne". L'open source non sostituirà mai una piccola parte del SW pagato. Per la maggior parte delle organizzazioni, l'aumento dei costi legati al passaggio da ciò che già sanno a qualcos'altro, anche gratuitamente, è superiore al costo del SW.

    
risposta data 14.03.2011 - 04:28
fonte
0

La filosofia principale di free / open source (come la vedo io) è che quando si distribuisce il software si distribuisce anche l'origine con esso. L'open source non significa necessariamente gratuitamente. E certamente in qualsiasi progetto di grandi dimensioni, scegliere semplicemente una soluzione open source non significa semplicemente scovare qualcosa da uno scaffale e collegarlo e il gioco è fatto. Per qualsiasi applicazione di grandi dimensioni, è necessario adattarlo alle proprie esigenze specifiche (può essere semplice come configurarlo e migrare il sistema esistente su di esso o complesso come modificarne grandi parti) e disporre di un meccanismo affidabile per il supporto e aggiornamenti / correzioni di errori con il software originale. Ciò significa che ci saranno sempre posti di lavoro per i programmatori. Per non parlare, per qualsiasi grande progetto open source, sono stati pagati i prograni per lavorarci sopra - principalmente da grandi aziende che hanno un interesse in quel progetto di benessere (lo usano o vendono software / servizi per questo).

Pensaci in questo modo, se esiste una soluzione matura open source al tuo problema già esistente e utilizzata da molte persone, ha senso sprofondare in grandi quantità di denaro per qualcosa che non può essere maturo come quello? È semplicemente più efficiente usarlo. Non si tratta di preservare posti di lavoro (come ho detto, ci sarà sempre bisogno di programmatori), ma di un semplice senso degli affari, che è ancora più importante quando i suoi soldi delle tasse-pagatore. Evitare l'open source in nome del mantenimento dei posti di lavoro è solo creare un ambiente artificiale, limitando la condivisione della tecnologia e IMHO generalmente male per la salute della comunità di programmazione.

    
risposta data 14.03.2011 - 08:31
fonte
0

Vorrei dare un'occhiata ad alcuni dei contributori di Linux per avere un'idea di come la comunità opensource sia composta da persone che vengono pagate per rendere il loro codice disponibile gratuitamente.

link

    
risposta data 14.03.2011 - 09:13
fonte
0

Per me, l'open source è anche politico: consente ai programmatori di aiutarsi l'un l'altro in modo che il duro lavoro non debba essere ripetutamente rielaborato e non possa essere usato tra i progetti.

Imposta anche un set migliore di regole di background per il progetto, non è sotto la regola della gestione: alla fine, il risultato è un codice di migliore qualità e longevità.

Sappi che l'argomento dell'informatica è molto vasto e ci sono alcuni software che sono così complessi che non ci sono così tante persone competenti da scriverli, mantenerli e anche aggiungere funzionalità interessanti.

Trovo davvero il tuo argomento "tonnellate di programmatori perderebbero il loro lavoro e il settore si ridurrebbe" molto fuorviante, non solo per l'industria del software, ma per il mondo in generale. Ricorda la bolla del web: è facile ingannare la programmazione delle persone in un'azienda. L'open source è un modo sicuro per mettere una barriera a questo.

Devi anche pensare che il software non sia come molti altri settori: offri qualcosa che è volatile, qualcosa con cui il capitalismo non può davvero lavorare. Immagina di essere in grado di duplicare oggetti fisici, ma dovresti pagare per ogni pillola di aspirina che duplichi, perché la molecola è "posseduta" da qualcuno. Potrebbe non avere molto senso. Ora pensa a copiare acqua pura e pulita (che un giorno diventerà costosa): pensi che sia eticamente e filosoficamente corretto far pagare la gente per una cosa del genere?

Se i programmatori perdono il lavoro a causa dell'open source, è forse perché non sono in grado di riprodurre lo stesso tipo di qualità del software, quindi in un certo senso meritano di essere licenziati. Ma questo non significa che dovrebbero avere meno programmatori che hanno un lavoro: è solo una questione di comunità, lavoro di squadra ed etica: le aziende dovrebbero pagare i programmatori o implementare soluzioni per problemi usando il software esistente, oppure assumere più programmatori competenti che possono aggiungere funzionalità per un codice esistente.

Prendi iOS, Windows Phone, Symbian e Android: questi sono al 75% che fanno la stessa cosa, cioè quasi le stesse "ruote". Sono solo sapori diversi, ma alla fine sono stati spesi molti soldi perché le aziende volevano sopravvivere ai loro ideali.

L'open source non è solo politico, ma riguarda anche l'innovazione: come vuoi dare una nuova idea alla realtà se devi riavviare tutto da capo più e più volte?

    
risposta data 14.03.2011 - 11:36
fonte
0

Quale software Free / Open Source fa stabilire una linea di base: se la tua azienda non può produrre qualcosa di meglio dell'opzione F / OS, non sarà in grado di vendere molte copie. Se la tua azienda è in grado di offrire qualcosa di significativamente migliore dell'F / OS disponibile, sarà in grado di vendere copie e realizzare profitti. Pertanto, un uso è che riduce la capacità delle aziende di ottenere vendendo software non valido.

Abbassa anche le barriere d'ingresso. Chiunque abbia un desktop o laptop moderno a metà può, senza spendere un centesimo sulle licenze software, avere un sistema operativo molto funzionale con GUI facile da usare e un eccellente ambiente di sviluppo (ci sono molte persone che pensano che MS Windows con Visual Studio sia meglio di questo tipo di ambiente, e molti che non lo fanno).

Pertanto, F / OSS aiuta l'imprenditore del software a far partire un'attività a basso costo. Ciò aumenta l'influenza e il profitto dell'innovatore del software rispetto ai ragazzi finanziari, che erano quelli che controllavano la maggior parte dell'uso di computer non universitari ai vecchi tempi. Molte delle recenti e massicce storie di successo sarebbero state più difficili da ottenere, forse impossibile, senza F / OSS e i suoi effetti.

Riduce l'opportunità di guadagnare molti soldi senza l'abilità corrispondente, il che è probabilmente una buona cosa.

Gli sviluppatori che non sono molto bravi troveranno nicchie nel software interno per le aziende che non si affidano ai loro sistemi informatici come asset strategico e quei lavori non saranno influenzati molto da F / OSS.

Gli sviluppatori che sono molto bravi ma non il tipo di imprenditore andranno ancora bene con le aziende che vendono software commerciale di buona qualità non F / OS. Il mercato basato sul denaro è più efficace nel fornire molte esigenze rispetto al mercato della reputazione F / OSS, e molto meglio nel produrre le cose noiose e opache. Esistono molte applicazioni vitali che la maggior parte degli sviluppatori F / OSS eviterà.

Quindi, nel complesso, penso che sia salutare per la comunità di sviluppo. Permette agli sviluppatori di migliorare le proprie possibilità di diventare ricchi e serve come incentivo per creare buoni prodotti (e la maggior parte degli sviluppatori preferirebbe lavorare su prodotti buoni che negativi). Può danneggiare gli sviluppatori che non sono così bravi, o lavorare per aziende mal gestite, ma non riduce la domanda tanto e probabilmente possono trovare lavoro comunque.

    
risposta data 14.03.2011 - 18:16
fonte

Leggi altre domande sui tag