Nedoumica oko Affero GPLv3

Nedoumica oko Affero GPLv3

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Trenutno pravim plan za jedan hardware + software projekat, a on ukljucuje biblioteku koja ima Affero GPLv3 licencu. Koliko sam ja razumeo - ako koristim bilo sta sa tom licencom u projektu, moram da kompletan source code objavim.

Medjutim, ogroman deo koda nema nikakvih dodirnih tacaka za tom bibliotekom. U stvari - kompletan projekat se sastoji od tri relativno odvojena dela: (1) malo HW-a i malo vise SW-a koji prikuplja neke podatke i salje na (2) server koji te podatke obradjuje i vraca rezultat nazad, nakon cega (1) radi nesto u zavisnosti od odgovora. Takodje, (1) deo nakon prijema rezultata obavestava (3) drugi server o rezultatima i preduzetoj akciji.

Biblioteka o kojoj je rec bi se nalazila samo na serveru (2).

Teoretski, deo (1) bi mogao da funkcionise sa bilo kojom aplikacijom spremnom da prihvati podatke u tom formatu, obradi i vrati ocekivan format bez ikakvih problema, nakon cega obavestava (3) aplikaciju o tome sta se desilo. Prakticno, bez dela (2) deo (1) je neupotrebljiv. Server (3) moze da radi i bez (1) i bez (2), i teoretski, i prakticno.

Kompletan kod koji pokrece (2) mora da bude objavljen (i bice), to mi je potpuno jasno. Posto (3) ne zavisi ni od cega njegov kod je zatvoren, i to je jasno.

Ono sto je malcice grey-area je objavljivanje koda za (1) deo. Teoretski, korisnik dela (1) nije "regularan" korisnik (osoba od krvi i mesa), vec je korisnik (2) deo - posto je to neka vrsta API-a, plus je deo (1) savrseno upotrebljiv pod uslovom da neko napise API koji prihvata podatke u istom formatu i daje rezultat u istom formatu kao i deo (2).

Mora li deo (2) da se objavi pod licencom Affero GPL v3 ili ne?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12534
  • Gde živiš: Južni pol

Pazi, prema "Why the GNU Affero GPL", Affero licenca je u suštini GPL licenca sa dodatnim uslovom da se mora objaviti i izmenjeni kod programa/biblioteke koji se koristi za pružanje određenih servisa iako se izmenjeni softver ne distribuira dalje.

Koja je razlika? Standardna GPL licenca ne zahteva objavljivanje izmenjenog koda ako se koristi privatno bez namere za dalju distribuciju. Affero licenca je nastala zbog različitih embedded i consumer rešenja kao što su ruteri, pametni televizori i drugi uređaji gde su proizvođači korisitili rupu u GPL kako ne bi morali da objavljuju izmene u kodu (tkzv. tivoizacija).

Znači prvo trebaš da odrediš da li bi tvoj softver morao da bude GPL da planiraš da deliš izmenjeni kod. Ako bi bio, onda Affero licenca zahteva da softver koji koristi taj kod bude pod istom licencom. S time da stvarno preporučujem prethodni link (GPL FAQ) pošto sadrži i dodatna razjašnjenja o situacijama kad se dinamički koristi GPL modul u nekom ne-GPL projektu (bez linikovanja, ali sa runtime učitavanjem). To je bilo legalno sa GPL2, nisam siguran za GPL3 ili GPL3 Affero, pa nije loše posle baciti ponovo pogled na prvi link u ovom postu.

Ako hoćeš to da zaobiđeš i da više ne razmišljaš nađi alternativnu bibloteku koja koristi BSD, MIT ili sličnu licencu. OSI (Open Source Initiative) ima pregled najvažnijih alternativnih licenci na svojoj internet strani: https://opensource.org/licenses.

No, ni GPL3 ni Affero varijanta se ne odnosi na hardver. Dakle bilo kakav da je zahtev, on se isključivo odnosi na softver.



offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Nasao bih ja bocke biblioteku pod drugom licencom, kad bi samo postojala i radila posao toliko dobro kao ova sa Affero GPL.

Procitao sam taj text (i ne samo taj) ali i dalje nisam siguran. Npr, ovaj deo (cini mi se) kaze da deo (1) ne mora da ide pod Affero GPL:

Citat:If I distribute a proprietary program that links against an LGPLv3-covered library that I've modified, what is the “contributor version” for purposes of determining the scope of the explicit patent license grant I'm making—is it just the library, or is it the whole combination?

The “contributor version” is only your version of the library.


Dodatna stvar je sto pomenuta biblioteka se uopste ne nalazi u delu (1). Biblioteka se nalazi na servisu (2) i samo tamo. Taj deo (2) ide pod Affero GPL - tu nema nedoumice. Deo (1) mi pravi problem jer teoretski moze da radi bez bas tog dela(2), ali mu je prakticno neophodan bilo koji servis koji podatke prima u odredjenom formatu i obradjene vraca u nekom drugom specificnom formatu.

Onda, tu je i ovaj deo:

Citat:The GNU Affero GPL does not address the problem of Service as a Software Substitute (SaaSS).

SaaSS means that users use someone else's web server to do their own computing. This requires them to send their data to the server, which does their computing for them and sends the results back to them. SaaSS is an injustice because the users cannot control their computing when it's done that way.


Sa tim sto je kod mene situacija upravo obrnuta: SaSS deo jeste pod Affero GPL (jer koristi pomenutu biblioteku), dok deo koji skuplja podatke bi trebalo da bude proprietary.

Zamisli sledecu situaciju - imas set senzora koji mere temperaturu i po jedno grejno i rashladno telo u svakoj sobi u kuci i centralnu jedinicu koja kontrolise sve to - meri temperaturu i pali/gasi grejanje odnosno hladjenje. Sve to zajedno je jedan deo - deo (1) u ovoj situaciji.

Negde u oblaku se nalazi API (koji koristi pomenutu Affero GPL licenciranu biblioteku) koji s vremena na vreme prima podatke sa dela (1) - kolika je temperatura u svakoj sobi, konektuje se npr na weather2umbrella da proveri trenutnu spoljnu temperaturu u tom gradu, radi kalkulacije i na osnovu svega toga javlja delu (1) da li da upali grejanje ili hladjenje i koju temperaturu da podesi u svakoj sobi.

Deo (3) vec postoji i radi nesto, nije ni bitno sta. Bila bi mu dodata samo funkcionalnost da deo (1) posalje izmerene vrednosti senzora i podesene parametre grejanja/hladjenja koje bi on prikazao negde odredjenom korisniku (vlasniku kuce u kojoj se nalaze senzori).

Ukoliko se (1) ne poveze na njega (3) - on i dalje radi. Tu nema nedoumice, proprietary je i to je to. Deo (2) koji koristi Affero GPL licenciranu biblioteku ne moze da radi uopste bez nje - on ide pod Affero GPL, tako da ni tu nema nedoumice.

Deo (1) me najvise brine. Da li kod koji povezuje sav taj hardware, ispaljuje zahtev na API (2) i radi nesto u zavisnosti od odgovora mora da bude licenciran pod Affero GPL? Bitan deo njegove funkcionalnosti zavisi od API-ja (2), s tim sto bi radio i sa bilo kojim drugim koji postuje I/O format. Jedino sto korisnik ne bi mogao da "uperi" zahteve ka nekom drugom API-ju jer nema (tj ne bi trebalo da ima) pristup kodu dela (1).

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12534
  • Gde živiš: Južni pol

Citat:Deo (1) me najvise brine. Da li kod koji povezuje sav taj hardware, ispaljuje zahtev na API (2) i radi nesto u zavisnosti od odgovora mora da bude licenciran pod Affero GPL? Bitan deo njegove funkcionalnosti zavisi od API-ja (2), s tim sto bi radio i sa bilo kojim drugim koji postuje I/O format. Jedino sto korisnik ne bi mogao da "uperi" zahteve ka nekom drugom API-ju jer nema (tj ne bi trebalo da ima) pristup kodu dela (1).

Da li linkuje (2) u vidu neke biblioteke ili mu pristupa kroz neki protokol (i koji)?

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Deo (1) ispaljuje zahtev kad delu (2) kroz HTTP, i dobija odgovor kroz isti protokol.

offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12534
  • Gde živiš: Južni pol

Moje tumačenje je da to ne predstavlja kršenje licence. Po meni se licenca odnosi samo na softversku komponentu broj 2. Mislim da arhitektura klijent/server ne spada u oblast delovanja licence. Tj. ako bi izmenio nešto u softverskoj komponeti (2), onda bi morao da objaviš izvorni kod. Ali korišćenje koje ti opisuješ, prema mom tumačenju, ne ulazi u uslove licence.

Pominjem "moje tumačenje" pošto ne smatram da sam neki autoritet na tom polju. Ultimativni autoritet bi bila FSF ili, kod nas, FSF Europe. FSFE ima lokalni kontakt u Srbiji: serbia@fsfeurope.org, možda nije loše da bilo koja dodatna pitanja pošalješ na tu adresu.

Ko je trenutno na forumu
 

Ukupno su 1221 korisnika na forumu :: 24 registrovanih, 3 sakrivenih i 1194 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: alkatraz080, Bobrock1, bojank, brundo65, cikadeda, draggan, dragoljub11987, drimer, HrcAk47, ILGromovnik, mercedesamg, Miki01, milenko crazy north, Niko Bitan, opt1, Oscar, radionica1, royst33, Snorks, vathra, W123, YU-UKI, šumar bk2, 2001