Проблеми с използването на DWG формат в LibreCAD и FreeCAD
Във връзка с появата на материала Инсталиране на безплатния междуплатформен 2D CAD (CAD) DraftSight на kubuntu 12.10 x86-64, както и поради обещанието да покрия темата, направена в заглавието на този материал, си позволих да говоря за случващото се.
Както всеки инженер знае, DWG е основният формат на продуктите на Autodesk от 1982 г. През последните десетилетия той се превърна в нещо като де факто стандарт във високотехнологичните и интензивни индустрии, в производството, строителството и т.н.
Въпреки съществуването на формати като STEP (ISO 10303), DWG остава част от твърде много работни процеси. В случая с тях всичко е много просто и твърдо: или можете да отворите и запишете DWG, или не можете да си свършите работата. Съответно, липсата на поддръжка на DWG драстично намалява пригодността на безплатния CAD за ежедневни задачи.
Ситуацията с DWG като цяло също не може да се нарече здравословна. Не толкова отдавна водещи разработчици на CAD спореха за правата върху търговската марка на DWG, а днес те са предимно в два лагера.
Лагерът на Autodesk не издава публично достъпна документация за формата. Лагерът Open Design Alliance публикува спецификацията. Нито една от тези страни не произвежда SDK, който е съвместим с лицензи с отворен код, и това възпрепятства някои разработчици с отворен код.
С появата и мигновеното нарастване на популярността на DraftSight, безплатна система за 2D проектиране от Dassault Systems, нещата се подобриха драстично с поддръжката на DWG и без цена. Все пак говорим за патентован софтуер, контролиран от една компания. Някои хора са много загрижени за това.
През 2008 г., няколко години преди пускането на DraftSight, Фондацията за свободен софтуер (FSF)призна значението на поддръжката на DWG в свободния софтуер и даде на тази задача висок приоритет. През 2009 г. няколко бразилски програмисти започнаха проекта LibreDWG, базиран на кода на libdwg, предишен, прекратен опит за създаване на библиотека за работа с DWG файлове.
Проектът започна доста бурно, но в началото на 2011 г. работата по него беше спряна. Причините за това са няколко.
Първата е непълна спецификация за DWG формата.Спецификацията, публикувана от Алианса за дълго време, съдържаше огромен брой пропуски и документира формата само до версия 2004. Освен това, повреден PDF файл беше публично достояние за известно време.
Вторият е лицензът GPLv3.За потребителски софтуер това е много лош избор, тъй като безплатният CAD софтуер обикновено или наследява лиценза, или използва компоненти на трети страни, чийто лиценз не позволява актуализиране на лиценза на самия софтуер до по-нов.
Вместо това искаме да гарантираме, че поддръжката на DWG е достъпна само в приложения, които наистина се нуждаят от нея. Говорим основно за безплатен CAD, за който това до голяма степен определя възможността да се конкурира със затворени продукти като AutoCAD.
Да, наистина можем да напишем плъгин. Но това отнема много време и усилия поради начина, по който е структуриран LibreCAD. Всички класове на LibreCAD са лицензирани стриктно под GPLv2 и за да направим модулния достъп до тях възможен, ще трябва да напишем много прокси обекти. Това означава да създадем доста тромава модулна архитектура, която по принцип не ни подхожда.
Поради това сме присвоили поддръжката на DWG с нисък приоритет и трябва да кажем на потребителите, че не можем да я приложим сега поради огромното количество работа,което трябва да се направи, така че всичко да върви гладко от гледна точка на лицензирането.
Лично аз съм разочарован, че FSF не се свърза с нас. Имам добри отношения с един от разработчиците [LibreDWG], но абсолютно нищо с FSF. Това е живота.
В същото време не сме изоставили идеята да внедрим поддръжка на DWG. Имаме някои идеи, но засега всичко е на етап проектиране, няма какво да покажем.
Йорик ван Хавре от екипа на FreeCAD намери за уместно да каже следното:
За нас темата като цяло е затворена. Въпреки това, ако поддръжката на DWG е внедрена в LibreCAD, може да променим решението си. Разбира се, тук веднага възниква очевиден проблем: LibreCAD е 2D CAD система и нашите потребители веднага ще започнат да искат 3D. 3D към DWG/DXF са огромни парчета ACIS двоични данни, т.е. друг формат.
Накратко, ако предоставят поддръжка на DWG, можем да опитаме една опция. В момента обсъждаме в нашия форум възможността за използване на новата архитектура на модулите на LibreCAD за осигуряване на двупосочна комуникация между нашите приложения. Засега това са само приказки, но ако LibreCAD успее да поддържа DWG, нещата може да получат нов обрат.
Това е накратко ситуацията с поддръжката на DWG формат в отворени CAD системи.
Надявам се, че съм задоволил любопитството на екипа относно версиите на лиценза, проблеми с правописа и т.н. :-)