LibreDWG controversy: 2 months later
In late January we posted an in-depth story that explained the lack of support for DWG files in free/open source CAD software. Now it's time for an update.
If you don't feel like reading the whole thing, here is a quick recap. LibreDWG, a free library that provides public API for reading DWG files (de-facto proprietary standard in CAD), was licensed under GPLv3+ which is incompatible with some licenses such as strictly GPLv2. The latter is the license of e.g. LibreCAD internals as defined by Ribbonsoft, the copyright owner.
In order to solve the issue Free Software Foundation (who holds copyright for LibreDWG) was asked to relicense the library. That would make it possible for projects like LibreCAD to use it directly. FSF used to be against this, but asked for more information. As of January 2012 they couldn't provide a solution.
Forward two months. As for LibreDWG, there still are no news from FSF. On the development side, the project saw some activity in February in the branch where support for R2007 is being worked on, that's it.
Quite a few people pointed out that the licensing limitation could be bypassed with a plug-in for DWG support in both LibreCAD and FreeCAD. So we asked the developers again.
Ries van Twisk (LibreCAD) replied:
Yes, apparently we can link LibreDWG using a plugin. But that's a lot of work because of LibreCAD's internals. For example, all LibreCAD classes are licensed under GPLv2 and as such we cannot share them between plugins that are not of a compatible license. For us that would mean making an ugly interface or creating a lot of proxy objects, and we really want to have a clean plugin interface.
Our current state is that we gave DWG support low priority and we tell our users that we cannot support DWG because of the amount of work we need to do due to the license issue differences.
Personally I am rather disappointed that FSF didn't contact us, I had good contact with one of the developers though, but nothing from FSF, that's life…
However, DWG support within LibbreCAD isn't dead, we have some ideas we are pursuing, but they are still on the drawing board.
Yorik van Havre (FreeCAD) said:
For us the case was more or less closed, but if LibreCAD implements support for DWG, this might change things. Of course there is the problem that LibreCAD is a 2D app, so they need to support only the 2D stuff, while our users would immediately ask for 3D support, and 3D in DWG/DXF files are big blocks of binary ACIS data, which is yet another format.
So if they support it, we might think of another solution… We had some talks about taking advantage of the new LibreCAD's plugin infrastructure to set up some kind of 2-way communication between LibreCAD and FreeCAD. It's still only talk, but if they manage to get some success with DWG, the matter could receive new interest.
In other words, even if FSF continues to be slow with decision making, all hope isn't lost yet.
Meanwhile LibreCAD team pulled all DXF reading/writing code into a separate C++ library with a public API. The library is called libdxfrw and is available under terms of GPLv2+. The project was started in November last year and is actively developed.
Edit: we published an update to this story. You can read it here.