Can I modify Linux CNC GUI and distribute it without paying any subscription

More
14 Dec 2023 04:11 - 14 Dec 2023 04:26 #288094 by abhishek
I'm reading about LINUX CNC and exploring about 5 axis CNC machines. I am exploring different ways to modify the UI of the CNC machines and distributing it commercially but it has to be done without buying any kind of subscription or spending any money.

Please forgive me if I'm asking any wrong or dumb questions as I'm completely new in this field and have started exploring about this 3 4 days ago. Also please correct me if wrote something wrong.

So my question is that do I have to pay something or is there any kind of subscription required if I am using existing GUI like
  • Axis
  • Touchy
  • Gscreen
  • gmoccapy
  • QtDragon
  • QtDragon_hd
  • Probe Basic

or if Im modifying above GUI's using
  • Glade
  • GladeVCP
  • PyVCP
  • QtVCP
and distributing it commercially?

I also heard that if I'm using using pyQT then I have to pay for the subscription if I have to use it commercially. Is this correct?

while I was scrolling Internet and YouTube, I found some videos explaining how to install Probe Basic and how to edit the existing GUI using glade VCP. And I'm thinking to implement the same.

But the only thing is that I'm unaware whether do I have to pay something if I'm trying to implement any existing and modified UI and make that commercially available.

Apart from the above queries I'm also searching on how to develop CNC UI using java or another front end frameworks like reactJs, javascript etc so that i do not have to pay anything if I have to distribute it. Is this feasible for developing UI for CNC or is it better to modify existing UI and then distribute it commercially without paying anything?
Last edit: 14 Dec 2023 04:26 by abhishek.

Please Log in or Create an account to join the conversation.

More
14 Dec 2023 05:24 #288095 by rodw
You need to comply with the therms of the GPL LIcense
github.com/LinuxCNC/linuxcnc/blob/master/COPYING

Which means you must provide a copy of the software including your changes on request. This is what Tormach does.
The following user(s) said Thank You: MennilTossFlykune

Please Log in or Create an account to join the conversation.

More
14 Dec 2023 05:45 #288099 by abhishek
ok. so i will provide copy of software but that does not mean that i have to pay anything right?

also in case if im using Probe Basic without doing any changes then in that case i can use it commercially without providing a copy or without paying for any subscription?

also any idea on developing CNC UI using java or another front end frameworks like reactJs, javascript?

Please Log in or Create an account to join the conversation.

More
14 Dec 2023 06:45 #288104 by blazini36

ok. so i will provide copy of software but that does not mean that i have to pay anything right?

also in case if im using Probe Basic without doing any changes then in that case i can use it commercially without providing a copy or without paying for any subscription?

also any idea on developing CNC UI using java or another front end frameworks like reactJs, javascript?
 

I'm no software lawyer but this is how I interpret it.....

Technically you don't have to distribute any modifications as long as you don't distribute any part of the GPL code either. Like if I modified the daylights out of a text editor and only used it on my own PC it would be a violation of privacy laws to require me to distribute these changes that I had no intention of distributing at all. So the GPL doesn't mention that case but I'm pretty sure that's how it works.

All of those UIs are GPL2 or GPL3, you don't have to pay anyone to use, modify or sell something that includes them, you just have to include the source for your changes upon request.

As for pyQT it's either LGPL or commercial but the commercial covers use. According to their terms as long as you comply with GPL you can distribute pyQT under GPL. If your license does not comply with GPL (i.e. if you don't want to distribute source code) then you need to buy a commercial license from them. If you're doing something with pyQT and distributing everything it doesn't matter whether you're making money off it or not, you don't have to buy a commercial license. pyQt and Qt are owned by 2 different companies so you'd have to watch out but I think if you intend to comply with GPL you don't need a commercial license, you buy the commercial license to waive the GPL obligations for that software basically. Other commercial licenses have different terms so I'm only speaking about pyQt and Qt

One thing I've always meant to really dig into that I'm not 100% sure about is if you were to design a completely custom  UI  for LinuxCNC from the ground up and you purchased the commercial licenses for Qt or whatever, at what point is that UI part of the "LinuxCNC" program? I suppose if it used QTVCP, it would be sucked into LinuxCNC, but I'm curious at what point of interfacing LinuxCNC through Python or whatever gets the UI program sucked into GPL2

Please Log in or Create an account to join the conversation.

More
14 Dec 2023 07:06 #288105 by rodw
I have not read the license again, but if you build a gui from scratch or even modify say qtdragon, you have created a derived work so you wil need to also provide ALL the software including yours. This is shown by Tormach including their GUI in their distribution USB stick. 

You can charge for the distribution medium but not the software.

 

Please Log in or Create an account to join the conversation.

More
14 Dec 2023 07:32 - 14 Dec 2023 07:34 #288106 by blazini36
Definately not that simple, really easy to give misinfo on this topic so you should think about your answers a little.

You could make a spaceship with all sorts of proprietary code that has it's own user interface. Nobody at NASA wants to write code to drive a stepper motor for the  cockpit door so they install linuxCNC and the spaceship interface sends a command to linuxCNC to open the cockpit and reports back that the cockpit is open. It's hard to say that the part of the program that calculates the reentry trajectory is a derived work of LinuxCNC just because LinuxCNC opens the cockpit door.

At some point these 2 works could be closer than "arms length", but it's certainly not derived. Tormach (probably) uses way too much of LinuxCNC's code to not be considered a "derived work", it's on milling machines and lathes of course it uses major chunks of LinuxCNC so it's not quite what I was talking about. I don't know anything about spaceships and I made all that up but it's probably a better example than Tormach. Keep in mind Tormach also donated major improvements to LinuxCNC as well.
Last edit: 14 Dec 2023 07:34 by blazini36.

Please Log in or Create an account to join the conversation.

More
14 Dec 2023 08:37 #288115 by abhishek
ok. so what i can conclude is i can do modifications on the gui and i do not have to pay any subscription for it. If want to made UI commercially available then i just have to mention a paragraph in my code as mentioned by GNU license.
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.


also im thinking to use Probe Basic for UI as it looks good and i have came across a video showing how to install it


so i will be installing it on linux cnc and will be integrating it on my screen and since i have not made any modifications to it so i can sell the cnc machine with Probe Basic integrated as UI to the end consumer. That won't be causing any issue. Please correct me if im wrong here.

also please someone give insight about whether can i use java or reactJS to create UI for CNC.

I came across cncjs cnc.js.org/ can someone can have a look at its features and can tell whether can i use it to for 5 axis cnc or not. Also if someone can suggest some UI alternative using java then it would be highly appreciable.

Please Log in or Create an account to join the conversation.

More
15 Dec 2023 09:43 #288211 by rodw
I don't think the NASA example is a particularly good one because they are not likely to be selling spaceship door openers so its for their own use.

I think if you did use linuxcnc and probe basic in a commercial product, it would be prudent to  mention the respective programs and their licenses in your documentation. Have a look at any home internet router. You will usually find a list of open source licenses in the documentation.
The following user(s) said Thank You: tommylight, MennilTossFlykune

Please Log in or Create an account to join the conversation.

More
15 Dec 2023 20:42 #288271 by blazini36
Actually it is a pretty good example because it's obviously a joke that that would happen, but it illustrates the point of using LinuxCNC as a utility rather than thinking of it as the basis of the program.

Please Log in or Create an account to join the conversation.

Time to create page: 0.097 seconds
Powered by Kunena Forum