Astroprint based on Octoprint? If so, where is the GPL code?

AstroPrint is, in fact, based on OctoPrint. However, the AstroPrint team has made sweeping changes and additions to the software, making these two host software offerings quite a bit different in many ways.

If this is the case - where is the GPL code?

That's something a customer of them should ask them.

It is true btw, at least they got in touch before their launch and told me they'd build their stuff based on OctoPrint 1.1.0 and contribute back if possible. The latter never happened as is sadly all too common.

1 Like

Not something you or the OSS community should stand for. I'll send them an e-mail and see what they say.

As for being a 'customer' - they offer a free-for-personal-use product - which to my mind is as good as being a customer.

I have sent them an e-mail - but if it doesn't pan out (somehow I doubt it will) - perhaps you as the author of Octoprint could send up a request through http://gpl-violations.org/ - as it happens, this project is run by a German too :slight_smile:

Is this the actual repository? I found this page which offers the IMG file.

Ah, but you then need to add a LICENSE and LID files to the microSD's /boot/ partition.

You ought to shake this tree. I don't like it when people take advantage of OSS.

I only came across Astroprint when someone mentioned that it did not exhibit the issue shown in https://github.com/foosel/OctoPrint/issues/2799

Yeah. They're making money off this. You should go after them. At the least, you should post an open letter to them on their forum. Stuff like this isn't cool.

I have been in a friendly e-mail conversation with their CTO. He is receptive (or appears to be) and says that the code at https://github.com/AstroPrint/AstroBox mentioned above is the full derivative source. They have a cloud portion of the product, but there is no Octoprint source in that (so they say). Sounds plausible though. There are instructions on installing Astrobox - I tried it on a mac, but had some errors in the octoprint portion of running it. I don't know enough about Python or how Octoprint is structured to fix it without some investigation. Perhaps you could try it if you have some time. I may give it another go on a Raspberry Pi - perhaps it just doesn't like the OSX environment.

And yet, the IMG file you download would have a copy of OctoPrint bundled on that. And you have to pay to open up the licensing by adding an email-received pair of files to the /boot folder.

I managed to install Astroprint with no license. Just choose 'skip'. I think the license and registration is only necessary if you want to use their cloud stuff. I'm going to have another play around with it when I have some time.

This isn't how the AGPL or Open Source works.

I can't publish a piece of software under such a license which permits commercial use and reuse and then get upset when a company actually does.

Would it have been nice to get some contributions back, either in the form of code or of a financial nature? Sure. Would it have been the morally right thing to do? IMHO yes, especially since that was what was hinted at would happen. Can I demand it? No. Would it make me look ridiculous if I still did it? Yep.

You can ensure that they are following the AGPL to the letter though. I'm not 100% sure they are.

Is there anything in their published code which may be of use to the current project?

I don't know and I frankly lack the resources to crawl through it and basically do a full review.

I looked at AstroPrint in the past, and the one thing that was a significant difference was how they stream the webcam in their image vs OctoPi (streaming is not actually part of OctoPrint itself). It was a long time ago, but during other discussions on the old Google group this came up and it was mentioned that the technology they were using for that was better suited to the tunneling of the video the way they do to the cloud, and may not necessarily benefit OctoPrint/Octopi core functionality.

I was just trying to say that them using the code without posting their changes is much worse if they are making money off it. You should pressure them to post the code if they haven’t.

Well, they have posted code in github. If this is indeed enough code to satisfy the AGPL - I cannot say. They may very well be 100% compliant as far as code sharing goes.

I found Astroprint as a result of this thread on thingiverse:

Some interesting tests there - it seems that the webcam streaming may well be a contributing factor. Apparently the same slowness on curves not seen on Astroprint.

Just to add - as slick and fast as Astroprint appears to be - I have no desire to use it. I don't like cloud let alone closed source.

Mostly—speaking for myself—there are times when I want to pick up my pitchfork and torch at the least provocation for some perceived sleight and take up some cause. It's probably just what a lot of people feel, a general sense of disenfranchisement most of the time.

Forgive us if we're always trying to rally to your defense, Gina. We care about this, that's all.

2 Likes

I have no problem with people rallying to my defense, but in most cases problems are best approached in a non public 1:1 than a pitchfork wielding witch-hunt :wink:

From the information I have, there is no license violation here. Suboptimal collaboration with the upstream project yes, but that's nothing new sadly. And there also have been some cases in their marketing department's approach where I was very much :face_with_raised_eyebrow: (name & slogan choice for example, and some competitive bla bla on Twitter) but as long as this is just on this level I think it's a better use of my resources to concentrate on building a good product and not get myself dragged into some kind of mud throwing 🤷

But for the record: I do of course have limits of what I'll tolerate in that regard.

2 Likes

in folder /AstroBox/
the run python file can be found. And this is its content...
image
so it seems based on octoprint or at least dealing with some part of it...
I hope it helps as I am myself diving into their code to understand more what it is...