Open source: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
Riga 8:
Verso la fine degli [[anni 1950|anni cinquanta]], e soprattutto negli [[anni 1960|anni sessanta]], è stato possibile riusare lo stesso codice e distribuirlo anche se in modo oggi ritenuto piuttosto artigianale, ovvero con nastri e [[scheda perforata|schede perforate]]. Questo fenomeno diventò evidente soprattutto quando si affermò il vantaggio di usare una stessa porzione di codice, il che presupponeva di avere macchine uguali e problemi simili.
 
Fino a tutti gli [[anni 1970|anni settanta]], anche se in misura decrescente, la componente principale e più costosa di un computer era l'[[hardware]], il quale era comunque inutile in assenza di software. Da ciò la scelta dei produttori di hardware di vendere il loro prodotto accompagnato da più software possibile e di facilitarne la diffusione, fenomeno che rendeva più utili le loro macchine e dunque più concorrenziali. Il software, tra l'altro, non poteva avvantaggiare la concorrenza in quanto funzionava solo su un preciso tipo di computer e non su altri, spesso neanche su quelli dello stesso produttore. Un altro fattore che favorì lo sviluppo di software condiviso fu la diffusione di [[Linguaggio di programmazione|linguaggi di programmazione]]. Specie in ambito scientifico un programma scritto in [[Fortran]] poteva essere scambiato tra diversi ricercatori. La disponibilità del codice sorgente era indispensabile per apportare le piccole modifiche rese necessarie dai "dialetti" adottati dalle varie ditte per il linguaggio di programmazione.
 
Lo sviluppo dei [[sistema operativo|sistemi operativi]]<ref>I sistemi operativi nascono alla fine degli anni Cinquanta. tra i primi si può ricordare lo'' SHARE Operating System ''dell'[[IBM]] (1959)</ref> rese i programmi sempre più portabili, in quanto lo stesso sistema operativo, con gli stessi [[compilatore|compilatori]] veniva offerto dal produttore sui suoi diversi modelli di hardware. La presenza di sistemi operativi funzionanti per macchine di differenti produttori hardware ampliava ulteriormente le possibilità di usare lo stesso codice in modo relativamente indipendente dall'hardware usato. Uno di questi sistemi operativi era [[Unix]], iniziato nel [[1969]] come progetto all'interno di un'impresa delle [[telecomunicazioni]], la [[AT&T]]. Una famosa causa [[antitrust]] contro la AT&T le vietò di entrare nel settore dell'informatica. Questo fece sì che Unix venisse distribuito ad un prezzo simbolico a buona parte delle istituzioni [[università|universitarie]], le quali si ritrovarono ad avere una piattaforma comune, ma senza alcun supporto da parte del produttore. Si creò spontaneamente una rete di collaborazioni attorno al codice di questo sistema operativo, coordinata dall'[[University of California, Berkeley|Università di Berkeley]], da dove sarebbe poi uscita la versione [[Berkeley Software Distribution|BSD]] di Unix, che diventa da un lato un centro di sviluppo ed innovazione, dall'altro è la base di partenza per numerosi ''[[Fork (sviluppo software)|fork]]''.
Riga 35:
{{citazione|Le licenze per la maggioranza dei programmi hanno lo scopo di togliere all'utente la libertà di condividerlo e di modificarlo. Al contrario, la GPL è intesa a garantire la libertà di condividere e modificare il free software, al fine di assicurare che i programmi siano "liberi" per tutti i loro utenti.}}
 
Gli [[anni 1980|anni ottanta]] sono caratterizzati da alcuni eventi importanti, tra i quali l'introduzione nel mercato di quello che verrà chiamato [[Personal Computer]] (PC), ovvero un elaboratore con un proprio processore concepito per essere utilizzato da un solo utente alla volta. Il prodotto di maggior successo, il PC della [[IBM]], si differenziava dai progetti precedenti in quanto non utilizzava componenti IBM, ma sia per il software che per l'hardware si affidava alla produzione da parte di terzi. Ciò rese possibile da un lato ad altre imprese di clonare il [[PC IBM]], abbattendone notevolmente i costi, dall'altro permise a parecchie società di produrre dei software applicativi standard, in concorrenza gli uni con gli altri, basandosi su un unico sistema operativo, anche se inizialmente i principali produttori di software erano identificabili con prodotti per specifiche applicazioni.
 
Il notevole ampliamento del mercato rese possibili economie di scala e si instaurò una sorta di [[sinergia]] tra quelli che sarebbero diventati i principali attori del settore: il produttore dei processori Intel e il produttore del sistema operativo e di applicativi per ufficio [[Microsoft]]. La maggiore potenza dei processori rese possibile lo sviluppo di programmi più complessi, la maggiore complessità degli applicativi e del sistema operativo richiesero processori più potenti instaurando in un certo modo un circolo vizioso di aggiornamenti continui.
Riga 77:
# '''sponsorizzazione''': il programma o il sito che lo ospita può contenere il nome o altro tipo di pubblicità ad un'azienda che supporta economicamente lo sviluppatore; può anche accadere che un'azienda si occupi dello sviluppo di un programma gratuito e conti sulla pubblicità che riscuoterà da esso per farsi conoscere;
# guadagni grazie alla '''didattica''': se il prodotto creato è particolarmente complesso, ad esempio nel caso di un nuovo linguaggio di programmazione o di una particolare [[Libreria (software)|libreria]] (o [[framework]], ecc.), lo sviluppatore può guadagnare grazie all'organizzazione di corsi di apprendimento del prodotto stesso, la vendita di manuali e libri a supporto ecc. Questo tipo di guadagno può risentire della concorrenza dei manuali che sono o saranno pubblicate gratuitamente in rete da parte di utenti, e può dar vita ad una strategia di mercato piuttosto complessa. Nei casi di librerie (o framework) che vogliono fare concorrenza a prodotti esistenti, si deve convincere gli utilizzatori che essi siano validi al confronto degli altri prodotti disponibili. Il produttore può anche rendere disponibile in rete delle introduzioni all'apprendimento del proprio prodotto, che però non coprono tutte le potenzialità dello stesso, cercando allo stesso tempo di creare una comunità di supporto ed un gergo che l'accomuni. Il gergo può far uso di termini nuovi che rimpiazzano quelli già in uso, giustificati con motivazioni diverse (ad esempio, le "[[Funzione (informatica)|funzioni]]" in [[Java (linguaggio di programmazione)|Java]] sono chiamate "[[Metodo (programmazione)|metodi]]", nonostante compiano azioni o restituiscano un risultato di un'elaborazione). Talvolta può dar vita ad una serie di acronimi che rendono quasi criptico il linguaggio (si veda il framework [[Spring Framework|Spring]]). In tal modo si riesce a far diminuire il numero degli autodidatti che imparano in rete, spingendo chi vuole apprendere a comprare libri per l'apprendimento e le pratiche ottimali da seguire e/o seguire corsi e contemporaneamente si crea una comunità di sviluppatori fedele nel tempo, spesso unita anche da una "filosofia" di programmazione. Dunque, la caratteristica di questo modello può spingere i manutentori del progetto ad aumentare artificiosamente la complessità del software e diminuire la leggibilità del codice, contrastando almeno in parte i principi della semplicità di condivisione della conoscenza che animano invece altri tipi di progetti, sempre open-source.
Questi modelli di business tipici non sono al momento distinti da una [[tassonomia]] condivisa. È anche possibile, dunque, che un certo progetto Open Source venga iniziato sotto un certo [[modello di business]], ma poi prosegua sotto un altro.
 
=== Studi e ricerche ===