Quali sono i pro e i contro dell’uso di software open source, ed è meglio pagare per programmi di marca?

Prima di tutto, ogni progetto open source è comunque un marchio... E non tutto l'open source è gratuito...

Dimenticate quello che molti dicono dell'open source. Non puoi semplicemente scaricarlo e non è gratis. Tutto quello che avete è la possibilità di rivedere il codice sorgente. Niente di più, niente di meno.

Il vantaggio principale è che gli utenti possono fare una revisione del codice per controllare se ci sono errori. Si può anche cambiare il codice per correggere cose o alterare varie parti, ma non si può pubblicarlo dopo. Questo perché il codice sorgente è ancora protetto da copyright.

Lo svantaggio principale è che le persone possono (illegalmente) copiare il codice sorgente e pubblicarlo ovunque. Oppure lo usano per fare un'applicazione competitiva e competere con l'autore originale per il prodotto.

Un buon esempio di open source è il progetto UNIX originale. AT&T permise ai propri utenti di ricevere il codice sorgente, dato che spesso doveva essere compilato sul proprio hardware. Così anche l'Università di Berkeley comprò una licenza e ricevette il sorgente di UNIX. E gli studenti di Berkeley cominciarono ad armeggiare con il codice, facendo aggiustamenti che avrebbero riportato alla AT&T e quindi migliorato il prodotto. Finché non scoppiò la UNIX Wars, poiché gli studenti di Berkeley decisero di riscrivere completamente la propria versione di UNIX e quindi non avevano più bisogno della licenza AT&T. E improvvisamente BSD, la versione di Berkeley UNIX, divenne un attore importante nel mercato UNIX...

E questo era molto prima che nascesse Linux e anche prima della GPL e dei suoi predecessori.

Ma quello a cui probabilmente mirate sono le licenze open source contro le licenze closed source. Tecnicamente, l'unica differenza tra i due è che si può rivedere il codice sorgente nei prodotti open source. Ma c'è un sacco di software là fuori che usa una licenza open source che è libera di ottenere, usare e distribuire. Questo significa anche che potete ottenere il codice da compilare sul vostro hardware, a patto che il vostro compilatore supporti le caratteristiche dell'applicazione. E ci sono molte licenze open source e alcune di esse possono essere trovate qui: https://choosealicense.com/licenses/

Le applicazioni closed source possono comunque essere libere. I mercati delle applicazioni per Android e iOS sono pieni di applicazioni closed source che sono gratuite, anche se alcune mostreranno pubblicità mentre altre potrebbero chiedere donazioni o fornire un servizio a pagamento che vi darebbe più funzioni. Comunque, c'è molto più closed source là fuori gratis di quanto la gente si renda conto.

Ma tutto dipende dalla licenza che c'è con un prodotto. Questa licenza ti dirà cosa ti è permesso fare con esso. E dovreste confrontare le varie licenze l'una con l'altra per scoprire quali sono i vantaggi e gli svantaggi di ciascuna. Questo non ha niente a che fare con il fatto che un'applicazione sia open source o meno.

Quindi se la licenza di un'applicazione reclama l'anima del vostro primogenito, allora così sia. Potrebbe essere open source o closed source, il che non importa. Ma se usate il prodotto, il vostro primogenito sarà condannato...

Btw. L'open source che usa la licenza BeerWare non è libero, ma è comunque open source. Quando incontri l'autore e pensi che il prodotto valga la pena, devi offrirgli una birra! C'è molto altro software DonationWare là fuori, sia aperto che chiuso, che implora donazioni.

Un confronto delle licenze open source può essere trovato su Wikipedia.

Ora, con l'open source, si hanno generalmente le licenze permissive e restrittive. Le licenze GPL sono restrittive e quindi hanno alcuni svantaggi in più rispetto ad esempio alle licenze open source MIT, Berkeley o anche Microsoft! (E sì, Microsoft ha le proprie licenze open source che sono usate per .NET Core.)

Un grande problema con le licenze open source è che potrebbero non essere compatibili tra loro. La licenza Microsoft, per esempio, non permetterà al loro codice sorgente di diventare parte di una licenza restrittiva ed è quindi incompatibile con la GPL. Quindi se usate codice Microsoft nel vostro codice GPL, la parte GPL si applica solo alle vostre modifiche, mentre il codice Microsoft deve essere pubblicato liberamente. (O semplicemente essere menzionato, dato che non dovete distribuire il vostro codice con licenze permissive.)

La maggior parte delle licenze open source tendono ad essere permissive per natura, dato che queste permettono la maggior libertà con il codice. Potete usarle per fare la vostra versione di un'applicazione e poi vendere la vostra applicazione come closed source. (Potreste dover menzionare che state usando l'open source, però, come indicato nella licenza). Questo significa che puoi prendere una copia del sistema operativo FreeBSD e fondamentalmente vendere licenze ai clienti che riceveranno solo i binari. O semplicemente installare FreeBSD sul tuo hardware e vendere l'hardware così com'è. (Potresti non avere molti clienti, però. Molti non sono stupidi.)