Se le licenze GNU non sono più eticamente sufficienti, cosa servirebbe?

Su questo ho una posizione atipica.

Considero la GNU GPLv3 e la AGPLv3 copyleft troppo deboli per il mondo di oggi. Questo per diverse ragioni, ad esempio il reach limitato e la clausola di terminazione.

Come hai visto sul mio sito sto lavorando ad un nuovo copyleft, la Hacking License, che cerca di superare i limiti delle licenze GNU.

Per quanto breve (un quarto della AGPL) e leggibile, è piuttosto densa: è pensata per un sistema distribuito e per massimizzare la produzione di software libero, non necessariamente il suo sfruttamento commerciale. Ho iniziato a lavorarci un anno fa circa (dopo una brutta esperienza con Google e la Software Freedom Conservancy) per garantire diritto al self-host degli utenti, unica vera soluzione al Capitalismo di Sorveglianza.

3 Mi Piace

Ah, da qualche anno ci pensavo anch’io, di rompere le palle a RMS e company per un aggiornamento più drastico delle *GPL. Già scegliamo AGPL quasi ovunque, anche per software non inteso ad essere operato su server… proprio per disincentivare una virtualizzazione di tali software sui server! Ma ormai ci sono altri aspetti che ritengo cruciali… ci vorrebbe una licenza che richieda la riproducibilità di ogni binario derivato dal codice sorgente e la bootstrappabilità del sistema di compilazione. E ormai bisogna anche considerare di buttare all’aria le precondizioni commerciali dell’open-source per garantire in cambio i diritti civili degli utenti del software.

1 Mi Piace

Un altro problema serio é che si sta portando tutto su cloud. SAAS e PAAS rendono il codice non piú visibile distruggendo l’idea iniziale di poter controllare il codice che si lancia. Inoltre queste licenze ti obbligano a distribuire il codice del software che scrivi sotto licenza GPL solamente se distribuisci il software in prima istanza, ma se tu non distribuisci il software e lo usi come SAAS puoi modificarlo senza distribuire le modifiche. Ad esempio, se io mi faccio il mio cloud, potrei lanciare versioni modificate di Kubernetes senza distribuirne le modifiche.

2 Mi Piace

E la licenza AGPLv3 risolve questo problema.

Ma il discorso è un altro: la comunità di sviluppo si sta spostando verso licenze MIT/BSD. Di che stiamo parlando?

1 Mi Piace

Evidentemente non l’hai mai letta.

[quote=“ale, post:3, topic:2344”] Un altro problema serio é che si sta portando tutto su cloud. SAAS e PAAS rendono il codice non piú visibile distruggendo l’idea iniziale di poter controllare il codice che si lancia.[/quote]

Questa è una delle ragioni per cui ho scritto la Hacking License.

Ma rispetto alla AGPL che garantisce all’utente solo l’accesso alle modifiche effettuate al codice che copre, la HACK estende la propria viralità a qualsiasi programma che interagisca con il software che copre.

In questo modo se rilasci, supponiamo, un servizio ReST innovativo sotto la Hacking License, Google non ci può fare una GUI carina sopra senza rilasciarne agli utenti il sorgente sotto una licenza open source (non necessariamente la Hacking License, ma tanto non importa, basta che sia proprio il sorgente che viene eseguito per l’utente in modo che lo possa ispezionare).

La Hacking License prevede che gli strumenti necessari ad usufruire dei diritti forniti dalla licenza siano resi disponibili agli utenti (condizione 3.8).

La riproducibilità è una condizione alla distribuzione in forma binaria. Io penso che il software dovrebbe essere distribuito in forma sorgente. Purtroppo per i compilatori bisogna fare un’eccezione (e per questo dovremmo usare linguaggi di programmazione più semplici in modo che sia possibile disassemblarli e verificare che facciano ciò che devono e niente di più).

Sono totalmente d’accordo.

E d’altro canto, quando tutti sapranno programmare, l’informatica non sarà più una attività economica ma una attività culturale e il software libero disporrà di molti più sviluppatori di qualsiasi società, rendendo anti economico il software proprietario.

Dobbiamo solo iniziare ad investire seriamente in educazione informatica.

Puoi scrivere una licenza restrittiva quanto vuoi, ma se poi non viene rispettata (o se nessuno la sceglie, perché se devo andare di restrittivo vado con “all rights reserved” e tanti saluti), di che stiamo continuando a parlare?

Ad esempio: il sorgente del kernel Linux (GPLv2) per come viene usato nelle distribuzioni Android di quasi tutti i produttori di cellulari, dove sta? Perché anche quando viene pubblicato, spesso lo è in grande ritardo rispetto all’uscita del device?

Ci sono i tribunali per questo. :wink:

Io la scelgo. La sto scrivendo per questo! :smile:

E se vuoi usare il mio software devi accettarla. E se lo vuoi modificare o creare opere derivate, la devi scegliere anche tu. :kissing_heart:

Ci sono persone che vedono al di là del proprio naso. E persone che hanno valori che un portafoglio non può contenere.

Tu pensi al passato. Io penso al futuro. :wink:

1 Mi Piace

Ne ho viste tante cause su violazioni della GPL. Tantissime proprio. :wink:

Evidentemente le aziende non la violano. :wink:

C’è gente che fa gran soldi (e secondo me legittimamente) attraverso accordi extra giudiziali con le aziende che violano la GPL. E mentre la SFC, magnanima, sostiene che non bisogna puntare ai soldi, visto che l’unica cosa che riesce ad ottenere è la cessazione della violazione ma non la distribuzione delle modifiche, la mia personale opinione è che bisogna puntare proprio a scucirgli tanti tanti soldi, in modo che sentano il gusto.

Comunque, in un modo o nell’altro, i copyleft funzionano… dove sono validi.

In alcuni paesi non funzionano proprio. Non funziona nessuna licenza però, open source o proprietaria, perché non è riconosciuto il diritto d’autore.

Anche per questo la Hacking License prevede una attribuzione del copyright e delle patenti upstream. Perché se qualcuno in questi paesi modifica il mio software io ricevo il copyright sulle sue modifiche, con tutto quello che comporta. Inoltre, quando esce dal suo paese, la sua licenza è nulla e non può distribuire le opere derivate, mentre io posso prendere il suo codice e distribuirlo insieme al mio.

1 Mi Piace

A me questa sembra un’assurdità, perché poi lo stesso principio può benissimo essere applicato dalle licenze commerciali, e allora addio interoperabilità. Secondo la tua idea, una società potrebbe per esempio proibire per licenza di sviluppare una GUI alternativa per un determinato set di API o addirittura andare tramite avvocati contro chiunque cerchi di creare un front-end per un dato tool CLI.

Hai ragione, infatti la licenza che stai descrivendo mi sembra antitetica rispetto ai valori di libertà e di Internet aperta e interoperabile in cui credo e non la userei mai proprio per motivi etici.

(la mia è una provocazione ovviamente… è giusto e sacrosanto che si sperimenti con le licenze, ma secondo me utilizzare le “armi dell’avversario” ha senso fino a un certo punto, perché poi ci si trova nella scomoda posizione di dover difendere un principio in alcuni casi ed essere contrari in altri)

Infatti, questo é un problema piú serio. Immagino che la ragione alla base sia che le grandi corporation sostengono la scrittura di software libero per la creazione dei loro servizi e la scrittura di software da parte di fondazioni come FSF sta passando in secondo piano di fronte ai loro investimenti.

L’idea di fondo di questo tipo di licenze é di generare un hack usando le regole definite dal legislatore, il limite é che la regola in sé non viene messa in discussione e si lascia ai programmatori la libertá di scegliere quale licenza é piú conveniente usare per il tipo di software che si sta per andare a sviluppare

La questione è anche quella. Molte aziende stanno “scaricando” sulla comunità sotto forma di codice aperto/libero il software che, seppur loro indispensabile, non gli crea valore direttamente.

La questione è anche economica, e da questo punto di vista le licenze virali sono sconvenienti. In nessun caso potremmo costringere qualcuno a scegliere una licenza piuttosto che un’altra, quindi alla fine boh: scegliere la GPL è un atto molto forte, nonostante possa sembrare “banale.”