League for Programming Freedom
1 Kendall Square #143
P.O. Box 9171
Cambridge, MA 02139
Programming Freedom è il bollettino della League for Programming Freedom.
Ci visiti sul nostro sito web: http://lpf.ai.mit.edu.
Si incoraggia la riproduzione di Programming Freedom tramite ogni canale di comunicazione.
Per riprodurre un articolo firmato, si contatti l'autore per averne il permesso.
Il Professor Donald Knuth dell'Università di Stanford è l'autorità assoluta in materia di algoritmi. Il suo capolavoro, The Art of Computer Programming, costituisce il più importante testo di riferimento sull'argomento. Knuth ha anche sviluppato il programma TeX per la stesura di testi di matematica ed è stato ideatore del concetto di literate programming. Prove del prestigio di Knuth sono le seguenti distinzioni:
Le prime quattro distinzioni costituiscono i più alti riconoscimenti per uno scienziato americano. La mancanza di un premio Nobel per le scienze informatiche è compensato dal Turing Award, che ha un prestigio altrettanto alto.
Con questi riconoscimenti, Knuth è probabilmente la persona più autorevole nel campo delle scienze informatiche. Adesso è anche socio della League for Programming Freedom.
Ecco sotto una lettera da lui inviata nel febbraio del 1994 al Commissario di Brevetti [USA] sulla questione dei brevetti software.
Commissioner of Patents and Trademarks Box 4 Patent and Trademark Office Washington, DC 20231 Gentile Commissario: Assieme a molti altri informatici, vorrei chiederle di rivedere la pratica corrente di emettere brevetti su processi computazionali. Trovo una considerevole ansietà tra i membri della comunità informatica che ritiene che la decisione dei tribunali di brevetti e l'Ufficio Brevetti e Marchi stia rendendo la vita molto più difficile ai programmatori. Nel periodo 1945-1980, si pensava che le leggi brevettuali non si applicassero al software. Nonostante ciò, pare che alcune persone abbiano ottenuto brevetti per algoritmi d'utilità pratica--e.s., compressione Lempel-Ziv e crittografia a chiave pubblica RSA--e stanno adesso impedendo legalmente l'uso di questi algoritmi ad altri programmatori. Questo è un grave cambiamento dalla politica precedente che permise la rivoluzione digitale; e temo che questo cambiamento sarà dannoso alla società. Ciò avrebbe sicuramente avuto un effetto negativo sul mio lavoro: per esempio, ho scritto un sistema software chiamato TeX che è utilizzato nella produzione di oltre il 90% di tutti i libri e periodici di matematica e fisica, e per la stesura di centinaia di migliaia di relazioni tecniche in tutti i campi delle scienze. Se i brevetti software fossero stati comuni già nel 1980, non avrei potuto creare tale sistema, né avrei mai pensato di farlo, né posso immaginare che qualcun'altro l'avrebbe fatto. Mi è stato detto che i tribunali stanno tentando di distinguere tra algoritmi matematici e quelli non matematici. Per uno scienziato informatico questa distinzione non ha alcun senso, perché ogni algoritmo è matematico quanto potrebbe esserlo ogni altra cosa. Un algoritmo è un concetto astratto senza rapporto con le leggi fisiche dell'universo. Né è possibile distinguere tra algoritmi numerici e quelli non numerici, come se i numeri fossero in un certo qual modo diversi da altri tipi d'informazione. Tutti i dati sono numeri e tutti i numeri sono dati. I matematici lavorano molto più con entità simboliche piuttosto che con numeri. Pertanto, l'idea di varare leggi che distinguono fra algoritmi matematici e non matematici mi sembra alquanto assurda; paragonabile alla proposta di legge novecentesca dell'Indiana che dichiarava che il rapporto della circonferenza di un cerchio e il suo diametro fosse pari a 3, e non approssimativamente a 3,1416. È come quando la chiesa medievale affermava che fosse il sole a ruotare attorno alla Terra. Le leggi fatte dall'uomo possono essere molto utili, ma non quando contraddicono verità fondamentali. Il Congresso ha saggiamente deciso, molto tempo fa, che gli enti matematici non si possono brevettare. Sicuramente nessuno si sarebbe applicato alla matematica se fosse stato necessario pagare un dazio ogni qualvolta si utilizzava il teorema di Pitagora. I fondamentali concetti algoritmici che si stanno brevettando adesso sono talmente essenziali che il risultato minaccia di essere simile a quello che accadrebbe se si consentisse agli scrittori di brevettare le singole parole e i concetti. Romanzieri e giornalisti non potrebbero scrivere senza che i loro editori avessero il permesso dei detentori dei vocaboli. Gli algoritmi sono fondamentali per il software come lo sono le parole per gli scrittori, perché costituiscono le mattonelle con cui si costruiscono prodotti interessanti. Cosa accadrebbe se gli avvocati potessero brevettare i loro metodi di difesa o se i giudici della Corte Suprema potessero brevettare le loro decisioni precedenti? Mi rendo conto che i tribunali brevettuali fanno del loro meglio per servire la società quando formulano leggi brevettuali. L'Ufficio Brevetti ha adempiuto questa missione in modo ammirevole, rispetto alle tecnologie riguardanti leggi concrete di fisica più che con i concetti astratti del pensiero. Io stesso possiedo alcuni brevetti su apparechiature hardware. Ma credo fermamente che la recente pratica di emettere brevetti su algoritmi può beneficiare solo un piccolo numero di avvocati e inventori, mentre crea dei gravi problemi alla vasta maggioranza di persone che vogliono utilizzare i computer in modo proficuo. Quando penso ai programmi che utilizzo quotidianamente per lavorare, mi rendo conto che nessuno di questi esisterebbe se i brevetti sul software fossero stati comuni negli anni 60 e 70. Cambiare le leggi adesso avrà l'effetto di bloccare il progresso al livello attuale. Se le cose continuano in questo modo, l'unica via d'uscita per la maggioranza degli sviluppatori software americani di talento sarà quello di cambiare mestiere o di emigrare. Gli Stati Uniti presto perderanno la loro posizione dominante. La prego di fare il possibile per invertire questa tendenza allarmante. Ci sono modi migliori di proteggere la proprietà intellettuale degli sviluppatori software invece di togliere loro il diritto di utilizzare le mattonelle fondamentali per costruire i loro prodotti. Distinti saluti, Donald E. Knuth Professor Emeritus