Библиотека сайта rus-linux.net
Фреймворк GStreamer. Руководство разработчика приложений. Советы относительно лицензирования приложений
Оригинал: GStreamer Application Development ManualАвторы: Wim Taymans, Steve Baker, Andy Wingo, Ronald S. Bultje, Stefan Kost
Дата публикации: 21 мая 2014 г.
Перевод: А.Панин
Дата перевода: 25 июня 2014 г.
Глава 27. Советы относительно лицензирования приложений
Политика лицензирования фреймворка GStreamer не отличается от политик лицензирования множества других библиотек, таких, как GTK+ или glibc: мы используем лицензию LGPL. При этом ситуация с фреймворком GStreamer осложняется из-за его модульной архитектуры, патентования и пропиетарной (несвободной) природы множества мультимедийных кодеков. Хотя патенты на программное обеспечение на данный момент и являются действительными в незначительном меньшинстве стран мира (США и Австралия являются двумя наиболее важными странами из этого списка), значительная роль США в мировой экономике и компьютерной индустрии не позволяет просто игнорировать патенты на программное обеспечение вне зависимости от вашего местонахождения. Ввиду сложившейся ситуации многие компании, включая те, которые выпускают ведущие дистрибутивы GNU/Linux, оказались перед выбором, в соответствии с которым они могут либо получать плохие отзывы из-за отсутствия возможности проигрывания мультимедийных потоков сразу же после установки дистрибутива (при этом попытки объяснения сути проблемы создателям обзоров пока не увенчались особым успехом), либо пойти на компромисс со своими взглядами и пропагандируемой движением свободного программного обеспечения идеологией, заключающейся в отказе от прпиетарного программного обеспечения. Из-за конкуренции многие компании принимают решение о добавлении какой-либо поддержки несвободных форматов мультимедийных потоков. Реализация поддержки подобных форматов мультимедийных потоков с использованием исключительно свободных программных решений подвергает компании риску участия в судебных разбирательствах и защиты от исков со стороны держателей патентов. Таким образом, при принятии решения о добавлении поддержки запатентованных кодеков, у компании остается выбор между вариантом использования специальных пропиетарных приложений и вариантом интеграции кода для поддержки необходимых возможностей в форме пропиетарных плагинов для инфраструктуры обработки мультимедийных потоков, представленной фреймворком GStreamer. Столкнувшись с обоими из этих зол, сообщество разработчиков фреймворка GStreamer, конечно же, предпочло второй вариант.
После принятия этого решения возникает другая проблема, заключающаяся в том, что распространение большинства уже разработанных приложений осуществляется в соответствии с условиями лицензии GPL. Хотя в большинстве случаев использование этой лицензии полезно, люди, занимающиеся созданием дистрибутивов, сталкиваются с дилеммой. Эта дилемма заключается в том, что если они включат в комплект поставки фреймворка GStreamer пропиетарные плагины для поддержки запатентованных форматов легальным по их мнению способом, они рискуют нарушить условия лицензии GPL, которую используют приложения. Мы знакомы с несколькими противоречащими друг другу мнениями юристов относительно того, является ли подобное распространение программных компонентов законным, но в соответствии с официальной позицией Фонда свободного программного обеспечения, данный метод распространения программных компонентов нарушает лицензию. Мы считаем мнение представителей Фонда свободного программного обеспечения наиболее авторитетным в данной области, поэтому соглашаемся с их интерпретацией лицензии GPL.
Но что же это значит для вас как для разработчика приложений? Это значит, что вы должны принять решение о том, хотите ли вы, чтобы ваше приложение использовалось совместно с пропиетарными плагинами или нет. Ваше решение также повлияет на шансы включения вашего приложения в состав коммерческих дистрибутивов и его распространения компаниями, занимающимися технологиями UNIX. Сообщество разработчиков фреймворка GStreamer советует выбирать для вашего программного обеспечения лицензию, которая позволяет включать пропиетарные плагины в комплект поставки фреймворка GStreamer и ваших приложений для того, чтобы быть уверенным в том, что как можно большее количество компаний будет использовать фреймворк GStreamer, а не менее свободные решения. Мы надеемся и считаем, что описанный выше подход позволит фреймворку GStreamer стать локомотивом для более широкого распространения таких свободных мультимедийных форматов, как форматы организации Xiph.org.
Если вы примете решение о предоставлении возможности использования плагинов под несвободными лицензиями вместе с вашим приложением, вы сможете выбрать одну из нескольких лицензий. Один из самых простых вариантов заключается использовании таких лицензий, как LGPL, MPL или BSD вместо GPL для вашего приложения. Или же вы можете добавить пункт с исключением для вашей лицензии GPL, в котором будет говориться о том, что вы не распространяете условия лицензии GPL на плагины фреймворка GStreamer.
Хороший пример такого исключения для лицензии GPL может быть взят из текста лицензии проигрывателя видеофайлов Totem: "Авторы проигрывателя видеофайлов Totem дают разрешение на использование и распространение плагинов фреймворка GStreamer, распространяемых в соответствии с лицензиями, не совместимыми с лицензией GPL, вместе с программными компонентами фреймворка GStreamer и приложения Totem. Это разрешение полностью согласуется с условиями лицензии GPL, в соответствии с которыми распространяется приложение Totem".
Исходя из нашего опыта, мы можем посоветовать использовать лицензию LGPL, так как она практически полностью повторяет лицензию GPL и хорошо совместима с основными проектами по разработке окружений рабочих столов для GNU/Linux, а именно GNOME и KDE. Также она позволяет вам более открыто делиться кодом с проектами, использующими совместимые лицензии. Очевидно, что код, использующий лицензию GPL без описанного выше исключения, в данном случае не сможет использоваться в вашем приложении без перелицензирования. В случае выбора лицензии LGPL отпадает необходимость в создании пункта с исключением и, следовательно, обмен кодом может осуществляться более свободно.
Выше я обозначил практические причины, по которым сообщество разработчиков фреймворка GStreamer рекомендует вам разрешать использование несвободных плагинов совместно с вашими приложениями. Мы считаем, что на мультимедийной арене сообщество разработчиков свободного программного обеспечения не обладает достаточным весом для того, чтобы определять повестку дня, а запреты использования несвободных плагинов в рамках нашей инфраструктуры приносят больше вреда нам, нежели держателям патентов и их сторонникам.
Не все разделяют описанную точку зрения. Фонд свободного программного обеспечения настоятельно рекомендует вам использовать не модифицированную лицензию GPL для своих приложений и, таким образом, отказаться от желания использовать несвободные плагины. Представители фонда заявляют, что ввиду того, что не у всех достаточно сил для того, чтобы отказаться от использования закрытых продуктов из-за неэтичности, требуется ваше содействие для получения правовых оснований выполнения описанных действий.
Данные рекомендации являются частью списка рекомендаций большего размера с разделом часто задаваемых вопросов, который вы можете найти на веб-сайте проекта GStreamer.
Следующий раздел : Цитаты из дискуссий разработчиков.