Are the Arduino Microcontrollers freedom respecting?
Hello,
I am quite new to all of this so please forgive my ignorance on anything. I am slowly trying to move away from non-freedom respecting hardware and software, but all of the information I find online is a bit overwhelming to me. I wanted to ask if the Arduino Micro-controllers are truly freedom respecting? Do they require any blobs?
Thank you.
The question is if the firmware Arduino hardware need to work is free software or is nonfree software.
Do you happen to know if they use non free firmware? I could not find out myself online.
The Arduino libraries do include precompiled binary code under nonfree license:
https://blog.adafruit.com/2021/06/28/closed-source-libraries-in-the-arduino-library-manager
So you need to check the license for each piece of software before loading it to your board:
https://www.gnu.org/licenses/license-list.html#SoftwareLicenses
So so long I check to see that all of the libraries I use are under a free license, the Arduino can be run solely on free software?
Sadly Arduino to work need run nonfree software, thats the reason we don't recommend it as a device to buy: https://raw.githubusercontent.com/arduino-libraries/Arduino_MCHPTouch/master/Microchip%20Touch%20Library%20License%20Agreement%20-%20Arduino%20082420.pdf
I appreciate the response.
Please forgive my ignorance here, I am very new to programming. According to Github, the libraries are "used to read touch sensors values from the Arduino MKR boards and the Arduino Nano 33 IoT."
Could I not just use the Arduino micro-controller without relying on this? Could I not just "remove" the library, keeping the microcontroller blob free?
Also, what other options do I have if I wanted a freedom respecting microcontroller that did not rely on non free components?
To clear any misunderstanding, you do not need to load that proprietary library into your board if you do not intend to use touch sensors. The problem is that you may easily walk into a blob as some libraries may come with this kind of precompiled binaries without a warning. You are walking on the "open source" side of things, where full software freedom is optional and business convenience comes first.
That is why I wrote that you should be extra cautious and make sure to check the license before loading anything into your board. There are other options, but to date I have found none that is specifically focusing on software freedom. So, in a way, you are on your own.
Right, that makes sense. I appreciate your patience.
There is a project I would like to use that is under GPL 3. From my understanding, if I only use that software for the microcontroller I plan to use, then I should not use any blobs at all.