Читать «Металицензиране» онлайн - страница 2
Григор Гачев
Друг възможен начин е да се предложат споразумения между авторите на лицензи за „кръстосано лицензиране“, което позволява споделянето на код между свободните лицензи. В много случаи обаче това ще бъде безуспешно — създателите на сходни, но несподелящи лицензи сигурно имат причини да ги създадат и направят несподелящи…
Един трети подход, който избягва повечето от тези проблеми, е металицензирането.
2. Основи на металицензирането
Създателят на един свободен софтуер е неговият оригинален носител на авторско право, и контролиращ това право орган. Ако Франк иска неговият код да бъде използваем примерно с всеки несподелящ свободен лиценз, той е в правото си да го лицензира изрично с всеки такъв лиценз. Също така, създателите на свободен софтуер имат изгодата техният код да бъде споделян колкото се може повече, докато това не надхвърли степента на свобода, която биха му дали. Така че от гледна точка на опазването на цялостта на богатството на кода, те са тези, които трябва да могат удобно да го лицензират за когото пожелаят.
На практика обаче това не е лесно. Повечето програмисти не са експерти по лицензите. Списъците с лицензи постоянно еволюират. Ако развиването на код продължи паралелно под два несподелящи лиценза, двата клона не може да бъдат обединени обратно… Тези, а и други проблеми, могат да бъдат разрешени чрез специален тип лиценз — металиценз.
В най-простия си вид металицензът е лиценз, който позволява код да бъде използван под който и да е от лицензите, изброени в определен списък. Малко по-сложен вариант би могъл да включва набор допълнителни изисквания или условия, и би могъл да изяснява отношенията си с лицензите в списъка.
Металицензът би могъл юридически да заобиколи изискването за несподеляне на несподелящите свободни лицензи. Ако например код е лицензиран под металиценз, който позволява използването му под CDDL и GPL, той може легално да бъде включван както в лицензиран под CDDL, така и в лицензиран под GPL софтуер. А ако деривативите на този код са лицензирани под същия металиценз, те също ще са съвместими и с двата лиценза. Тъй като несподелящата клауза в повечето copyleft лицензи е въведена специално за да опазва свободата на кода, а не да го „заключва“ към лиценза, металицензирането на код към повече от един такъв лиценз не би трябвало да противоречи на духа им.
Поддръжката на списъка с лицензите може да бъде поверена на доверен орган, който се грижи да го поддържа в съответствие с оригиналната идея. Така дори ако металицензът е несподелящ, той би позволил използване на кода под всички лицензи, допустими спрямо идеята, и би включвал своевременно нови лицензи, ако те съответстват на идеята му, без да трябва програмистът непрекъснато да следи новостите около лицензи и да прелицензира кода си непрекъснато.
Повечето, или дори всички металицензи биха могли да споделят един или същ основен текст, ако той е добре обмислен, и да се различават само по списъка от позволени лицензи. Това може да позволи също така лесно създаване на специализирани металицензи за случаите, когато стандартните не са подходящи.