Il codice sorgente rilasciato sotto GPL deve essere leggibile?

21

In una risposta a un'altra domanda , un poster suggeriva che sotto GPL:

...you need to provide the human readable [code], not a whitespace stripped version...

La leggibilità mi sembrerebbe soggettiva e improbabile che fosse esplicitamente richiesta dalla GPL. È?

    
posta Armand 28.03.2011 - 15:53
fonte

3 risposte

35

La GPL richiede che sia la versione preferita per la modifica. Se normalmente scrivi in codice offuscato e apporti modifiche direttamente in esso, questa è la fonte di GPL. Se lavori su una versione leggibile, e poi esegui qualsiasi tipo di obfuscator, la versione leggibile è ciò che la GPL considera la fonte.

La "leggibilità" è soggettiva e non definita. È legale rilasciare codice sotto la GPL veramente cattivo, difficile da capire. Non è legale prendere la versione in cui apporti modifiche, rimuovere lo spazio bianco o renderlo meno leggibile e chiamarlo sotto GPL.

    
risposta data 28.03.2011 - 15:58
fonte
6

Prendendo GPL v3, nella sezione 1 hai:

The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities.

Se i commenti e lo spazio bianco sono stati rimossi, così come i nomi delle funzioni e delle variabili modificati, non sarebbe possibile modificare il lavoro ragionevolmente.

Inoltre:

The Corresponding Source for a work in source code form is that same work.

Quello stesso lavoro, non un lavoro alterato.

Quindi, per chiarire il mio punto precedente, il codice sorgente deve essere inalterato, presumo che la scrittura umana == sia leggibile. Ma sì, potresti scrivere direttamente in quello che potrebbe essere considerato non leggibile.

    
risposta data 28.03.2011 - 16:01
fonte
4

La domanda non include alcune informazioni critiche. Se sei l'unico autore, puoi rilasciare il tuo codice sotto qualsiasi licenza tu voglia (inclusa la GPL) senza necessariamente seguire tutte le sue regole. In questo modo è possibile spedire il codice in un formato che è non preferito per modificarlo e non violare alcuna legge sul copyright. Se gli altri potrebbero quindi estendere il tuo codice nello spirito di essere sotto una licenza di Software Libero è discutibile, quindi è probabile che pochi provino.

Tuttavia la maggior parte delle volte non sarai l'unico autore di un'opera. Potrai sfruttare il codice esistente, creando un'opera derivata. Tale lavoro deve seguire le regole combinate della sua discendenza o non avrai il permesso di distribuirlo senza violare il copyright.

Per renderlo più chiaro, ecco alcuni esempi (IANAL):

  • Se utilizzi una libreria GPL nel tuo codice, non ti sarà permesso spedire il tuo codice sorgente solo in forma offuscata a meno che (come scrive David Thornley) sia effettivamente la forma in cui lo scrivi e lo modifichi.
  • Se si utilizza una libreria LGPL nel proprio codice, è possibile spedire il proprio codice sorgente solo in forma offuscata. Questo perché LGPL richiede solo che tu sia in grado di utilizzare il lavoro che utilizza la libreria con una versione più recente della libreria.
  • Se estendi una libreria LGPL, questo sarebbe come il caso GPL, e dovresti spedire il codice non offuscato (di nuovo, a meno che non sia così che lo modifichi).
risposta data 28.03.2011 - 16:42
fonte

Leggi altre domande sui tag