Платные исключения из GNU GPL
Ричард СтолменПлатные исключения означают, что правообладатель программы выпускает ее для широкой общественности под действительной свободной лицензией и затем отдельно предлагает пользователям возможность платить за разрешение применять ту же самую программу на других условиях, например на условиях, допускающих включение ее в несвободные приложения.
Мы должны отличать платные исключения от принципиально иной практики: от полностью несвободных расширений или версий свободной программы. Эти два рода деятельности, даже если они практикуются одновременно одной и той же компанией, должны рассматриваться раздельно. При платных исключениях тот же самый исходный текст, к которому применяется исключение, доступен для общества как свободная программа. Расширение или другая версия, доступная только по несвободной лицензии,— это несвободная программа в чистом и явном виде; она так же плоха, как любая другая несвободная программа. В этой статье обсуждаются случаи, когда применяются платные исключения и только они.
Мы должны отличать также продажу исключений от двойного лицензирования, которое означает выпуск программы под несколькими лицензиями по выбору. При двойном лицензировании каждый пользователь может решить пользоваться программой по любой из лицензий или по обеим параллельно для деятельности, которая подходит под обе лицензии (таким образом, перераспространители обычно передают дальше обе лицензии). Например, Perl много лет распространялся по двойной лицензии, альтернативами в которой были GNU GPL и Художественная лицензия. Больше это не требуется, поскольку версия 2 Художественной лицензии совместима с GNU GPL.
При продаже исключений условия исключения не являются второй лицензией, под которой выпускается программа: они доступны только для тех пользователей, которые купят исключение. Единственная лицензия, которую содержит выпуск — GNU GPL, так что это не двойное лицензирование.
Мы должны отличать продажу лицензий от “исключений из GPL” обычного рода, которые дают всем пользователям разрешение выходить за рамки условий GPL каким-то особым образом. Эти исключения оговариваются в разделе 7 GNU GPL. Продажа исключений юридически независима от GNU GPL. Во избежание путаницы рекомендуется не указывать на исключения, которые продаются, как на “исключения из GPL”.
Я считал платные исключения допустимыми с девяностых годов XX века, и время от времени я рекомендовал это компаниям. Иногда этот подход давал возможность важным программам стать свободными.
Графическая среда KDE была разработана в девяностых годах на базе библиотеки программ Qt. Это была несвободная библиотека, и компания TrollTech брала плату за разрешение использовать ее в несвободных приложениях. TrollTech разрешала бесплатно пользоваться библиотекой в свободных приложениях, но это не делало библиотеку свободной в нашем смысле. Таким образом, полностью свободные операционные системы не могли включать Qt, так что они не могли пользоваться и средой KDE.
В 1998 году руководство компании TrollTech признало, что они могут сделать библиотеку Qt свободной и продолжать взимать плату за разрешение встраивать ее в несвободные программы. Я не помню, исходило ли это предложение от меня, но я определенно был рад этой перемене, открывшей Qt и тем самым KDE для мира свободных программ.
Первоначально они пользовались своей собственной лицензией, которая называлась Общественной лицензией Q (QPL). Она была очень жесткой для лицензии свободных программ и несовместимой с GNU GPL. Позднее они перешли на GNU GPL; по-моему, я объяснил им, что она подходит для их целей.
Для платных исключений принципиально необходимо применение авторского лева, например в виде лицензии GNU GPL, при выпуске свободной программы. Такая лицензия допускает включение в другую программу, только если вся производная программа выпускается под той же лицензией; именно так она гарантирует, что дополненные версии тоже будут свободны. Таким образом, пользователям, которые хотят сделать производную программу несвободной, необходимо специальное разрешение. Его может дать только правообладатель, и платное исключение — одна из форм такого разрешения. Никто из тех, кто получил исходный текст на условиях GNU GPL или другой лицензии авторского лева, не может делать таких исключений.
Когда я впервые услышал о практике платных исключений, я спросил себя, этично ли это. Если кто-то покупает исключение, чтобы встроить программу в более крупную несвободную программу, он делает нечто дурное (а именно, несвободную программу). Следует ли из этого, что разработчик, продающий исключения, тоже поступает дурно?
Если бы это было так, то суждение было бы применимо и к выпуску той же программы под свободной лицензией без авторского лева, такой как лицензия X11. Она тоже допускает несвободные расширения программы. Итак, мы вынуждены либо признать, что выпускать что-либо под лицензией X11 плохо — что я считаю недопустимой крайностью,— либо отказаться от этого суждения. Лицензия без авторского лева — нерациональный и обычно невыгодный выбор, но это не аморально.
Другими словами, платные исключения разрешают некоторым встраивать продукт в несвободные программы, но лицензия X11 идет еще дальше, она допускает неограниченное применение исходных текстов (и их модифицированных версий) в несвободных программах. Если это не делает лицензию X11 недопустимой, то это не делает недопустимыми и платные исключения.
Фонд свободного программного обеспечения не практикует платных исключений по трем причинам. Во-первых, это не ведет нас к цели фонда: гарантировать свободу каждому пользователю наших программ. Именно для этого мы написали GNU GPL, и наиболее полно это может быть достигнуто, если выпускать программы под GPL версии “3 или более поздней” и не разрешать встраивать их в несвободные программы. Платными исключениями этого добиться невозможно, точно так же, как выпуском под лицензией X11. Так что обычно мы не делаем ни того, ни другого; мы выпускаем только под GPL.
Другая причина, по которой мы выпускаем только под GPL,— чтобы не допустить несвободных расширений, у которых были бы практические преимущества перед нашими свободными программами. Пользователи, которые не ценят свободу, могли бы выбрать эти несвободные версии, а не свободные программы, на которых они основаны — и утратить свою свободу. Мы не хотим поощрять этого.
Иногда бывают случаи, когда по особым стратегическим соображениям мы решаем, что применение более либеральной лицензии для определенной программы лучше для дела свободы. В этих случаях мы выпускаем программу под этой либеральной лицензией для всех.
Мы это делаем из-за другого этического принципа, которому следует фонд: относиться ко всем пользователям одинаково. В кампании за идеалы свободы нет места дискриминации, поэтому фонд твердо намерен давать одну и ту же лицензию всем пользователям. Фонд никогда не продает исключений; под какой бы лицензией или набором лицензий мы ни выпускали программу, это доступно каждому.
Но нам не нужно настаивать, чтобы предприятия следовали этому принципу. Я считаю, что платные исключения допустимы для предприятий, и я собираюсь предлагать это в подходящих случаях как метод освобождения программ.