Skip to content

Instantly share code, notes, and snippets.

@kn9ts
Last active January 15, 2026 23:46
Show Gist options
  • Select an option

  • Save kn9ts/cbe95340d29fc1aaeaa5dd5c059d2e60 to your computer and use it in GitHub Desktop.

Select an option

Save kn9ts/cbe95340d29fc1aaeaa5dd5c059d2e60 to your computer and use it in GitHub Desktop.
GPLv3 explained

GPL3 LICENSE SYNOPSIS

TL;DR* Here's what the license entails:

1. Anyone can copy, modify and distribute this software.
2. You have to include the license and copyright notice with each and every distribution.
3. You can use this software privately.
4. You can use this software for commercial purposes.
5. If you dare build your business solely from this code, you risk open-sourcing the whole code base.
6. If you modify it, you have to indicate changes made to the code.
7. Any modifications of this code base MUST be distributed with the same license, GPLv3.
8. This software is provided without warranty.
9. The software author or license can not be held liable for any damages inflicted by the software.

More information on about the LICENSE can be found here

@bLouChip
Copy link

@RogerInHawaii , @zaphod77

But it does seem like my code that runs on the separate processor can be kept as the company's trade secret, with no requirement that its source code has to be made available as Open Source.

You guys describe and dissect, for GPL license compliance, a great use case pattern between two 'machines' or sub-assemblies that may exist in a single proprietary product for sale. One sub-assembly, machine-A, is a modified GPL open source 'machine' (for instance grblHAL) and the other sub-assembly, machine-B, is a novel and proprietary design, closed source and loosely coupled to machine-A via a simple bidirectional man-readable command stream. I was pleased to learn that the GPL license of machine-A in this product design pattern withstood the firewall test allowing machine-B to exist as patent-able and remain proprietary in terms of firmware if not also hardware.

I have been researching for this answer for most of the day. I believe a real high volume product example of this design pattern is Langmuir's CrossFire CNC controller. Oddly though I don't find anywhere on Langmuir's website or posted product specifications that they use a modified GPL licensed sub-assembly (machine-A), which appears to be a grbl controller on an Arduino style MCU BOB. Their machine-B seems to be a proprietary MCU and firmware 'black box' acting, at least in part, as a plasma Torch Height Controller. I can certainly be all wet about this speculation but it certainly looks that way, very clever, and very compliant with GPL licensing apparently. Good to know. I'm attempting to build a CNC controller implementing this same design pattern.

Thank you two for having the open discussion to vet this design pattern.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment