Posso utilizzare la licenza Qt LGPL e vendere la mia applicazione senza alcun tipo di restrizione? [chiuso]


85

Voglio avviare un progetto multipiattaforma. Avevo le mie ricerche e ora sono quasi certo che Qt sia l'affare giusto. Tuttavia, qui c'è un grosso ostacolo: le licenze .

Voglio vendere il mio progetto e inoltre non voglio dare alcuna fonte relativa al mio lavoro o pagare una licenza. Ho controllato e ho notato che Qt offre soluzioni sia commerciali che open source. Ho sentito troppi detti contrastanti sulle licenze Qt che mi hanno molto confuso. Alcuni dicono che anche se uso la versione LGPL di Qt, devo comunque inviare il mio codice. È vero?

Qualcuno può darmi una semplice spiegazione sulle licenze Qt e dirmi se posso vendere la mia applicazione senza alcun tipo di restrizione o no? Qualcuno potrebbe dirmi altri equivalenti a Qt per lo sviluppo multipiattaforma senza restrizioni?


5
Questa domanda si riduce a questioni legali. Questi sono sfortunatamente fuori tema qui su SO.
Bart

1
Ho un dilemma sull'argomento, non c'è da litigare sulla licenza stessa! come vengono trattati e come mi influenzano nel processo di sviluppo. Quindi penso che sia perfettamente corretto fare una domanda del genere.
Rika

1
Non cerco alcun consiglio per diventare commerciale o LGPL, ho solo bisogno di qualche chiarimento sul sistema di licenze stesso, quindi ti sarei grato se aprissi questa domanda per ulteriori chiarimenti sull'argomento.
Rika

1
Allora vieni a Meta. Chiedi se con la tua formulazione la domanda è in argomento e potrebbe essere riaperta. È necessario un moderatore o 5 persone con privilegi sufficienti per riaprirlo. Rendila una domanda amichevole e la comunità darà un'occhiata. meta.stackoverflow.com
Bart

1
Meta è fantastico finché non ti interessa davvero il tuo rappresentante Meta. Il voto è molto più liberale lì.
rlemon

Risposte:


100

Basta collegarsi dinamicamente a Qt. Se ti colleghi dinamicamente alle librerie LGPL, non c'è nulla di cui preoccuparsi.

Se ti colleghi staticamente a loro, puoi semplicemente distribuire i tuoi file oggetto (non il tuo codice sorgente) e starai bene.

L'idea della LGPL è che l'utente finale deve essere in grado di sostituire la libreria LGPL con una versione che desidera. Il collegamento dinamico alla libreria LGPL ti consente di farlo, così come il collegamento statico e la distribuzione dei file oggetto. Fintanto che lo fai, puoi vendere il tuo programma closed source quanto vuoi.

Naturalmente, c'è di più nella LGPL oltre a questo, ma questa è la parte rilevante.


6
La LGPL richiede inoltre di "non limitare la modifica delle parti della Libreria contenute nel lavoro combinato e il reverse engineering per il debug di tali modifiche", il che potrebbe essere in conflitto con i divieti di alcuni EULA commerciali sul reverse engineering.
Josh Kelley

15
@ Hossein Hai anche letto la risposta? Questo non ha nulla a che fare con il tuo codice. La licenza LGPL di Qt si riferisce solo a Qt e Qt, quindi puoi impacchettare il tuo codice e concederlo in licenza come preferisci, ma a meno che non intendi acquistare una licenza commerciale Qt, devi collegarti dinamicamente a Qt. La licenza commerciale di Qt è per quando si desidera modificare il codice sorgente di Qt e non rilasciare pubblicamente le modifiche apportate.
cmannett85

1
@ Hossein: E fintanto che ti colleghi dinamicamente a Qt. Onestamente, dovresti rivolgerti a un avvocato. Dovresti sempre parlare con qualcuno prima di impegnarti in un'impresa commerciale. E FWIW, IANAL.
Steli di mais

2
@ Hossein, gli utenti dovrebbero essere in grado di eseguire il reverse engineering e sostituire completamente Qt stesso. Tuttavia, questo significa che NON dovresti proibire il reverse engineering. Devi distribuire Qt come DLL ... e per un bonus, i file oggetto della tua app (non obbligatori). Se ti CURA dei tuoi file oggetto, dovresti preoccuparti anche del tuo EXE! Perché per un ragazzo che sa usare i file Object, sa anche cosa è ESATTAMENTE un EXE! Queste persone tendono a preoccuparsi delle cose di basso livello e ne sanno molto di più di noi. Per loro, anche il tuo EXE potrebbe essere leggibile come il tuo codice sorgente per te: P
Петър Петров

1
@ ПетърПетров Sì, il reverse engineering è una vera preoccupazione quando si usano le librerie LGPL. Tuttavia, gli eseguibili sono generalmente molto più difficili da decodificare rispetto a un gruppo di file oggetto (in particolare perché gli eseguibili vengono solitamente rimossi, hanno ottimizzazioni del tempo di collegamento e inlining applicate, ecc.). Ma hai assolutamente ragione: se non stai attento a come costruisci il tuo eseguibile, potrebbe essere facile decodificare come tutti i tuoi file oggetto.
Steli di mais
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.