Jump to content

Cura License update – from AGPL to LGPL.


SandervG

Recommended Posts

Posted (edited) · Cura License update – from AGPL to LGPL.

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
  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.
    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/)

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    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.'

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    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.

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    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?

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    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

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    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.

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    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.

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    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.

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    I saw the license of Cura was changed in github for Cura and _most_ of the dependencies were updated. However, _CuraEngine_ still is under AGPL, which to my understanding overwrites the LGPL that is used for _Cura_. Is there something keeping you from moving  _CuraEngine_ to LPGL?

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.
    On 6/26/2018 at 11:18 AM, RocketScientistJan said:

    I saw the license of Cura was changed in github for Cura and _most_ of the dependencies were updated. However, _CuraEngine_ still is under AGPL, which to my understanding overwrites the LGPL that is used for _Cura_. 

    No the engine is a separate program so the AGPL doesn't 'infect' programs that use it. For Cura every contributor but 1 agreed on our proposal to move from AGPL to LGPL. Once this was done, we didn't need to change the license of the Engine anymore because plugins work together with Cura and not the engine.

     

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    So a change in license for the CuraEngine is no longer going to happen?

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.
    7 minutes ago, ahoeben said:

    So a change in license for the CuraEngine is no longer going to happen?

    No it is not planned for the near future.

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    @Msuurmond Thanks for the quick answer. Can you please elaborate how CuraEngine's AGPL doesn't affect Cura? Is that because CuraEngine is treated as a plugin? I thought that LGPL was a more appropriate licence for libraries/plugins

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    CuraEngine is even more separate from Cura than a plugin. That is why we can have Cura with LGPL and CuraEngine AGPL

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    Isn’t CuraEngine statically linked to libArcus, which is LGPL?

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.
    1 hour ago, ahoeben said:

    Isn’t CuraEngine statically linked to libArcus, which is LGPL?

    Why do you think this is the case?

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    I am not as well-versed in CuraEngine innards as I am in Cura, but I know Cura and CuraEngine use libArcus to communicate. Cura used a dynamically linked python library. I can’t imagine CuraEngine uses a python library for communication, but I don’t see another dynamicly linked library in the Cura distributions, hence my assumption that CuraEngine is statically including parts of Arcus. But I can be all sorts of wrong about this.

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    It's linking to Arcus, but as far as I know, Ultimaker has all the IP for arcus (and can thus re-license it as we please) 

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    I know next to nothing about licensing but I thought the whole point of the LGPL was that it did not "taint" the code that it was linked to so it can be used within closed source (or otherwise encumbered) programs.

  • Link to post
    Share on other sites

    Posted · Cura License update – from AGPL to LGPL.

    Point(s) taken.

  • 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
    • Our picks

      • Introducing Universal Cura Projects in the UltiMaker Cura 5.7 beta
        Strap in for the first Cura release of 2024! This 5.7 beta release brings new material profiles as well as cloud printing for Method series printers, and introduces a powerful new way of sharing print settings using printer-agnostic project files! Also, if you want to download the cute dinosaur card holder featured below, it was specially designed for this release and can be found on Thingiverse! 
          • Like
        • 10 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...