Дисплейный сервер Wayland меняет лицензию на LGPLv2

Автор дисплейного сервера Wayland, возможность использования которого вместо X-сервера рассматривают дистрибутивы MeeGo, Ubuntu и Fedora, принял решение изменить лицензию для формирующих API компонентов libwayland-server и libwayland-client с MIT на LGPLv2, что позволит обеспечить полную совместимость со свободными проектами, использующими лицензии GPL/LGPL, избежав при этом проблем со взаимодействием с закрытыми продуктами. Переход с MIT на LGPLv2 также приведет к невозможности внесения изменений без последующего открытия кода модификаций (например, нельзя исправить ошибку и оставить данное изменение только для себя, не поделившись с общественностью).

Компонент libwayland-client используется для обеспечения работы с Wayland из внешних GUI-библиотек, таких как Qt, GTK+ и Clutter, а также в приложениях, которым необходим прямой доступ к функциям Wayland (например, в программах wine, qemu и rdesktop). Компонент libwayland-server используется для отрисовки. В ближайшее время на LGPLv2 планируется также изменить лицензию для демонстрационного набора клиентов и композитного сервера, которые сейчас распространяются под лицензией GPLv2.

Стремление автора проекта к переводу Wayland на единую лицензию оправдано тем, что если не успеть позаботиться о смене лицензии сейчас, то в будущем сделать это будет гораздо сложнее. Число участников проекта растет и так как они не подписывают соглашение о передаче своих имущественных прав на код, то при смене лицензии требуется получение согласие от всех разработчиков, код которых присутствует в Wayland.

Wayland отличается от классического X-сервера тем, что на уровне сервера выполняется только переадресация всех окон, а все операции рендеринга и управления окнами производятся на стороне клиента и передаются для обработки серверу со встроенным композитным менеджером. Сервер не поддерживает API отрисовки и оперирует только с уже сформированными окнами, что позволяет избавится от двойной буферизации, при использовании таких библиотек как GTK+, Qt и Clutter. Все операции отрисовки производятся силами дополнительных библиотек, например, OpenGL ES, FreeType и Cairo. Взаимодействие с аппаратным обеспечением, например, проведение инициализации, переключение видеорежимов (drm modesetting) и управление памятью (GEM) графических карт, производится через KMS-модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя.

©  OpenNet