Pređi na sadržaj

Kompatibilnost licence

S Vikipedije, slobodne enciklopedije

Kompatibilnost licence je greška koja se javlja kada se licenca postavlja na delo koje je zaštićeno autorskim pravom, konkretno, softverska licenca, može da sadrži kontradiktorne zahteve, i njihovim renderovanjem nije moguće kombinovati izvorni kod ili sadržaj nekog rada u cilju formiranja novog.[1]

Primer[uredi | uredi izvor]

Pretpostavimo da softverski paket poseduje licencu koja kaže, modifikovane verzije moraju spominjati njihove programere u bilo kom reklamnom materijalu, a druga licenca paketa kaže, modifikovane verzije ne mogu da sadrže dodatne zahteve. Bez direktne dozvole od strane vlasnika autorskog prava nijedan od ova dva paketa ne bi mogao da legalno distribuira zato što ovakvi zahtevi licenci  ne mogu da budu ispunjeni u isto vreme. Tako da bi ova dva paketa bila nekompatibilna u smislu licence.

Definicije[uredi | uredi izvor]

Kompatibilnost licence se može definisati na različite načine u zavisnosti od koncepta kolektivnog/kombinovanog/nagomilanog posla i od izvedenog rada. Prva definicija kompatibilnosti licence kolektivnog rada je dozvoljavala korišćenje i kombinovanje različitih licenciranih radova.

Snažnija definicija, takođe korišćena od strane fondacije za slobodni softver,[2] uključuje mogućnost promene licence. Kao najbolji primer, kopileft licence zahtevaju da izvedeni rad kombinovan iz koda koji je pod različitim licencama kao celina bude prihvaćen kao kopileft licenca.

Kompatibilnost licence: kompatibilnost za izvedene radove  vlastitog koda i spoljno razvijene licence otvorenog koda (usvojene od Eka 2005).[3] Izvedeni radovi su mešoviti kodovi, kombinovani radovi imaju komponente koje su pod različitim licencama. Zdesna nalevo kombinovan rad treba da ima jaču razdvojenst između različito licenciranih delova kako bi sprečio da oni postanu izvedeni radovi (razdvajanje: kombinovano statičkim vezivanjem ili razdvajanjem izvornog fajla tako da se sve komponente nalaze u istom procesu i adresnom prostoru, jaka razdvojenost: komponente koje su spojene samo preko binarnih prostora i koje se nalaze u odvojenim procesima).[4]

Vrste kombinovanih radova[uredi | uredi izvor]

Kombinovani rad se sastoji od više različito licenciranih delova (izbegavajući re-licenciranje). Kako bi se postigao, kombinovani rad takođe treba da uključuje kopileft licencirane komponente (koje imaju virusno vlasništvo koje potencijalno vodi ka izvedenom radu ), kao i da pogodne izolaciono/razdvajajuće budu zadovoljene.

Fajlovi sa individualno licenciranim izvornim kodom višestrukih ne-recipročnih licenci (kao dopusne licence ili vlastiti kod) mogu biti razdvojeni, dok bi kombinovano kompajliran program mogao da bude re-licenciran (ali nije neophodno). Takva razdvojenost izvornog koda je preslaba za kopileft/recipročne licence (kako što je GPL), jer one pored re-licenciranja kompletnog rada zahtevaju i recipročnu licencu.

Malo jači pristup je razdvojenost na bazi vezivanja sa binarnim objektnim kodom (statičko vezivanje) sa svim komponentama koje se nalaze u programu u istom procesu i adresnom prostoru. Ovo zadovoljava slab kopileft/standardni reciprični kombinovani rad (kao oni koji su LGPL licencirani), ali ne i jak kopileft/standardno recipročni kombinovani rad. Dok takvo, pretežno prihvaćeno vezivanje (statičko pa čak i dinamičko) predstavlja izvod jakog kopileftovanog rada,[5][6][7][8][9] postoje posebne alternativne interpretacije.[10][11]

Za kombinovane radove sa jakim kopileft modulima je potrebna izolacija, na primer, za razdvajanje programa na njegove procese i to preko binarnog ABI-a ili drugim indirektnim načinima.[6] Primeri su razdvajanje Androidovog prostora jezgra i korisničkog prostora preko Bionika, ili distribucija Linuksa koje imaju vlasničke binarne blobove i pored toga što imaju jaka kopileft jezgra.[4][3]

Kompatibilnost FOSS licenci[uredi | uredi izvor]

Kompatibilnost licence između običnih licenci FOSS softvera prema Dejvidu A. Vileru (2007): strelice pokazuju kompatibilnost, i vidi se da je veća kompatibilnost sa leve nego sa desne strane.[12]

Čak i ako su prihvaćene, obične licence otvorenog koda nisu neophodno kompatibilne međusobno.[13]Tako da je nemoguće da se mešaju legalno (ili preko veze) čak i licence otvorenog koda ako su komponente dostupne pod različitim licencama. Na primer, softver koji je kombinovao kod objavljen pod verzijom 1.1 Moziline javne licence (MPL) sa kodom koji je pod GNU-ovom opštom javnom licencom (GPL) nije mogao da bude distribuiran bez narušavanja uslove jedne od licenci.[14] To je tako jer su obe licence odobrene pod Inicijativom otvorenog koda[15] i fondacijom za slobodni softver.[16] Kompatibilnost licence između kopileft licence i neke druge licence je često kompatibilnost u jednom pravcu.[17] Ova karakteristika čini da kopileft GPL (i većina drugih kopileft licenca) bude nekompatibilan sa vlasničkim komercijalnim licencama kao i sa ne-vlasničkim licencama.[18][19] Ova jednosmerna kompatibilnost je kritikovana od strane fondacije Apač, koja je omogućila popustljivu Apač licencu koja ne poseduje ovu karakteristiku.[20] Ne-kopileft licence kao što je FOSS popustljiva licenca imaju manje komplikovanu interakciju sa drugim licecnama a imaju najčešće najveću kompatibilnost sa istim.[21][22]

GPL kompatibilnost[uredi | uredi izvor]

Kako bi se smanjila proliferacija licence i njena nekompatibilnost u FOSS-ovom ekosistemu, neke organizacije (na primer FFS) i neki pojedinci (kao što je Dejvid A. Viler), su se raspravljali oko toga da je kompatibilnost široko rasrpostranjene GPL licence zapravo karakteristika softverskih licenci.[23]Većina najobičnijih slobodnih softverskih licenci, posebno popustljive licence, kao što je prvobitna MIT/H licenca, BSD licecne (u tročlanim ili dvočlanim formama, ali ne u originalnim četvoročlanim formama), MPL 2.0, i LGPL, su GPL-kompatibilne. Tako da, njihov kod može biti kombinovan sa programom koji je pod GPL-om bez ikakvog konflikta i novonastala kombinacija bi imala potpuno primenjen GPL (ne za druge licence).

Kada je reč o kopileft softverskim licencama, one nisu podrazumevano GPL-kompatibilne, čak ni GPL verzija 2, sama po sebi, nije kompatibilna sa GPL verzijom 3.[24][25][18]Kao rezultat, licence nisu kompatibilne: ako se meša kod koji se nalazi pod obe ove licence, to bi narušilo odeljak 6 GPL licence verzije 2. Ipak, kod koji je objavljen pod GPL licenocm verzije 2 ili više, je kompatibilan sa verzijom 3 jer ga GPL v3 sama po sebi podrazumeva.[26]Međutim, većina softvera koja se nalazi pod GPL licencom verzije 2 omogućava korišćenje karakteristika novijih verzija GPL-a, ali neke od njih imaju naznaku da mogu da se kombinuju sa softverom koji se nalazi pod nekom drugom licencom.[27]

Razvojni programer Flesk-a, Armin Ronaker je predstavio u julu 2013. godine negativan rezime o kompatibilnosti GPL-a u FOSS-ovom ekosistemu gde je zaključio: Kada je GPL umešan, kompleksnost licenciranja postaje zagonetka.[28]

Takođe, FSF je preporučio da zvog toga što GNU-ova licenca za slobodnu dokumentaciju[29] nije kompatibilna sa GPL-om, tekst licenciran pod GFDL-om ne bi trebalo da bude pripojen GPL softveru. Takođe, Debijan projekat je odlučio da 2006. godine izda rezoluciju o korišćenju GPL-ove dokumentacije.[30] FLOSS fondacija je uradila isto što i Debijan, 2007. godine.[31] 2009. godine fondacija Vikimedije se prebacila sa GFDL-a na CC-BY-SA licencu kao glavnu licencu za njihove projekte.[32][33]

Još jedan važan primer nekompatibilnosti GPL-a je ZFS fajl sistem koji je licenciran pod CDDL sa GPL verzijom 2 Linuks jezgra.[34] Uprkos tome što su i jedna i druga verzija slobodni softveri pod kopileft licencom, ZFS nije distribuisan sa većim brojem distribucija Linuksa (osim sa FreeBSD-om i Mac OS-om), FSF je smatrao da CDDL nije kompatibilna sa Linuks jezgorm pod GPL-om.[35][36] Legalna interpretacija ovog kombinovanog rada koja konstituiše izvedene radove GPL-ovih jezgra nije nedvosmislena i okarakterisana je kao kontroverzna; postoje alternativne interpretacije vezane za pokret FSF.[37]

Re-licenciranje za kompatibilnost[uredi | uredi izvor]

Ponekad se desi da projekti budu zaglavljeni zvog nekompatibilnosti licence i jedini prihvatljiv način da se to reši je bilo re-liceciranje nekompatibilnih delova. Relicenciranje je postignuto uz odobrenje svih uključenih razvojnih programera i grupa. Dok je u domenu slobodnih i softvera otvorenih kodova postizanje 100% učinka često nemoguće, zbog velikog broja saradnika, Mozilin projekat za reliceciranje je pretpostavio da je 95% dovoljno za relicenciranje kompletne kodne osnove.[38]Drugi u FOSS domenu, kao što je Erik S. Rejmond, su došli do suprotnog zaključka u vezi sa zahtevima za licenciranje cele kodne osnove.[39]

Primeri relicenciranja[uredi | uredi izvor]

Rani primer projekta koji uspeo da izvrši relicenciranje zbog kompatibilnosti licence je Mozila projekat i njihov Fajerfoks pretraživač. Izvorni kod Netskejpovog komunikatora 4.0 (veb pretraživača) je prvobitno objavljen 1998. godine pod Netskejp javnom licencom/Mozila javnom licencom[40] ali je kritikovan od strane fondacije za slobodni softver i OSI-a da je nekompatibilna.[41][42] Oko 2001 Tajm Varner, isprobavajući svoja prava pod Netskejp javnom licencom, i na zahtev Mozila fondacije, je relicencirao[43] ceo kod koji korišćen na Mozili koji je bio pod Netskejp javnom licencom (uključujući kod drugih saradnika) na MPL 1.1/GPL 2.0LGPL 2.1 tri licence, i tako postao GPL kompatibilan.

VLC projekat je takođe zakomplikovao istoriju licence u smislu kompatibilnosti: 2007. godine je odlučio zbog kompatibilnosti ne ažurira tek izbačenu verziju 3 GPL licence.[44]Pošto je VLC obrisan sa Epl-ove prodavnice aplikacija početkom 2011. godine, u oktobru 2011. VLC projekat je relicencirao deo VLC biblioteke sa GPL vs na LGPL v2 kako bi postigao bolju kompatibilnost.[45][46] U julu 2013. godine VLC aplikacija je ponovo vraćena na Epl-ovu prodavnicu relicencirana pod Mozila javnom licencom.[47]

Još jedan primer GNU TLS projekta, koji je 2011. godine prihvatio licencu LGPL verzije 3 ali je relicencirao 2013. godine na LGPL verziju 2.1 zbog velikog broja problema sa kompatibilnošću licence.[48][49][50]

GNU-ova licenca za slobodnu dokumentaciju verzije 1.2 nije kompatibilna sa većinom Krijejtiv komons licenci, što je bio veliki problem za neke delove Vikipedije.[51] Takođe, na zahtev Vikimedija fondacije, fondacija za slobodni softver je dodala sa verzijom 1.3 GFDL-a, ograničeni odeljak koji je dozvoljavao specifičnim veb sajtovima da koriste GFDL pod CC BY-SA licencom.[52] U junu 2009. godine, fondacija Vikimedije je premestila svoje projekte (Vikipediju, itd.) sa dualnog licenciranja na Krijejriv komons licence, dadatak na prethodno korišćenu GFDL.[32]Poboljšana kompatibilnost licence sa većim slobodnim sadržajem ekosistema je dao razlog za promenom licence.[33][53]

Još jedan interesantan slučaj je bilo relicenciranje glavnih fajlova Linuks jezgra koji su bili pod GPL-om verzije 2 na BSD licencu od strane Gugla za njegovu Bionik biblioteku za Android. Kako bi se rešio GPL-a, Gugl je tvrdio da su svi glavni fajlovi očišćeni od bilo kakvog rada koji ima veze sa autorskim pravima, ostavljajući ih na činjenice koje nisu vezane za autorska prava.[54][55] Ova interpretacija je izazvana od strane Rejmonda Nimera, profesora prava na Univerzitetu Hjustonu.[56]

Godine 2014. FreeCAD projekat je promenio licencu sa GPL-a na LGPL verziju 2 jer je GPL v3/GPL v2 verzija bila nekompatibilna.[57][58]

Takođe, Delfin projekat je promenio licencu sa GPL verzije 2 na GPL verziju 2 i više zbog bolje kompatibilnosti, u maju 2015. godine.[59]

U julu 2015. godine Seafile se prebacio zvog unapređene kompatibilnosti licence, posebno zbog Git-a, sa GPL verzije 3 na GPL verziju 2.[60][61]

Vidi još[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ O'Riordan, Ciaran (2006-11-10).
  2. ^ "Stallman explains license compatibility while discussing GPLv3". fsfe.org.
  3. ^ a b Välimäki, Mikko (2005).
  4. ^ a b Larry Troan (2005).
  5. ^ Lewis Galoob Toys, Inc. v.
  6. ^ a b MereAggregation "What constitutes combining two parts into one program?
  7. ^ License Compatibility Matrix "Use a library[...] linking" on gnu.org (same compatibility of source code use and library use)
  8. ^ LGPL on GNU.org
  9. ^ origins-lgpl "Remember that the GPL requires anything that statically links to any code under the GPL also be placed under the GPL." on freebsd.org
  10. ^ Linus Torvalds, GPL only modules, linux-kernel mailing list (17 December 2006).
  11. ^ Lawrence Rosen, Derivative Works, Linux Journal (1 January 2003).
  12. ^ The Free-Libre / Open Source Software (FLOSS) License Slide Arhivirano na sajtu Wayback Machine (9. mart 2011) by David A. Wheeler on September 27, 2007
  13. ^ Thomas F. Gordon Open Source license compatibility Arhivirano na sajtu Wayback Machine (14. januar 2016) Fraunhofer FOKUS Berlin in December 2009.
  14. ^ "MPL 1.1 FAQ - Historical Use Only".
  15. ^ "Mozilla Public License 1.1: Licensing".
  16. ^ "GPL-Incompatible Free Software Licenses".
  17. ^ Laurent, Philippe (2008-09-24).
  18. ^ a b Nikolai Bezroukov (2000).
  19. ^ Fogel, Karl (2005-10-01).
  20. ^ Apache foundation (2015-05-30).
  21. ^ Hanwell, Marcus D. (28 Jan 2014).
  22. ^ "Licence Compatibility and Interoperability" Arhivirano na sajtu Wayback Machine (17. jun 2015).
  23. ^ GPL compatibility Arhivirano na sajtu Wayback Machine (23. april 2002) on dwheeler.com
  24. ^ "Frequently Asked Questions about the GNU Licenses – Is GPLv3 compatible with GPLv2?". gnu.org.
  25. ^ Asay, Clark D. "Michigan Telecommunications and Technology Law Review Volume 14 - Issue 22008 The General Public License Version 3.0: Making or Breaking the Foss Movement". law.umich.edu.
  26. ^ Landley, Rob.
  27. ^ "GPL-Compatible Free Software Licenses". 2014-11-20.
  28. ^ Ronacher, Armin (2013-07-23).
  29. ^ GNU project: Frequently Asked Questions about the GNU Licenses: Why don't you use the GPL for manuals?
  30. ^ Debian Project: Resolution: Why the GNU Free Documentation License is not suitable for Debian.
  31. ^ FLOSS Manuals foundation: License Change Arhivirano 2008-02-28 na sajtu Archive.today 6 June 2007.
  32. ^ a b Wikimedia license update approval
  33. ^ a b Wikipedia + CC BY-SA = Free Culture Win! Arhivirano na sajtu Wayback Machine (25. jun 2009) on creativecommons.org by Mike Linksvayer, June 22nd, 2009
  34. ^ 2.2 What is the licensing concern? on zfsonlinux.com
  35. ^ Yao: The State of ZFS on Linux September 11, 2014 by jake on lwn.net
  36. ^ CDDL on gnu.org
  37. ^ Jaeger, Till (2005-03-01).
  38. ^ O’Riordan, Ciaran (2006-10-06).
  39. ^ Licensing HOWTO by Eric Steven Raymond&Catherine Olanich Raymond "Changing an existing license [.
  40. ^ Netscape Public License FAQ on mozilla.org
  41. ^ "Licenses by Name | Open Source Initiative".
  42. ^ On the Netscape Public License by Richard Stallman on GNU.org
  43. ^ "Mozilla Relicensing FAQ Version 1.1". mozilla.org.
  44. ^ Denis-Courmont, Rémi.
  45. ^ "Changing the VLC engine license to LGPL".
  46. ^ Vaughan-Nichols, Steven.
  47. ^ VLC under Mozilla public relaunched. on Ars Technica (Accessed 10/10/2013)
  48. ^ Mavrogiannopoulos, Nikos (2013-03-26).
  49. ^ Version 2.99.4 (released 2011-07-23)[...] ** libgnutls: license upgraded to LGPLv3
  50. ^ 2013-03-14 Nikos Mavrogiannopoulos (nmav@gnutls.org) * COPYING.
  51. ^ why-the-wikimedia-projects-should-not-use-gfdl-as-a-stand-alone-license-for-images
  52. ^ "FDL 1.3 FAQ".
  53. ^ Licensing update rolled out in all Wikimedia wikis on wikimedia.org by Erik Moeller on June 30th, 2009 "Perhaps the most significant reason to choose CC-BY-SA as our primary content license was to be compatible with many of the other admirable endeavors out there to share and develop free knowledge"
  54. ^ Google android and the linux headers on theregister.com (2011)
  55. ^ Android: Sued by Microsoft, not by Linux Arhivirano na sajtu Wayback Machine (13. januar 2016) "Microsoft launches new Android suit, Linus Torvalds' take on Linux kernel headers and Android" on ITworld (March 21, 2011)
  56. ^ Infringement and disclosure risk in development on copyleft platforms Arhivirano na sajtu Wayback Machine (7. januar 2016) on ipinfoblog.com by Raymond Nimmer (2011)
  57. ^ Prokoudine, Alexandre (2012-12-27).
  58. ^ "license". freecadweb.org. 2014.
  59. ^ Relicensing Dolphin: The long road to GPLv2+ Written by JMC47, MaJoR on May 25, 2015
  60. ^ switchin-from-gplv3-to-gplv2[mrtva veza]
  61. ^ license.txt on github.com

Spoljašnje veze[uredi | uredi izvor]