Jump to content
Ultimaker Community of 3D Printing Experts
SandervG

Cura License update – from AGPL to LGPL.

Recommended Posts

Hi Guys, we have some news to share with you all. Please continue to read below :)

What is happening

From the start Cura has been developed and shared under the AGPL licence (Affero General Public License). This license which was chosen because we wanted to share our software with a copyleft license, and AGPL provides a strong incentive to share back. Now we are changing this license from AGPL to LGPL (Lesser General Public License).  

Why

An LGPL license would allow for more versatile dynamic linking, making it easier for others to implement Cura and contribute in developing third party plugins. With 100.000’s of users worldwide we’re making Cura a platform. AGPL has some restrictions whereas LGPL has less limiting conditions for contributors of all sorts.

Looking ahead

Cura was originally developed by a user in the Ultimaker community, named Daid. He envisioned a user-friendly alternative to SkeinForge, a popular slicer at the time. Cura has been enthusiastically embraced by users worldwide, and soon found its way in Ultimaker’s ecosystem. Under one premise though, that Cura would remain free and open. By changing the license to LGPL we hope to create a broader adoption of Cura. Fewer restrictions in the license, while keeping it free will make it more appealing for a wider variety of third party plug-ins. Cura is made by and for the 3D print community and will continue to play its role in making your user experience as easy as possible, without compromising on its powerful features.

Edited by Guest

Share this post


Link to post
Share on other sites
AGPL has some restrictions whereas LGPL has less limiting conditions for contributors of all sorts.

Can you be more specific about these restrictions? My google-fu tells me that the main restriction for AGPL is that it requires distributing the source code of changes to the application if it is offered as a service over a network, whereas LGPL only requires you to do so if you distribute the (compiled) software.

Or is it just that the poor people at Google are not allowed to install Cura on their computers? (https://opensource.google.com/docs/using/agpl-policy/)

Share this post


Link to post
Share on other sites

Hi @Ahoeben, thanks for your reply! :)

You are not wrong :p

Depending on the scenario, requiring to distribute the source code of the changes/additions to the library can be good or bad. For us, this meant some parties did not feel comfortable contributing to Cura (lets take your google reference as an example). We strive to take away this barrier and allow those parties to use but also contribute to our Cura platforms with less enforcement in telling them what to do, and more features will be added to the Cura platform.

Paraphrasing from the link Neotko shared:

'LGPL is for library routines. If someone modifies your LGPL library code, the LGPL behaves pretty much like the GPL, but if someone writes software that merely uses your library, the LGPL doesn't impose source release on the program that calls upon your code. This can broaden the potential uses of a library.

AGPL is like the GPL (if you distribute your program to others, it requires you to license your derivative work under the GPL too), but the GPL is only triggered if you distribute your derivative work. AGPL broadens this to trigger to activate if you let people use your derivative work over a network.'

Share this post


Link to post
Share on other sites

For us, this meant some parties did not feel comfortable contributing to Cura

And with LGPL they don't have to, if they just offer the software as a service over a network, even if they make money with it.

So for contributors to the open source projects this means that a third party can use their free work, improve upon that work and make money on that work eg by offering a cloud-based slicing service, all without the obligation to help further the project and share back their improvements.

Share this post


Link to post
Share on other sites

And with LGPL they don't have to, if they just offer the software as a service over a network, even if they make money with it.

So for contributors to the open source projects this means that a third party can use their free work, improve upon that work and make money on that work eg by offering a cloud-based slicing service, all without the obligation to help further the project and share back their improvements.

Maybe UM wants to allow big companies to insert Cura as part of their infrastructure with their proprietary code and without using Cura name? Maybe under the umbrella of a more segure/encrypted way to protect the customers IP.

I don't see why other companies that are actively sharing stuff like bcn or the reprap would benefit from this license change, or what they could do now that couldn't before. Any examples of what they could do now?

Share this post


Link to post
Share on other sites

I don't see why other companies that are actively sharing stuff like bcn or the reprap would benefit from this license change, or what they could do now that couldn't before. Any examples of what they could do now?

 

Making a plugin and distribute it under MIT or BSD should be possible.

You pretty much have 3 forms of GPL;

GPL, AGPL and LGPL.

AGPL is slightly more strict as GPL. As ahoeben mentioned, it "fixes" a loophole in GPL, by making the definition of what a distribution is more broad.

LGPL is less restrictive; If someone uses Cura (dynamicly!), it does not infect that code. If someone makes changes to Cura itself these must be licenced under LGPL

Share this post


Link to post
Share on other sites

I'm one of the contributors who will sign the agreement since my contribution is a very small part of the whole so I'm happy to hand it to Ultimaker to do with it what they wish.

However, I hope this doesn't mean that Ultimaker is having trouble with people just using their significant contributions without contribution back. I do enjoy tinkering. While I'm perfectly happy that there is proprietary code in the world and that people are able to make a profit off of intellectual property, I hope this doesn't mean that significant future contributions from Ultimaker to Cura will be cloud only or proprietary. I can understand why Ultimaker might need to do that, but just for my own hobbyist interests I'd rather be able to tinker. Especially with the newest stuff.

Share this post


Link to post
Share on other sites

Hi Markwal, thank you for your reply and for your trust in Ultimaker :)

I don't think we are having trouble, but that does not mean there isn't a lot of untouched potential out there. This relicensing should help us grow more and make Cura even a stronger and better slicing tool for everyone.

Share this post


Link to post
Share on other sites

It has been approximately one month after we notified you and our contributors about our intention to change our Cura license to LGPL. We’ve made some progress in the meantime and approximately half of all contributors have already responded. We’re still waiting on the remaining few. I’m happy that almost everyone was forthcoming regarding the license change and there seemed to be no difficulties.

There was only a small group of 2 contributors who felt conflicted relicensing their contribution to Cura, which is fine. We’ll continue to explore how we can make this work for everyone. If it was not for a brighter future for Cura we saw ahead, we would not have asked for this change. Therefore we feel we should continue this path and we’ll continue talking to the contributors to see if we can work things out and find a middle ground.

At some point we have to continue moving forward, and if a middle ground can’t be found we have to look at what other options there are left. This could mean considering to either abandon the contribution or rewrite it. In any case, we’ll try to do this in accordance with the contributor.

We hope to activate the new license by the end of September.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Terms of Use Privacy Policy