Компатибилност лиценце

Из Википедије, слободне енциклопедије

Компатибилност лиценце је грешка која се јавља када се лиценца поставља на дело које је заштићено ауторским правом, конкретно, софтверска лиценца, може да садржи контрадикторне захтеве, и њиховим рендеровањем није могуће комбиновати изворни код или садржај неког рада у циљу формирања новог.[1]

Пример[уреди]

Претпоставимо да софтверски пакет поседује лиценцу која каже, модификоване верзије морају спомињати њихове програмере у било ком рекламном материјалу, а друга лиценца пакета каже, модификоване верзије не могу да садрже додатне захтеве. Без директне дозволе од стране власника ауторског права ниједан од ова два пакета не би могао да легално дистрибуира зато што овакви захтеви лиценци  не могу да буду испуњени у исто време. Тако да би ова два пакета била некомпатибилна у смислу лиценце.

Дефиниције[уреди]

Компатибилност лиценце се може дефинисати на различите начине у зависности од концепта колективног/комбинованог/нагомиланог посла и од изведеног рада. Прва дефиниција компатибилности лиценце колективног рада је дозвољавала коришћење и комбиновање различитих лиценцираних радова.

Снажнија дефиниција, такође коришћена од стране фондације за слободни софтвер,[2] укључује могућност промене лиценце. Као најбољи пример, копилефт лиценце захтевају да изведени рад комбинован из кода који је под различитим лиценцама као целина буде прихваћен као копилефт лиценца.

Компатибилност лиценце: компатибилност за изведене радове  властитог кода и спољно развијене лиценце отвореног кода (усвојене од Ека 2005).[3] Изведени радови су мешовити кодови, комбиновани радови имају компоненте које су под различитим лиценцама. С десна на лево комбинован рад треба да има јачу раздвојенст између различито лиценцираних делова како би спречио да они постану изведени радови (раздвајање: комбиновано статичким везивањем или раздвајањем изворног фајла тако да се све компоненте налазе у истом процесу и адресном простору, јака раздвојеност: компоненте које су спојене само преко бинарних простора и које се налазе у одвојеним процесима).[4]

Врсте комбинованих радова[уреди]

Комбиновани рад се састоји од више различито лиценцираних делова (избегавајући ре-лиценцирање). Како би се постигао, комбиновани рад такође треба да укључује копилефт лиценциране компоненте (које имају вирусно власништво које потенцијално води ка изведеном раду ), као и да погодне изолационо/раздвајајуће буду задовољене.

Фајлови са индивидуално лиценцираним изворним кодом вишеструких не-реципрочних лиценци (као допусне лиценце или властити код) могу бити раздвојени, док би комбиновано компајлиран програм могао да буде ре-лиценциран (али није неопходно). Таква раздвојеност изворног кода је преслаба за копилефт/реципрочне лиценце (како што је ГПЛ), јер оне поред ре-лиценцирања комплетног рада захтевају и реципрочну лиценцу.

Мало јачи приступ је раздвојеност на бази везивања са бинарним објектним кодом (статичко везивање) са свим компонентама које се налазе у програму у истом процесу и адресном простору. Ово задовољава слаб копилефт/стандардни реципрични комбиновани рад (као они који су ЛГПЛ лиценцирани), али не и јак копилефт/стандардно реципрочни комбиновани рад. Док такво, претежно прихваћено везивање (статичко па чак и динамичко) представља извод јаког копилефтованог рада,[5][6][7][8][9] постоје посебне алтернативне интерпретације.[10][11]

За комбиноване радове са јаким копилефт модулима је потребна изолација, на пример, за раздвајање програма на његове процесе и то преко бинарног АБИ-а или другим индиректним начинима.[6] Примери су раздвајање Андроидовог простора језгра и корисничког простора преко Бионика, или дистрибуција Линукса које имају власничке бинарне блобове и поред тога што имају јака копилефт језгра.[4][3]

Компатибилност ФОСС лиценци[уреди]

Компатибилност лиценце између обичних лиценци ФОСС софтвера према Дејвиду А. Вилеру (2007): стрелице показују компатибилност , и види се да је већа компатибилност са леве него са десне стране.[12]

Чак и ако су прихваћене, обичне лиценце отвореног кода нису неопходно компатибилне међусобно.[13]Тако да је немогуће да се мешају легално (или преко везе) чак и лиценце отвореног кода ако су компоненте доступне под различитим лиценцама. На пример, софтвер који је комбиновао код објављен под верзијом 1.1 Мозилине јавне лиценце (МПЛ) са кодом који је под ГНУ-овом општом јавном лиценцом (ГПЛ) није могао да буде дистрибуиран без нарушавања услове једне од лиценци.[14] То је тако јер су обе лиценце одобрене под Иницијативом отвореног кода[15] и фондацијом за слободни софтвер.[16] Компатибилност лиценце између копилефт лиценце и неке друге лиценце је често компатибилност у једном правцу.[17] Ова карактеристика чини да копилефт ГПЛ (и већина других копилефт лиценца) буде некомпатибилан са власничким комерцијалним лиценцама као и са не-власничким лиценцама.[18][19] Ова једносмерна компатибилност је критикована од стране фондације Апач, која је омогућила попустљиву Апач лиценцу која не поседује ову карактеристику.[20] Не-копилефт лиценце као што је ФОСС попустљива лиценца имају мање компликовану интеракцију са другим лицецнама а имају најчешће највећу компатибилност са истим.[21][22]

ГПЛ компатибилност[уреди]

Како би се смањила пролиферација лиценце и њена некомпатибилност у ФОСС-овом екосистему, неке организације (на пример ФФС) и неки појединци (као што је Дејвид А. Вилер), су се расправљали око тога да је компатибилност широко расрпострањене ГПЛ лиценце заправо карактеристика софтверских лиценци.[23]Већина најобичнијих слободних софтверских лиценци, посебно попустљиве лиценце, као што је првобитна МИТ/Х лиценца, BSD лицецне (у трочланим или двочланим формама, али не у оригиналним четворочланим формама), МПЛ 2.0, и ЛГПЛ, су ГПЛ-компатибилне. Тако да, њихов код може бити комбинован са програмом који је под ГПЛ-ом без икаквог конфликта и новонастала комбинација би имала потпуно примењен ГПЛ (не за друге лиценце).

Када је реч о копилефт софтверским лиценцама, оне нису подразумевано ГПЛ-компатибилне, чак ни ГПЛ верзија 2, сама по себи, није компатибилна са ГПЛ верзијом 3.[24][25][18]Као резултат, лиценце нису компатибилне: ако се меша код који се налази под обе ове лиценце, то би нарушило одељак 6 ГПЛ лиценце верзије 2. Ипак, код који је објављен под ГПЛ лиценоцм верзије 2 или више, је компатибилан са верзијом 3 јер га ГПЛ в3 сама по себи подразумева.[26]Међутим, већина софтвера која се налази под ГПЛ лиценцом верзије 2 омогућава коришћење карактеристика новијих верзија ГПЛ-а, али неке од њих имају назнаку да могу да се комбинују са софтвером који се налази под неком другом лиценцом.[27]

Развојни програмер Флеск-а, Армин Ронакер је представио у јулу 2013. године негативан резиме о компатибилности ГПЛ-а у ФОСС-овом екосистему где је закључио: Када је ГПЛ умешан, комплексност лиценцирања постаје загонетка.[28]

Такође, ФСФ је препоручио да звог тога што ГНУ-ова лиценца за слободну документацију[29] није компатибилна са ГПЛ-ом, текст лиценциран под ГФДЛ-ом не би требало да буде припојен ГПЛ софтверу. Такође, Дебијан пројекат је одлучио да 2006. године изда резолуцију о коришћењу ГПЛ-ове документације.[30] ФЛОСС фондација је урадила исто што и Дебијан, 2007. године.[31] 2009. године фондација Викимедије се пребацила са ГФДЛ-а на CC-BY-SA лиценцу као главну лиценцу за њихове пројекте.[32][33]

Још један важан пример некомпатибилности ГПЛ-а је ЗФС фајл систем који је лиценциран под CDDL са ГПЛ верзијом 2 Линукс језгра.[34] Упркос томе што су и једна и друга верзија слободни софтвери под копилефт лиценцом, ЗФС није дистрибуисан са већим бројем дистрибуција Линукса (осим са FreeBSD-ом и Мек ОС-ом), ФСФ је сматрао да CDDL није компатибилна са Линукс језгорм под ГПЛ-ом.[35][36] Легална интерпретација овог комбинованог рада која конституише изведене радове ГПЛ-ових језгра није недвосмислена и окарактерисана је као контроверзна; постоје алтернативне интерпретације везане за покрет ФСФ.[37]

Ре-лиценцирање за компатибилност[уреди]

Понекад се деси да пројекти буду заглављени звог некомпатибилности лиценце и једини прихватљив начин да се то реши је било ре-лицецирање некомпатибилних делова. Релиценцирање је постигнуто уз одобрење свих укључених развојних програмера и група. Док је у домену слободних и софтвера отворених кодова постизање 100% учинка често немогуће, због великог броја сарадника, Мозилин пројекат за релицецирање је претпоставио да је 95% довољно за релиценцирање комплетне кодне основе.[38]Други у ФОСС домену, као што је Ерик С. Рејмонд, су дошли до супротног закључка у вези са захтевима за лиценцирање целе кодне основе.[39]

Примери релиценцирања[уреди]

Рани пример пројекта који успео да изврши релиценцирање због компатибилности лиценце је Мозила пројекат и њихов Фајерфокс претраживач. Изворни код Нетскејповог комуникатора 4.0 (веб претраживача) је првобитно објављен 1998. године под Нетскејп јавном лиценцом/Мозила јавном лиценцом[40] али је критикован од стране фондације за слободни софтвер и ОСИ-а да је некомпатибилна.[41][42] Око 2001 Тајм Варнер, испробавајући своја права под Нетскејп јавном лиценцом, и на захтев Мозила фондације, је релиценцирао[43] цео код који коришћен на Мозили који је био под Нетскејп јавном лиценцом (укључујући код других сарадника) на МПЛ 1.1/ГПЛ 2.0ЛГПЛ 2.1 три лиценце, и тако постао ГПЛ компатибилан.

ВЛЦ пројекат је такође закомпликовао историју лиценце у смислу компатибилности: 2007. године је одлучио због компатибилности не ажурира тек избачену верзију 3 ГПЛ лиценце.[44]Пошто је ВЛЦ обрисан са Епл-ове продавнице апликација почетком 2011. године, у октобру 2011. ВЛЦ пројекат је релиценцирао део ВЛЦ библиотеке са ГПЛ вс на ЛГПЛ в2 како би постигао бољу компатибилност.[45][46] У јулу 2013. године ВЛЦ апликација је поново враћена на Епл-ову продавницу релиценцирана под Мозила јавном лиценцом.[47]

Још један пример ГНУ ТЛС пројекта, који је 2011. године прихватио лиценцу ЛГПЛ верзије 3 али је релиценцирао 2013. године на ЛГПЛ верзију 2.1 због великог броја проблема са компатибилношћу лиценце.[48][49][50]

ГНУ-ова лиценца за слободну документацију верзије 1.2 није компатибилна са већином Кријејтив комонс лиценци, што је био велики проблем за неке делове Википедије.[51] Такође, на захтев Викимедија фондације, фондација за слободни софтвер је додала са верзијом 1.3 ГФДЛ-а, ограничени одељак који је дозвољавао специфичним веб сајтовима да користе ГФДЛ под CC BY-SA лиценцом.[52] У јуну 2009. године, фондација Викимедије је преместила своје пројекте (Википедију, итд.) са дуалног лиценцирања на Кријејрив комонс лиценце, дадатак на претходно коришћену ГФДЛ.[32]Побољшана компатибилност лиценце са већим слободним садржајем екосистема је дао разлог за променом лиценце.[33][53]

Још један интересантан случај је било релиценцирање главних фајлова Линукс језгра који су били под ГПЛ-ом верзије 2 на BSD лиценцу од стране Гугла за његову Бионик библиотеку за Андроид. Како би се решио ГПЛ-а, Гугл је тврдио да су сви главни фајлови очишћени од било каквог рада који има везе са ауторским правима, остављајући их на чињенице које нису везане за ауторска права.[54][55] Ова интерпретација је изазвана од стране Рејмонда Нимера, професора права на Универзитету Хјустону.[56]

2014. године FreeCAD пројекат је променио лиценцу са ГПЛ-а на ЛГПЛ верзију 2 јер је ГПЛ в3/ГПЛ в2 верзија била некомпатибилна.[57][58]

Такође, Делфин пројекат је променио лиценцу са ГПЛ верзије 2 на ГПЛ верзију 2 и више због боље компатибилности, у мају 2015. године.[59]

У јулу 2015. године Seafile се пребацио звог унапређене компатибилности лиценце, посебно због Гит-а, са ГПЛ верзије 3 на ГПЛ верзију 2.[60][61]

Види још[уреди]

Референце[уреди]

  1. O'Riordan, Ciaran (2006-11-10).
  2. "Stallman explains license compatibility while discussing GPLv3". fsfe.org.
  3. 3,0 3,1 Välimäki, Mikko (2005).
  4. 4,0 4,1 Larry Troan (2005).
  5. Lewis Galoob Toys, Inc. v.
  6. 6,0 6,1 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 by David A. Wheeler on September 27, 2007
  13. Thomas F. Gordon Open Source license compatibility 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. 18,0 18,1 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".
  23. GPL compatibility 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 6 June 2007.
  32. 32,0 32,1 Wikimedia license update approval
  33. 33,0 33,1 Wikipedia + CC BY-SA = Free Culture Win! 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 "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 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
  61. license.txt on github.com

Спољашње везе[уреди]