Интрига вокруг LibreDWG: два месяца спустя

В конце января мы опубликовали исследование причин, по которым в свободных САПР до сих пор нет поддержки формата DWG. Пора подвести промежуточные итоги.
Если вам неохота читать весь материал, кратко напомним суть интриги. Для обеспечения поддержки формата DWG есть проект LibreDWG, в рамках которого пишется одноимённая библиотека с публичным API. Эта библиотека распространяется под лицензией GPLv3+, которая несовместима с некоторыми лицензиями, включая GPLv2. Последняя, в частности, является лицензией на LibreCAD, где авторские права на уйму кода принадлежат компании Ribbonsoft, не желающей релицензировать его.
Таким образом из-за несовместимости лицензий несколько активно развиваемых свободных САПР не могут напрямую использовать LibreDWG. Это, в свою очередь, демотивировало одного из авторов LibreDWG, который прекратил работу над проектом. Заметим также, что LibreDWG имеет статус приоритетного проекта FSF.
Чтобы решить сложившуюся проблему, авторы LibreDWG обратились с просьбой релицензировать код к Free Software Foundation как владельцу авторских прав на библиотеку. Это позволило бы достаточно легко реализовать поддержку DWG в таких САПР как LibreCAD и FreeCAD. На конец января сотрудники FSF были не в состоянии дать однозначный ответ.
Два с лишним месяца спустя официального заявления от FSF до сих пор нет. Что касается LibreDWG, в феврале была кратковременная вспышка активности в ветке R2007, где ведётся работа по реализации одноимённой версии формата. Этим дело и ограничилось.
За это время авторам САПР было не раз указано на возможность реализации поддержки DWG через модуль, лицензируемый под GPLv2+, что позволило бы обойти ограничение. Мы решили уточнить позицию разработчиков по этому вопросу
Соавтор LibreCAD Рис ван Твиск (Ries van Twisk) сказал следующее:

Да, мы действительно можем написать плагин. Но на это нужно положить массу времени и сил из-за того, как устроен LibreCAD. Все классы LibreCAD лицензированы строго под GPLv2, и для того, чтобы сделать доступ модулей к ним возможным, нам пришлось бы написать множество прокси-объектов. Это означает создание довольно корявой архитектуры модулей, что нас в принципе не устраивает.
Поэтому мы назначили поддержке DWG низкий приоритет и вынуждены говорить пользователям, что не можем сейчас это реализовать из-за огромного объёма работы, которую надо проделать, чтобы с лицензионной точки зрения всё было гладко.
Лично я расстроен из-за того, что FSF не связались с нами. У меня неплохие отношения с одним из разработчиков [LibreDWG], но абсолютно никаких с FSF. Такова жизнь.
Вместе с тем, мы не отказались от идеи реализовать поддержку DWG. У нас есть некоторые идеи, но пока что это всё на стадии проектирования, показывать пока нечего.

Йорик ван Хавре (Yorik van Havre) из команды FreeCAD посчитал нужным сказать следующее:

Для нас тема, по большому счёту, закрыта. Однако если в LibreCAD будет реализована поддержка DWG, мы можем передумать. Конечно, тут сразу же возникнет очевидная проблема: LibreCAD является двухмерной САПР, а наши пользователи сразу начнут просить 3D. Как ты знаешь, 3D в DWG/DXF — это огромные куски двоичных данных ACIS, т.е. ещё один формат.
Словом, если они обеспечат поддержку DWG, мы можем попробовать один вариант. Сейчас на нашем форуме идёт обсуждение возможности использовать новую архитектуру модулей LibreCAD для обеспечения двухсторонней коммуникации между нашими приложениями. Это пока только разговоры, но если LibreCAD справится с поддержкой DWG, дело может получить новый оборот.

Иными словами, даже если FSF и дальше будет затягивать с решением или откажется релицензировать код (а это весьма вероятно), надежда ещё не потеряна. В конце прошлой недели к обсуждению был подключен Ричард Столлман, но никаких официальных заявлений он пока не сделал.
Тем временем команда LibreCAD перенесла весь код для чтения и записи файлов DXF в новую библиотеку на C++ с публичным API. Библиотека называется libdxfrw и доступна на условиях GPLv2+. Проект был начат в ноябре и активно развивается.



Яндекс.Метрика
Счётчик ТЦ#65533;Ц LiveRSS: Каталог русскоязычных RSS-каналов