state of opencamlib/openvoronoi 2014 February

Hi all,
Just a quick update on where opencamlib/openvoronoi now stand in terms of 3D and 2D toolpath strategies:
http://www.anderswallin.net/2014/02/opencamlib-and-openvoronoi-toolpath-examples/

I heard about the recent OpenCascade license change. Does that make it more OK to link FreeCAD against GPL software? Is python “import” the same as linking?
Anyway I could consider a linking exception for freecad if that means there will be more wide-spread use of opencamlib and openvoronoi.

As explained in my blog post neither library is perfect and more wider use will surely expose more bugs and problems.
I am very busy with other things so realistically I will not be able to learn much FreeCAD or work on the CAM-module.
However I can provide assistance and usage examples and hopefully fix bugs for the low level libraries.

I think there is potential here for creating a CAD/CAM package better than any other open-source alternative out there! (and one that will rival at least low-end commercial CAM solutions)

regards,
Anders Wallin
main author of opencamlib and openvoronoi

For the FSF, yes.
But the problem was because the opencascade license was incompatible with GPL. Now it is LGPL, so it is now fully compatible.
The only problem you could have, is if your software is GPL3. Because GPL3/LGPL3 is incompatible with GPL2/LGPL2… :unamused:

actually as freecad is LGPL2.1+ it is compatible with GPLv3. That is because LGPL2.1+ can be converted to LGPL3 which then becomes GPL3 when you use GPL3 code or library. Yeah it’s a mess :slight_smile:

According to the table http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility most of the combinations are OK. Only GPLv2 with (L)GPLv3 is not allowed.

Yes, but we could never use a e.g. LGPL2 only lib again…

IMO we should stay away from (L)GPL V3. And to be honest, I think its having a death wish if you put a library under GPL V3! It becomes very hard to use…

Yes, ask the LibreDWG guys! :unamused:

Maybe Anders could add an exception to his libs for use with FreeCAD.

https://www.gnu.org/licenses/gpl-faq.html#GPLPluginsInNF

Or he can change the license :wink:

Actually CAM will be a very important part of FreeCAD and for the maker community. I don’t want to have such an important thing burdened with such a terrible license right from the beginning! We had our lessons. GPL for lib is a no-go for me, and V3 is even worse…

Anders,

Not sure about where your project stands now, but I am a big fan of it. That being said, I have never actually seen it work, but I have read your code, and I think it’s pretty good. That being said, I am surprised no one ever posts any working examples of these programs. For example, OPENCAMLIB is open source, but there are no actual running programs available.

Can you give us a way to get involved by releasing a working prototype of OPENCAMLIB?

FOSS licences are interesting debate indeed but i doubt relevant FOSS projects in CAD/CAM will be able to evade GPL entirely if strategy to go after the best solutions available on the market will be taken. For example if we look at much talked in the past LibreDWG issue when it comes to licences regarding FreeCAD.

That issues are now not there anymore if i am not mistaken and LibreDWG could be used in FreeCAD looking at it from license perspective is this correct? But yes just give it time and follow what is happening on technical level and it will be easier to choose correctly in the future.

This was debated over and over again. NO GPL LIB! An sure we can avoid it!
And LibreDWG died because it WAS GPL and no one could use it!

And LibreDWG died because it WAS GPL and no one could use it!

Well regarding licences FreeCAD could now if LibreDWG devs would continue? That was just temporary licencing issue because FreeCAD kernel had incompatible licence. Basically it was the licence FreeCAD kernel used that was the issue in the first place. That prevented LibreDWG to be included in FreeCAD and that prevented working FreeCAD to be available by default in for example Debian. But the “media drama” yes sure that was all about GPL licence as that is the cause of all the issues go figure. Journalism at its best?

This was debated over and over again. NO GPL LIB! An sure we can avoid it!

Well to be honest that just comes down to having GPL licenced CAM packages as standalone solutions in the future. Basically the same as with proprietary solutions. In the end why not if it gets the job done. And who knows maybe it will be easy for the users to integrate standalone GPL licenced CAM package in FreeCAD and who knows maybe to pack it up like that (as bundle) for Debian purposes too.

Its not only that! E.g. GPL V2 and GPL V3 are NOT compatible! So if you have a GPL V2 only lib you can not mix with GPL V3, and there is no way around. And to be honest, creating a license which is not even compatible to its own predecessor is plainly stupid stupid stupid.

We got lucky that OCC and Coin and Qt get relicensed - its more luck I can believe. Coin was e.g. GPL V2 only. I learned my lesson! Never again GPL under no circumstances - period!

E.g. GPL V2 and GPL V3 are NOT compatible!

Yes but AFAIK that it not FreeCAD problem?

We got lucky that OCC and Coin and Qt get relicensed - its more luck I can believe. Coin was e.g. GPL V2 only. I learned my lesson! Never again GPL under no circumstances - period!

This is the part i was referring to. There was a lot of media drama about LibreDGW and everybody focused on GPL licence as if that would be the issue. That was not the main issue the licence of OCC was it. I do not know it it only comes down to luck i do believe it makes sense for OCC to use licence compatible with for example Debian.

About GPL “newer again” well maybe not directly in FreeCAD but if LibreDGW matures and one of the GPL based CAM solutions matures i am quite sure we will use both in combinations with FreeCAD. And maybe somebody will provide bundle for easy install too.

Sure it is our problem! If you use one tiny piece of code with GPL the whole application is treated GPL. And e.g Debian is very strict about it, so is Red Hat. So the tail wags the dog!

And generally, as I said often before, to decide nowadays to put a lib under GPL is IMO a death sentence! You will never get support from companies, you will be hardly adopted from other FOSS applications with an other license then yours. So whats the point then? Die in grace?

So my opinion stands. You can ask the other copyright holders if they are in the mood for another round in the license arena by adopting a GPL lib!? I don’t think so. And anyway whats so great about the GPL? Its a very narrow minded intrusive license and carry way to much politics in it (especially the V3). Most of the people starting a FOSS project just use it cause they don’t have the experience we have now…

this page has been updated re LGPL
http://www.freecadweb.org/wiki/index.php?title=License

However this page (right at the bottom) has not
http://www.freecadweb.org/wiki/index.php?title=FAQ#Licensing.2C_copying_and_reuse

One of us should update that…

has anyone noticed anywhere else in the wiki that needs updating?

Sure it is our problem! If you use one tiny piece of code with GPL the whole application is treated GPL. And e.g Debian is very strict about it, so is Red Hat. So the tail wags the dog!

Debian and Red Hat AFAIK do not have issues with GPL. Issue was FreeCAD kernel had incompatible licence with GPL licence? If you read Wikipedia:

http://en.wikipedia.org/wiki/LibreDWG

It still says this:

However, LibreDWG has licensing issues of its own: it’s being bound to version 3 of the GPL, making it impossible for the LibreCAD and FreeCAD projects to use LibreDWG legally.

That is not true anymore regarding FreeCAD. And about old/new LibDWG:

The project has stalled since 2011 for various reasons, including lack of volunteers, license issues and programmer motivation.[5] In September 2013, the original project on which LibreDWG is based, LibDWG, announced that it was reactivating, re-forking its code from LibreDWG.

Still uses the same licence go figure. If you will look at the sources of claims in Wikipedia page you will notice:

http://www.phoronix.com/scan.php?page=news_item&px=MTI4Mjc

Where it says this:

FreeCAD uses Open Cascade and Coin3D libraries, both of which are GPLv2, so those programs cannot be re-licensed to GPLv3.



Both LibreCAD and FreeCAD both want to use LibreDWG and have patches available for supporting the DWG file format library, but can’t integrate them. The programs have dependencies on the popular GPLv2 license while the Free Software Foundation will only let LibreDWG be licensed for GPLv3 use, not GPLv2.

Licence of Open Cascade was GPLv2? Did FreeCAD devs have patches to support LibreDWG? This later part could be true i guess i will leave that for the devs to answer.

And generally, as I said often before, to decide nowadays to put a lib under GPL is IMO a death sentence! You will never get support from companies, you will be hardly adopted from other FOSS applications with an other license then yours. So whats the point then? Die in grace?

Well i do not believe that. If LibreDWG/LibDWG matures and offers good DWG support i am quite sure one way or another it will be used in FOSS projects. Technical capability quickly overtakes licensing second thoughts.

So my opinion stands. You can ask the other copyright holders if they are in the mood for another round in the license arena by adopting a GPL lib!? I don’t think so. And anyway whats so great about the GPL? Its a very narrow minded intrusive license and carry way to much politics in it (especially the V3). Most of the people starting a FOSS project just use it cause they don’t have the experience we have now…

Well GPL is a great licence no point in arguing that. About FreeCAD adopting GPL libraries sure if the decision was made for now for that not to happen it just won’t happen. But because FreeCAD is to CAD what Linux is to kernels this is one barrier where it might make sense to find a strategy on how to take GPL software under FreeCAD umbrella. If nothing better well then to have standalone for example FreeCAD CAM software package and DWG support as standalone too.

Tools in FreeCAD developed for CAM suitable to work as standalone tools independent of CAM kernel to be developed in FreeCAD master. FreeCAD CAM could be standalone app where FreeCAD foundation would be used and not reinvented but developed as standalone app. That would enable anybody to create FOSS bundle and who cares if it would be GPL licenced or not. That would not automatically make FreeCAD GPL software. It would made FreeCAD CAM GPL software and it would make FreeCAD bundle GPL software. Just like any proprietary and closed sourced standalone app capable of importing FreeCAD data will still stay proprietary.

And about GPL licence. What if it was GPL licence that convinced or made that effort more obvious for OpenCASCADE to re-licence their geometric kernel to compatible licence? Wouldn’t that be something! We would actually like for LibreDWG/LibDWG to mature wouldn’t we? That would enable to have mature DWG support for FreeCAD. The other more proprietary attempt we use for DWG ATM has its (licencing) issues doesn’t it?

Anyway just some thinking out loud. I do not expect ground braking changes but strategy regarding proprietary closed sourced apps and GPL based software solution regarding FreeCAD should i guess go beyond current “stand still” strategy. If there is something great to be used in FOSS world regarding CAD well to at least have a strategy on how to bring that efforts closer to FreeCAD and to maker it work instead of two or more FOSS projects ignoring and not liking each other because of the licence tag.