Arduino, Open-Source and Licenses

Important note :

The below treatment is in no way written by a lawyer or an expert. It is just an overview and is not intended to be complete or comprehensive. Please be very thorough when finalising licensing for your projects.

This guide is by no means an official document, merely a compilation of publicly available information, as observed by me.

The open source movement gives great power to everyone. It allows people to take advantage of existing work and share, modify, collaborate and build on top of it. Using content off the Internet is immensely useful, it helps you get started with projects rather quickly and helps you through most hitches along the way. Creating content is very very rewarding too, and not only financially. It helps you find others who are passionate about something as much as you are, who can help you along the way, and fill in where you lack.

However, with great power comes great responsibility, and this applies to the case of open source as well. It wouldn’t be fair if you used existing work without giving due credit to the creator, and you wouldn’t appreciate it either if a candy-gun you hacked up were weaponised. There are many considerations to be made when it comes to “open-sourcing” or “releasing the source”, some of which are :
– Credit for the original work
– Permission for reusing and modifying the work
– Sharing of modified work
– Permission for reusing work commercially

among others.

The above considerations are highly general, be it about sharing software code, hardware designs or artwork and other creative content. Though the considerations are generic across the type of content, the nature of the content itself makes it difficult to use the same terminology across different types of content without creating confusion. For this reason, various standards and licenses were created and shared, so that content could easily be licensed by without requiring too much knowledge of legal jargon, and at the same time educating content users and contributers about legal rights to content and implications of licenses.\

The Arduino project itself is a result of a lot of work created by thousands of users over a decade, who contributed in various ways and parts to get it to its present state.
Arduino makes it really easy for users to start prototyping their projects, and a lot of them eventually walk out of labs in real world implementations, from gardens to industries, and from store shelf products to satellites. Once that starts happening though, the considerations discussed above start becoming important. Failing to take care of them can cause you to lose control of your project, business and even make you liable for legal action and fines. It’s always wiser to spend a little time before hand in order to avoid a lot of trouble later. Below, I’ll give you a brief overview of the rights and usage of Arduino and it’s components, so you can hopefully find it easier to share your next great project safely.

No License :

Generally, if you find content on the Internet that does not state a license explicitly, it means that the copyright for the work belongs to the creator, and you do not have the rights to use or modify the work, for personal or commercial use.

Arduino™ :

The name “Arduino” is trademarked i.e. it is the symbol of an organisation and the products it produces, and it cannot be used to represent or promote any other products. Trademarks are meant to provide the trademark holders from being misrepresented and from the consequences arising thereof.


Arduino Hardware Design :

The hardware circuit designs for Arduino boards are licensed under a Creative Commons Attribution Share-Alike license, which allows for both personal and commercial derivative works, as long as they credit Arduino and release their designs under the same license. This means that anybody is free to use original as well as modified designs in their own projects, for hobby projects or products that people pay money for (without paying any royalty for it), as long as they share that work under the same license. This means that if you made a really cool project that you are planning to sell, you can go right ahead, but you need to credit Arduino for the original designs and share the designs for your product under the Creative Commons Attribution Share-Alike license as well. Also, you absolutely cannot add legal terms or use technology that restrict others from doing anything that the original license lets permits the users to do. You can read more about the license here :


Arduino IDE :

The Arduino IDE was built on top of the Processing IDE, and it respects and follows the licensing of the core components of Processing that are used. The Processing code is licensed under the GNU General Public License (GPL v2 or later), the creators (and owners of copyright) are Ben Fry, Casey Reas and MIT. As the GNU website states, “Using the GNU GPL will require that all the released improved versions be free software. This means you can avoid the risk of having to compete with a proprietary modified version of your own work”. Here, the word “free” means freedom and permissions, not free as in “for no money”

More importantly, talking about using the existing IDE or part of its code, the GPL license states quite clearly that you can modify the software and use it personally or within your organisation without releasing the source code for it to the general public. However, if you release a modified version to the public, you must make the modified source code available to the public under the same GPL license.

You can read in detail about the GPL license terms and implications here :
You can also read a summary of its implications here :


Arduino Firmware :

There is code written in C / C++ running on the micro-controllers on your Arduino board. This code is licensed under the GNU Lesser General Public License (LGPL). This license is more permissive than the GPL, and one important freedom it gives is the freedom to use the code even in proprietary software released to the public, without requiring the source code to be released to the public.

Arduino Libraries :

The Arduino IDE comes bundled with a lot of different libraries, many of which you can see via the Examples in the IDE, and there are tons of other libraries out there as well. All these libraries are explicitly licensed by their creators, so it is important to check their licensing terms when using them in publicly released commercial projects.
Most of them are generally licensed under the BSD or MIT license, but this might vary. The MIT license is highly permissive, and it allows you to “use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software”, without restrictions, except that you include a clause that waives warranty and responsibility of the creators for anyone’s usage. The BSD license is very similar to the MIT license.

You can read about the BSD license here :
and the MIT license here :

User code :

You are free to license your code under the terms that best suit you, subject to the license terms of any libraries that you might be using. So, for example, if you
write code that is completely your own or if it includes a library under the MIT license, you can license the resulting project under whatever licenses you feel fit, provided you include a copy of those licenses when distributing.

Note : The above licenses and copyrights to the work are subject to fair dealing and fair use principles, and in those cases some clauses (or the entirety) of the above licenses may not apply. Copyright laws give some exclusivity rights to copyright holders, and fair use is a limitation and exception to those rights. Fair use, for example, allows for usage like reviewing, criticism, parody, research etc., which would otherwise not be permitted under copyright law without written permission of the copyright holder.

~ Ankit D