Less restrictive license?


Okay, so you are telling me that my logic of "i cant use it because work said i cant, and i tried to get an exemption that was granted already to all of the essentials, but i cant" is flawed?

Or is your logic that a super restrictive license is okay flawed? less then 2% of open sourced projects are AGPL V3. Less then 10% of projects are under licenses that are banned by my company. Exemptions are really hard to come by.


Did i say that was a problem?


I have been trying for a few months to get it approved. No luck, It is get a special distributions under a different license or don't use octoprint.


I know how it goes, huge amount of work to get something approved knowing in advance there's slim to none chance of success :frowning: .. not much more you can do

  • you tried making company approve it as is (they didn't)
  • asking respectfully and politely if it's possible to get it done on the dev side (get a special build, special contract in exchange to whatever..)

you did your part the best way I think possible, it's up to @foosel now if she can/want/have resources to change anything to help

good luck :slight_smile:


It definitely seems like a misunderstanding of the company of the license itself. I don't see anywhere in the license where it states anything that touches it has to also be of the same license or open sourced, only if there are modifications to the source code itself. If you aren't changing it I don't see what specifically your company would have a problem with?


It's my attempt to remind everyone at the way we value different things. In the world of open-source, people seem to believe that they get everything for free to include endless support, use of the software, the ability to fork and create a competitive product, the ability to complain about how all this isn't a perfect solution and now it would seem in the OP's case: the ability to ask on behalf of Am___n (presumably) for a different license since his place of work doesn't find these restrictions as convenient as he'd like.

I've often said to people (clients, usually) that money opens a lot of doors. Rather than expecting others to bend to your will, approach them with a business deal and see if they're more open to that. (I just this week made an offer to MasterLock, for what it's worth.)


Cool, doesn't matter for the core question. The legal/ opensource teams here have said that i cant use it. i really doesn't matter what you don't see, i cant use it.


well I know 5-6 companies that would just used the software and completely ignored the licencing issue all together, especially as it's "inside the company" with "no way of proving it's being used at all" ... coming out with

  • respect the licence
  • can I get different one, if not that's ok
    is imo something very very very rare in open source world (and I work in open source world for 2 decades and some change)... the answer "no" is what is most likely answer in most cases and guy (or a girl?) already said it's ok .. but one can't know till one asks right?

from what I see OP is already a patreon, so giving money for stuff he use is not foreign to him/her, and in no way dismissed the option to pay for what is asked so dunno why are we now being wooden lawyers defending something that was not attacked in the first place. It's not OP's decision to put a ban on some licenses nor is in his power to do anything about it (unfortunately I know 100% what position he is in.. nothing new in big systems) ... I really don't care if he's going to be using octoprint at work or not, nor if company he works for will exist tomorrow .. but I don't like the attitude of attacking the person who imo did nothing wrong?! Maybe he should ping foosel directly instead of writing a public question (I'd go that route for e.g.) but then again... I don't see he belittled anyone's efforts, insulted anyone or did anything wrong?!


Apologies if it felt like I was attacking the OP. And of course, the only one who can speak for foosel is herself.


The problem isn't with the license it is with your legal / opensource teams if you simply want to use it to print things at your company. If you want to incorporate it into a product that is another matter.


As to OP’s original question: the license cannot be changed without all contributors agreeing to the change. If a contributor would not explicitly agree to the change, their contributions would need to be removed from the software before the license can be changed.

Cura was fairly recently changed from AGPL to LGPL, and that was a transition that took months to prepare and execute.


You have been continually attacking me for wanting to be a able to use a product at work.

I am not in any way against this project. I can't maintain my employment and use the current license at work.

As you have noticed I am a patron, have been since the first day @foosel opened it up, but paying money doesn't / shouldn't grant any special treatment. It shouldn't give any entitlement, I am a patron because I believe in the project.


Read other post. I tried that for 6 month before posting.

In the last 5 years 0 AGPL V3 licensed projects have received exceptions.

The reason is that having AGPL V3 tools around can cause people to accedentally build them into a project and accedentally break the license. Now there isn't any plan to do that or any way this would be directly tied to a release project, however clearly informing people that if they have an idea based upon some small feature in the project that they can't use it as a base for experimentation or do any development work without extremely detailed review by the legal team first is simply a risk the company doesn't want to take.

I respect the choice of the license, but I can't use it at my current company.

Any argument that they are wrong doesn't matter, I have tried for months to convince them, this is a last ditch effort.


I am aware. I am asking if the core service (after the web cam hooks and a few other of the AGPL features were removed) could be switched to a different license.

I only want the core web control and UI if possible. I know changing the license is not simple, but as I have said a few times, this is a last ditch effort, I don't have another option to allow me to use it at work.


A license switch isn't trivial. It's something I've actually been thinking about (specifically towards LGPL), but considering that OctoPrint itself is based on Cura (AGPL) and there are contributed code lines in there I'd have to somehow get permission from every single person who ever contributed a line to the active code base to perform such a switch, and if someone doesn't agree somehow replace their contributions with something that still works but isn't obviously derived. So - definitely not an overnight thing.

It's - as I said - something I've thought about, but so far haven't even started on looking into since I have my plate full way more than I can possibly handle already and adding that on top at this point is simply not an option.


Just to complicate things: Cura was originally AGPL. The frontend was rewritten from scratch, again as AGPL, but was changed almost a year ago to LGPL (in a process that took half a year).

To change the OctoPrint license, the contributors of the legacy Cura, up to the point that @foosel started her "fork", would all have to agree or have their code removed.


Now that you mention that, I even remember it, since I had to sign an agreement as I contributed some code to Cura a long time ago :wink:

In theory it would boil down to identifying the original author of each line in the current source (through a combination of git blame and filtering out any commits that were purely moving around lines or changing indentation), getting in touch with them somehow (a challenge in its own regard), ask for permission, keep track of yays and nays and then rewrite anything that was authored by people who denied approval or couldn't be reached.


because it started out as a slicer?


No. When I started this project, all I wanted was a web interface with a ton of feedback built around a working GCODE sender. I had no clue of the involved protocols or even a lot of the GCODE commands back then, so at first I built OctoPrint (then just called "Cura WebUI") as a module into Cura and used its comm layer (and also its GCODE interpreter for time estimation and model data). Then I extracted it and made it standalone (now it was called "Printer WebUI" - I wasn't really creative then ;)) but still utilized the comm layer (and GCODE interpreter) from Cura. And then I started adapting all that left and right and refactoring it and so on and so on, the more I learned about all the different protocol flavors and firmware variants out there. And some time in Q2 of 2013 or so the name also changed a final time to "OctoPrint".

So - I think there aren't many lines left untouched in the comm layer and the GCODE interpreter has also been adapted somewhat fiercly through the years. But in the end both are still based on what was in Cura back in late 2012.


Well, that was easy.