Korištenje software-a sa GPL/LGPL licencom

poruka: 7
|
čitano: 2.830
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
12 godina
neaktivan
offline
Korištenje software-a sa GPL/LGPL licencom

Pozdrav svima!

 

Imam jedan problem oko interpretiranja značenja navedenih licenci. Situacija je da imam jedan Java program koji trebam pokrenuti kao daemon/servis. Da bi to mogao moram koristiti neki gotovi software. Java Service Wrapper (Tanuki Software) ima GPL licencu i to znači, koliko ja razumijem, da ja smijem koristiti njihov program i smijem naplacivati svoj program koji radi u sprezi s njihovim, ali onda source code mog programa mora biti dostupan svima.

Našao sam neku alternativu tom programu, YAJSW, koji ima LGPL licencu. Mene sad zanima što to meni znači? Da li ja mogu koristiti taj program zajednom s mojim i prodavat ga, bez da stavljam source kod mog programa otvorenim?

 

Hvala puno

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Korištenje software-a sa GPL/LGPL licencom

Razlika između GPL-a i LGPL-a je upravo u tome što LGPL za razliku od GPL-a možeš koristiti u aplikacijama zatvorenog koda dokle god korišteni resurs (koji je pod LGPL-om) nije statički linkovan za tvoju aplikaciju.

 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Korištenje software-a sa GPL/LGPL licencom
vasso123 kaže...

Pozdrav svima!

 

ima GPL licencu i to znači, koliko ja razumijem, da ja smijem koristiti njihov program i smijem naplacivati svoj program koji radi u sprezi s njihovim, ali onda source code mog programa mora biti dostupan svima.

GPL licenca zahtjeva objavu izvornog koda svih radova koji su nastali od koda pokrivenog GPL licencom, a koje misliš javno distribuirati. Ne zabranjuje naplaćivanje takve distribucije.

 

Linkanje sa statičkim bibliotekama cijeli program stavlja u kategoriju rada koji je nastao od koda pokrivenog GPL licencom.

 

Kod linkanja sa import bibliotekama, te kasnijeg dinamičkog linkanja (.dll, .so), situacija nije baš tako jasna, sa stajališta nekih i to stavlja program u kategoriju rada koji je nastao od izvornog koda pokrivenog GPL licencom.

 

Kada su u pitanju odvojeni programi, koji komuniciraju nekim oblikom IPC-a, onda se onaj drugi program ne smatra radom koji je nastao od izvornog koda pokrivenog GPL licencom.

 

Nije mi baš jasno kako taj Java Service Wrapper funkcionira, mora li se nekako linkati sa tvojim programom? Ili putem IPC-a razgovara sa tvojim java programom?

 

vasso123 kaže...
Našao sam neku alternativu tom programu, YAJSW, koji ima LGPL licencu. Mene sad zanima što to meni znači? Da li ja mogu koristiti taj program zajednom s mojim i prodavat ga, bez da stavljam source kod mog programa otvorenim?

 

Hvala puno

LGPL licenca je u mnogim stvarima identična GPL licenci, ali:

 

LGPL licenca, za razliku od GPL licence, korištenje dinamički linkanih biblioteka (.dll, .so) ne stavlja tvoj program u kategoriju rada koji je nastao od izvornog koda pokrivenog GPL licencom. Znači tvoj program može biti zatvorenog koda i dinamički se linkati sa LGPL bibliotekama.

 

Ako modificiraš izvorni kod LGPL biblioteke, dužan si taj kod učiniti javno dostupnim, ali izvorni kod programa koji se linka s tom bibliotekom ne moraš objaviti.

 

Zaključak koji se iz svega ovoga nameće je da moraš znati točno kako GPL ili LGPL program komunicira sa tvojim programom da bi mogao biti načisto sa licencom.

0xBADC0DE
12 godina
neaktivan
offline
Korištenje software-a sa GPL/LGPL licencom

Moze li mi netko objasniti kakva je razlika izmedju statickog i dinamickog linkanja? Koliko sam ja skuzio, dinamicko linkanje znaci kada moj software koristi neki 3rd party software tipa library, tada se on ne uvozi(kopira) u moj software nego se taj library koristi izvana, tako da se taj library moze i zamjeniti nekim novijim recimo. Staticko je obratno. Jel tako?

 

Yet Another Java Service Wrapper (YAJSW) ima LGPL licencu. Source kod samog YAJSW ne mislim i ne trebam dirati, osim konfiguracijskih datoteka i možda batch/bash skripti koje se koriste za pokretanje Java aplikacije kao servisa, ali to je sve u okvirima normalnog korištenja software-a. Također, nigdje u mom programu se ne "linka" na taj wrapper, moja aplikacija moze raditi i samostalno, tj. ona niti nezna da je pokrenuta sa wrapperom. U konfiguracijskim datotekama YAJSW-a se namješta klasa sa main metodom moje aplikacije, parametri pri pokretanju itd.

 

EDIT: sto vise citam to sam vise zbunjen :D. Ajmo prvo ovako, imam 2 opcije:

1. koristiti JSW koji je GPL (vec ga koristim, dakle ovu opciju preferiram),

2. koristiti YAJSW koji je LGPL.

 

Dakle sto se tice 1.opcije, ja nigdje u svom programu ne navodim, ne koristim JSW. Kao sto sam vec rekao aplikacija moze raditi i bez JSW-a. Ja JSW podesim na načim koji odgovara mojoj aplikaciji (preko konf.datoteka) i to radi. Dakle, koliko ja razumijem tu nema nikakvog linkanja, ni dinamickog ni statickog.

Ako se to ipak smatra "povredom" GPL-a, i da moram objaviti source kod svoje aplikacije, onda bi presao na 2.opciju.

 

Sad, sta i kako? :)

 

Hvala vam puno na odgovorima i savjetima

Poruka je uređivana zadnji put sri 15.5.2013 19:11 (vasso123).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Korištenje software-a sa GPL/LGPL licencom
vasso123 kaže...

Moze li mi netko objasniti kakva je razlika izmedju statickog i dinamickog linkanja? Koliko sam ja skuzio, dinamicko linkanje znaci kada moj software koristi neki 3rd party software tipa library, tada se on ne uvozi(kopira) u moj software nego se taj library koristi izvana, tako da se taj library moze i zamjeniti nekim novijim recimo. Staticko je obratno. Jel tako?

Tako nekako.

 

Statičko linkanje je kada dio kompajlera zvan linker, doslovno iskopira kod iz neke biblioteke u tvoj program i onda uz pomoć ostalih objektnih datoteka načini executable.

 

Dinamičko linkanje se može dogoditi na dva načina:

Prvi je kada kompajler pomoću import biblioteke kreira import sekciju executablea (import sekcija u biti govori operacijskom sustavu koje dinamičke biblioteke treba učitati i sadrži popis funkcija koje te dinamičke biblioteke imaju.

 

Drugi način za dinamičko linkanje je za vrijeme runtimea API funkcijama učitati nekakvu biblioteku te dobiti memorijske adrese određenih funkcija koje kaniš koristiti (tako se uglavnom implementiraju plugini).

 

Moje poznavanje Jave je veoma ograničeno, ali koliko znam linkanje sa nativnim bibliotekama je u Javi moguće samo putem ovog trećeg slučaja.

 

vasso123 kaže...

Također, nigdje u mom programu se ne "linka" na taj wrapper, moja aplikacija moze raditi i samostalno, tj. ona niti nezna da je pokrenuta sa wrapperom. U konfiguracijskim datotekama YAJSW-a se namješta klasa sa main metodom moje aplikacije, parametri pri pokretanju itd.

E ovo je bitno. Prilično sam siguran da si OK po pitanju licence. Taj wrapper onda koristi neki oblik IPC-a za komunikaciju sa tvojom aplikacijom, a takvo nešto ne smeta ni GPL licenci.

0xBADC0DE
Poruka je uređivana zadnji put sri 15.5.2013 19:11 (rustweaver).
12 godina
neaktivan
offline
Korištenje software-a sa GPL/LGPL licencom

Hvala na odgovoru, molim te obrati pozornost da sam editirao prosli post, pa samo baci pogled sta sam napisao, ako nije problem :)

Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Korištenje software-a sa GPL/LGPL licencom
vasso123 kaže...

Hvala na odgovoru, molim te obrati pozornost da sam editirao prosli post, pa samo baci pogled sta sam napisao, ako nije problem :)

Konfiguracijske datoteke nisu problem. Ne znam ni pokriva li ih uopće licenca jer svoje konfiguracijske datoteke većina programa može sama generirati ako ih ne pronađe na traženim lokacijama.

 

Druga stvar kod konfiguracijskih datoteka je što ih distribuiraš takve kakve jesu, tako da sve ako se to i računa kao modifikacija, ti si tu svoju modifikaciju već učinio dostupnom svima jer je to obična tekstualna datoteka.

 

Treća stvar. Ti slobodno možeš modificirati što god želiš od ovog GPL programa, i onda ćeš samo za njega morati dati kompletan izvorni kod (koji uključuje i ove tvoje modifikacije).

 

Problem nastaje kada neki GPL komad softvera "onečisti" tvoj program (linkanjem, ili direktnim copy/pasteom koda), e onda se tvoj program smatra derivatom tog GPL programa i moraš za njega izdati kompletan izvorni kod.

0xBADC0DE
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice