Posso usare librerie open source in trialware?

6

Ho scritto un piccolo programma Java che mi piacerebbe distribuire sul mio sito web. Ho usato alcune librerie esterne che dichiarano le seguenti licenze: Apache License (2.0), LGPL e una API non dichiarano alcuna licenza .. È open source però.

Ho dedicato molto tempo e impegno allo sviluppo del mio programma. Ecco perché ho pensato di distribuire il software in modo che solo i donatori (non importa quanto o poco donino) possano utilizzarlo nella sua massima estensione. I non donatori possono vedere una schermata di tanto in tanto con un suggerimento di donare e possono scaricare solo un file alla volta invece di download simultanei. (Sì, il mio programma esegue qualche download)

Posso farlo senza avere problemi legali? Da un lato vorrei distribuire la fonte completa del mio progetto, ma dall'altro renderebbe inutilizzabile la limitazione delle funzioni per i non donatori, poiché potrebbero semplicemente rimuovere la parte con il controllo seriale nr e ridistribuire il mio software.

Con quale licenza dovrei distribuire il mio programma?

    
posta Aaronaught 01.06.2011 - 00:32
fonte

5 risposte

7

Prima di tutto: non dovresti mentire ai tuoi "clienti". Se solo i donatori possono utilizzare tutte le funzionalità, non è una donazione, è un pagamento regolare.

LGPL consente in modo stretto di essere utilizzato in applicazioni non libere, la licenza Apache che non conosco. Almeno dovresti cancellare la licenza API. Solo per dire "La sua open source" non ti dice, cosa ti è permesso fare con esso. Manda una mail al manutentore e chiediglielo.

Naturalmente non conosco la tua applicazione. Forse puoi dividerlo in parti, dove uno è pubblicato sotto una licenza OSS e l'altra parte è pagata.

    
risposta data 01.06.2011 - 00:43
fonte
2

Can I do that without getting legal issues?

Certo, l'open source non significa libero (anche se spesso lo è).

Ma puoi non usare la licenza GPL. Basta usare la licenza shareware media.

link

    
risposta data 01.06.2011 - 00:37
fonte
1

Finché si collega dinamicamente alla libreria LGPL-ed è possibile eseguire almoust qualsiasi cosa con il proprio programma, includendovi la vendita o mettendo uno schermo fastidioso su di esso. La licenza di apache è molto meno rigida della LGPL. Se si collega staticamente all'API LGPL-ed è ancora possibile distribuirlo, ma solo con il codice sorgente. Devi dare la fonte a chiunque acquisti il tuo software. Quindi non puoi dare il tuo programma senza la sorgente a nessuno, quindi uno schermo fastidioso è un non senso, lo si può estrarre e ricompilare, un buon esempio di questo è FlowPlayer.

Raccomando di scrivere una nuova licenza se vuoi utilizzare le tue regole.

Modifica Per Java non esiste un collegamento statico o dinamico, tutto è collegato in qualche modo dinamicamente, ma non completamente. Come lo scrittore della licenza, Dave Turner ha detto , il metodo di collegamento utilizzato da Java ( l'uso della parola chiave 'import') rientra nella sezione 6 della licenza . Ciò significa che devi fornire all'utente un modo per modificare la versione della libreria che hai utilizzato, anche invertire la procedura per eseguire il debug delle sue modifiche. Quindi non è necessario fornire la fonte, né è necessario fornire una descrizione degli interni del programma, ma non si può negare agli utenti di decodificarlo (che contraddice la maggior parte delle licenze proprietarie). Hai ancora bisogno di fornire la fonte della biblioteca. Quindi in pratica puoi vendere il tuo programma a persone non programmatrici, o che non sono abbastanza intelligenti da decompilare il tuo programma e rimuovere il fastidioso.

Non ne sono sicuro, ma penso che gli altri possano anche pubblicare una versione modificata del tuo programma, es .: un coder prende la tua versione limitata, decompila, rimuove ogni limite, lo compila e pubblica il tuo lavoro. Non lasciatevi ingannare dall'idea che nessuno si preoccuperà di farlo, ho qualcosa come questo (ho scritto qualcosa del genere, perché ho modificato e ripubblicato un programma LGPL-ed). Le persone possono andare abbastanza lontano quando c'è denaro.

Si potrebbe anche voler scrivere la propria licenza dove è possibile specificare quali parti del codice non possono essere modificate in caso di reverse engineering (es. L'utente è autorizzato a decodificare il prodotto, ma non può modificare le sezioni in il codice contrassegnato con * inserire il segno qui * ), in questo modo bloccandoli per rimuovere il fastidioso / limitazioni.

    
risposta data 01.06.2011 - 00:46
fonte
0

La semplice risposta è controllare la stampa fine, ci sono licenze che affermano che se si usano i loro contenuti si dovrebbe anche rendere il codice open source ..

Finché questo non è il caso, non sei obbligato a fornire la fonte, né a darla gratuitamente ..

    
risposta data 01.06.2011 - 00:39
fonte
0

Queste due licenze do ti consentono di ridistribuire un'applicazione derivata sotto quasi tutte le licenze, ma allo stesso tempo devi rispettare i termini di tali licenze.

Ciò significa che, per il lavoro con licenza LGPL, devi rendere il codice sorgente disponibile per il suo intero, più eventuali modifiche apportate ad esso . È possibile modificare la libreria LGPL, ma tali modifiche devono essere distribuite in forma sorgente. Tuttavia, quando si collega a una libreria LGPL, non è necessario effettuare il lavoro collegato LGPL - è possibile distribuirlo sotto la licenza di propria scelta.

Il collegamento dinamico o il collegamento statico sono entrambi consentiti, ma deve essere possibile per l'utente della tua applicazione scambiare la libreria LGPL con uno di loro. Il collegamento dinamico viene solitamente utilizzato per semplificare la procedura. Se si utilizza il collegamento statico e non si desidera distribuire il codice sorgente, è necessario distribuire i file oggetto compilati per tale codice in modo che qualcuno possa collegare i propri.

La licenza di apache è ancora meno restrittiva della LGPL. Puoi prendere il codice Apache e incorporarlo direttamente nella tua applicazione, o collegarlo e comunque distribuire il tuo codice sotto una licenza di tua scelta.

@Hovertruck si sbaglia dicendo che non puoi usare la GPL - infatti, puoi farlo. La LGPL esplicitamente consente il licenziamento del lavoro sotto licenza GPL. Puoi anche concedere in licenza il lavoro derivato da Apache sotto GPL.

Una possibile strategia di licenza da utilizzare è distribuire una versione "ridotta" della tua applicazione con la licenza Apache (o altre simili) e distribuire una versione più compilata con una licenza proprietaria di tua scelta.

    
risposta data 01.06.2011 - 19:23
fonte

Leggi altre domande sui tag