Rich: I’m speaking with Ries van Twisk, who is involved in the LibreCAD project. LibreCAD is a 2-D computer assisted design program.
Ries: Well, Rich, Thank you for having me on your podcast.
Rich: Thank you very much. How long have you been doing this? It looks like it’s about two years old?
Ries: That’s correct. I started this project, I think, at the end of 2009. Actually, when my wife started to complan it took such a long time on my CNC machine – different steps that were involved to make a CAD drawing into what’s called G-Code. And at that point I decided to fork a project called QCAD, which was developed somewhere in 1999. An Open Source version of QCAD called QCAD CE – Community Edition – was created. That was … I think, most distributions – Debian, RedHat – were using that version from 2004, which was still based on QT3.
Recently, that is, 2010, these distributions decided that QT3 was outdated and an upgrade needed to be done to QT4.
So, one thing led to another. My project was based on QCAD, which helped me to create G-Code on my CNC machine, but I needed a QT4 version, and, as such, I started to port QCAD to QT4.
I’m sorry about the number of Q’s involved here!
I put it, of course, on SourceForge, and created an SVN repository and put my commits there. At that time I had a little involvement in Linux CNC. I told them about what I was doing and the word started to spread. We created a name for my QCAD fork, and that ended up as LibreCAD.
At some point I created more submits, more people got involved, and currently I think we’re doing about 20,000 downloads a week.
Rich: Wow. That’s not bad. How many people are involved on the developer side?
Ries: I did the complete 1.0.0 development of LibreCAD. We have another guy that is working on 2.0.0, so I’m not a release manager any more. I’m just standing on the sidelines. There are some programmers … we have two that are involved for a very long time, already for over a year. And we’re starting to get two new developers who are anxious to get making commits to the core of LibreCAD. So essentially we have four developers, with who who are very very active.
Rich: I’m personally very interested in cooperation between projects. Before we started we were talking about FreeCAD. Tell me about the relationship between the two projects.
Ries: As it stands right now, there is no direct relationship, except there are talks that FreeCAD wants to communicate with LibreCAD, and probably that will be done using a Python interface to LibreCAD core. But those are just talks, and ideas still, and nothing complete has been done. At least not that I’m aware of.
Those discussions came mainly from FreeCAD, from a forum I’ve been reading a couple of weeks ago.
It’s an awesome project, by the way, FreeCAD.
Rich: What’s planned for the 2.0.0 version?
Ries: Our main developer told me that he’s interested in creating Voronoi cells which allows LibreCAD to make better hashes and more complex fill-ins than currently is possible.
The method that is currently used, the more objects that are involved, the more complex the calculations are, and the longer it takes for a hash to complete. So, one of the things is Voronoi cells. He’s very interested in developing that. They have been creating various new interfaces and changing, still, some of the old QT3 code to QT4, to bring the project into better shape. Also for the upcoming QT5.
I think cleaning up is always very important in a forked project like this.
We are working on plugin support, which is fairly experimental at this point, but functional. Last week I got a message from a guy who said, I made two plugins. Please take a look at it. Although it’s still a simple interface, people can work with it. We want to extend that to support more objects.
Hopefully the FreeCAD people also will be able to use that interface to communicate with LibreCAD to pick up objects and send them back to LibreCAD.
One of the major things that is going to happen is that we’re working on the new wiki and the manual. Unfortunately, due to license restrictions we could not include the old QCAD manual into LibreCAD, and we had to pull it out. We’re working on the new manual because it does seem that people really really like to have a proper manual in place. And not only an online manual, but also an in-line manual, that just gets pulled up even if you don’t have an Internet connection. I have had some messages from Africa, for example. People don’t have Internet connections there, but they do distribute LibreCAD without the manual. It’s hard for those people to get going.
Rich: It sounds like if somebody wanted to get involved, documentation would be a really good place for them to start working.
Ries: Yes, absolutely. We already have some people who are anxious to write, and I’m in the process of setting up a proper wiki for that. That wiki would also allow us to be able to create a PDF manual, and an HTML manual that we can include inline.
As always with an Open Source project, everybody can hop in. We have an IRC channel we run, and a forum. If you want to have a live chat with us, we always have developers available. The IRC channel is not that big yet – 14 members on average – but still there is always somebody that can answer a question.
We don’t have any restrictions on who can participate. We accept most code, if it’s beneficial to the project, and not specific to one problem, then we usually can accept that code. So we are a really open community. Everybody is welcome to get involved if you have an interest in 2-D CAD.
Rich: Thanks so much for speaking with me.
Ries: Thanks so much, Rich.