Читать «Металицензиране» онлайн
Григор Гачев
Григор Гачев
Металицензиране
1. Лабиринтът на лицензите
В света на свободния софтуер съществуват много различни лицензи — и това има както предимства, така и недостатъци.
От една страна, програмистите се различават по това каква степен и тип свобода биха дали на продукта си, и съответно се нуждаят от различни лицензи. Съществуват например BSD-тип лицензи, които позволяват напълно свободна употреба на софтуера, без никакви ограничания — и GPL-тип лицензи, които изискват деривативите на софтуера също да бъдат свободни (често те биват наричани copyleft лицензи). Ако програмист не може да намери или създаде лиценз, който отговаря на вижданията им как да се използва продуктът, той може да се откаже да го създаде или обяви за свободен. В това отношение, един широк спектър от лицензи е предимство.
От друга страна, много лицензи не позволяват използване на лицензираните под тях продукти с или в продукти, контролирани от друг лиценз (междулицензово споделяне). Често намеренията зад това са добри — например GNU GPL използва това, за да предотврати обявяването на кода за затворен, което би отнело свободата му. Това обаче е и недостатък за свободния софтуер, тъй като фрагментира богатството на кода му между различните лицензи, и така вреди на една от най-силните му страни — общата база от код.
Често тази бариера бива пренебрегвана — човек може да открие подобно „нелегално“ споделяне на код между различни лицензи в повечето големи пакети свободен софтуер, като средство интегритетът на богатството на кода да бъде запазен. Засега това „пренебрегване на закона“ тревожи твърде малко хора. То обаче е потенциален проблем, и ще е по-добре да го разрешим някак.
Това фрагментиране е неизбежната цена на обективната нужда от различни типове лицензи, и няма как да бъде избягнато напълно. От юридическа гледна точка обаче свободният код вече е прекалено фрагментиран. Повечето от него все още е под един лиценз, GPL, но вече има много подобни на GPL лицензи. Същото е и с BSD-подобните лицензи. Имаме например CDDL, който много прилича на MPL, но е различен, и код под CDDL не може да се използва под GPL. Ако нещата продължават по този начин — а те вървят точно натам — скоро в свободния софтуер може да започнат лицензни войни. А това е последното, от което имаме нужда, и трябва да направим всичко възможно да го избегнем.
Добре де, всеки принос е добре дошъл. Така е при свободния софтуер. И ако (да предположим за момент) Sun иска CDDL да бъде именно несподелящ лиценз, за да предотврати прехвърляне на код от OpenSolaris към Linux, тогава те вероятно няма да пожелаят да променят CDDL. Богатството на свободния софтуерен код обаче трябва да бъде колкото се може по-цялостно. В противен случай губим едно голямо предимство, източник на свобода, ниска цена и качество за всички потребители на свободния софтуер. (Което включва повечето, ако не и всички от нас.)
Един от възможните начини за това може да бъде опит да бъдат убедени авторите на сходни лицензи да създадат общи лицензи, които задоволяват всеки, и да използват един общ лиценз вместо многото. В много случаи обаче това ще бъде невъзможно, а в много други компромисът ще бъде труден и за постигане, и за опазване.