Skip to content

Instantly share code, notes, and snippets.

@kn9ts
Last active December 28, 2024 17:12
Show Gist options
  • Save kn9ts/cbe95340d29fc1aaeaa5dd5c059d2e60 to your computer and use it in GitHub Desktop.
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

@RogerInHawaii
Copy link

@MasterKia , I don't know how one defines the phrase "intimate enough". In my case the only communication between the Firmware and the program running on the additional microprocessor is commands from the Firmware to the additional microprocessor telling it to perform some operation (e.g. turning a light on having it drive a stepper motor), and for the additional microprocessor to respond with a "DONE" or "FAILED" message back to the Firmware. No "complex data structures" are communicated.

@zaphod77
Copy link

zaphod77 commented Dec 28, 2024

I agree here. I don't believe that statement would apply.

Functionality is added to the open source firmware that sends instructions to the closed source microprocessor. Those instructions are not obfuscated, and no other communication is done. It's essentially one open source program giving a closed source ones simple command line switches, and reading the return code.

This seems like a legitimate aggregate, based on the description.

Now if there were secret undocumented actions caused by activating commands in a specific sequence, then things would be a bit more questionable. If there is data encoded into the sequence of commands that the coprocessor detects (and affects it's ability to succeed or fail), then that would be abuse, unless the required sequences themselves were documented in the open source side. If you have undocumented magic sequences, then you are concealing some of the source.

From the way it's described, there is no issue.

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