86 comments

[ 3.4 ms ] story [ 139 ms ] thread
I wasn't particularly surprised by this. I've got a copy of an unreleased "Arduino" product that was never going to be open source that I beta tested for them.

I suspect a large portion of the community is not averse to people supporting themselves on these sorts of projects and frankly, open source efforts do not seem to have a track record of supporting the people who support them.

Raspberry Pi has shown that you don't need to be open source to be well liked. But you need to be affordable. And thanks to their relationship with Broadcom and Broadcom being Broadcom there are no cheaper clone raspberry pi's out there.
Beagle was there first, but it didn't had a country education system sponsoring it.
The software isn't fully open-source either. Some components of the USB stack are licensed under ST's "Ultimate Liberty License" [1], which is clearly not open source:

> 5. No use, reproduction or redistribution of this software partially or totally may be done in any manner that would subject this software to any Open Source Terms...

In fact, I suspect that Arduino may be in violation of both this license and the GPL by linking the ULL licensed code with GPL-licensed Arduino code.

[1]: http://www.st.com/SLA0044

The end user does the linking and very likely never distributes a compiled binary to other parties so GPL doesn't take effect.
> ST's "Ultimate Liberty License"

Wow. That's a shocking level of assholery. It's effectively a BSD license with an added restriction which says it can't be licensed (e.g. as part of a combined work) under any open source license.

So it's an anti-open-source poison pill license under the guise of an "ultimate liberty" (??) license. It takes some insanity to freely license your software to your competitors to use in their closed-source products while explicitly adding a term to your license to prevent hobbyists from using it as open source software.

> In fact, I suspect that Arduino may be in violation of both this license and the GPL by linking the ULL licensed code with GPL-licensed Arduino code.

Yes, assuming that the FSF is correct that the GPL prohibits linking. IIRC GPL3 is clearer about this than GPL2.

> You may convey a work based on the Program, or the modifications to produce it from the Program ... provided that you also meet all of these conditions ... You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged.

https://www.gnu.org/licenses/gpl-3.0.en.html

Edit: I removed one claim about the license being self-contradictory. On closer inspection, it is clearly not an open source license, because it requires that the software only be used "solely and exclusively on or in combination with a microcontroller or microprocessor device manufactured by or for STMicroelectronics."

Question: are judges expected to solve Russell's paradox?

Because a "no open source" clause presents exactly that kind of paradox. Just try and answer me this: is the ULL an Open Source license?

If the ULL is an Open Source license (perhaps because it provides all the same freedoms as one), then you can't actually use those freedoms, because of the no-open-source clause... which makes it not an Open Source license.

If the ULL is NOT an Open Source license (perhaps because of the restriction against a field of endeavor), then the no-open-source clause does not trip... which means you have all the freedoms of an Open Source license. Which makes the ULL an Open Source license.

No clue if you could use this argument in court to invalidate the no-open-source clause.

Ha, yes, that's what I thought initially as well. I believe the only valid possibility would be that in claiming to apply the license to the work, ST has actually failed to apply the license to the work, so all purported licenses to the work were actually invalid. Similarly if I have a license text which simply says "you may do whatever you want with the work, except that you may not receive, use, or distribute the work under the terms of this license" that's just ... a failed license.

The problem is that the ULL is actually not an open source license anyway, and this became apparent when I gave it a closer reading:

> The recipient will not take any action that jeopardizes STMicroelectronics and its licensors' proprietary rights

This appears to make political lobbying to abolish intellectual property a violation of the terms of the license, putting it in probable violation of the OSI Definition item 5: "No Discrimination Against Persons or Groups"

> This software or any part thereof, including modifications and/or derivative works of this software, must be used and execute solely and exclusively on or in combination with a microcontroller or microprocessor device manufactured by or for STMicroelectronics.

This is a clear violation of the OSI Definition item 10: "License Must Be Technology-Neutral" and item 6: "No Discrimination Against Fields of Endeavor".

So unfortunately you don't get the fun paradox like I initially thought, because the license is clearly not an open source license even without the "no open source" clause.

Alright. I thought this was some weird/clever way to try and keep their software from being merged with other projects without introducing a new copyleft ala Sun/CDDL
Hah. That last part explains it all. Stuff like ST's official docs, IDE's and many libraries ware previously released under more permissive licenses. And then clones happened. For example GigaDevice ships the old ST IDE for their GD32 series of binary and peripheral compatible micros with essentially just ST's logos replaced by theirs. Licenses like ULL make it harder for players like GigaDevice to make software compatible clones not violate licenses if used with ST libs.
Did anyone notice or care that RPis aren't open source?
Not only does the RPi foundation not release any board files for the RPi (fine, whatever), their "abbreviated schematic" is insultingly sparse [0].

The processor, memory, microSD card socket, Wi-Fi chip, USB hub chip, and Ethernet controller chip are all missing. If all you can get out of it is the pinout of the HAT and video connectors, then why did they even bother?

[0] https://www.raspberrypi.org/documentation/hardware/raspberry...

On top of that, a hobbyist can't even buy the Raspberry Pi SoCs. It's complete vendor lock-in and a dead-end as far as I'm concerned.
Yes...? There is plenty about them that is not open source: hardware, drivers, etc. Even the Broadcom docs are typically only available under license.
The FSF has been on that case for a while now.

https://www.fsf.org/blogs/sysadmin/single-board-computer-gui...

> In many geeky circles, single-board computers are popular machines. SBCs come in small form factors and generally run GNU/Linux, but unfortunately, many boards like the popular Raspberry Pi are dependent on proprietary software to use. The Free Software Foundation maintains a list of system-on-chip families, sorted by their freedom status.

That's talking about software but I'm wondering about open source hardware. Is it even a good idea? It allows clones to suck out the money needed to design the next generation, and for what benefit?
Open-sourcing the Raspberry Pi hardware would simply be irrelevant. You can't purchase BCM283x series SoCs, nor the other Broadcom parts on the board, without a purchasing agreement with Broadcom.
And the agreement probably says you will not open source your hardware.
If that's the goal, why not publish full schematics under a non-commercial license? No, it wouldn't be "open source" according to OSI / FSF, but most people would be happier about it than the status quo.
I don't actually see anywhere that they claim to be open source?
"we want to prevent counterfeiters"

Hear that? Counterfeiters. As in: criminals. Very, very not open source.

Counterfeiters. As in, people who harm your reputation by using your name to sell inferior goods.

They send the design files to a dropshipping company, put up an Aliexpress listing claiming the goods are endorsed by Arduino, then collect money without actually having created any value (other than to connect a factory with no quality control to a user who thought they were getting a working chip).

This is about a flood of sellers illegally using their branding - too numerous to make chasing them individually accross jurisdictions.

Saying "Design files available on request" means they want some evidence you have a use in mind that isn't "make a buck ruining everyone elses day"

I’ve used somewhere between 75 and 125 “Arduinos” over the years in various projects and a device I sell in (obviously) low volume. All of the Chinese boards have worked fine for my purposes. Are they Arduinos? No. Do they work at 10-25% of the price? Yes.
Plenty of knock-offs are serviceable products. That doesn’t mean it’s okay to misrepresent the manufacturer of the product.
Most don't. They'll call themselves "Wingduino" or something like that, and advertise themselves openly as "Arduino Compatible".
Most don’t but I’ve seen some blatant offenders in my search results every time I’ve put in an order.
I'm curious about the product you sell.

Do you make it clear to your customers that you are selling a product that uses a cheap knock-off board?

I would hope the answer to that is 'yes' so I'm curious about what their reaction/responses have been?

Do the "Arduinos" you use in your device have any markings that are different from a genuine Arduino?

I sell a box that performs a task. (It's a slightly specialized OBD2/CANbus scanner that uses an AVR microcontroller.) So long as the box performs the task, it could have a woodpecker typing a picture onto a stone tablet for all the users care. If it doesn't perform the task, they'd rightly complain whether it was a Genuino, a Fakeaduino, a 6502, AVR, ESP32, or Core i7.

I do not advertise the device as containing any specific board and the vendor I buy from does not use the Arduino mark either. https://www.aliexpress.com/item/32799911396.html?spm=a2g0s.9...

Apart from the problem of claiming Arduino endorsement, they do add value:

they "make a buck" by organizing the production & sales of a product at a more competitive price. It puts an educational board in the hands of people that might not otherwise afford it: On small school budgets a STEM program might not be able to afford $20 for 500 students each year, while $5 is easier to manage. Or it might mean the program can afford both a cheap Arduino clone and cheap Pi Zeros to learn development at multiple levels and different languages.

It is absolutely possible to counterfeit open sourced designs. Copyrights and trademarks are entirely different types of IP.
Copyrights and trademarks are entirely different types of IP.

...therefore it's possible to infringe THE TRADEMARK with a counterfeit product.

There is no such thing as counterfeiting the open source design.

EDIT: I'll add examples, it might help with the downvotes I'm getting:

- an OEM can make exact copies of a truly OH board but sell it under a different name and brand. Trademark is safe and Open Source is working as intended.

- another OEM can make its own Arduino clone with a different PCB layout and slap the Arduino logo and name on it. Trademark is breached and openness is lost and this is already happening.

Sad, but at least The Big Ada could fight back by not selling the Pros until they become FOSH.
How's it sad? How does it affect you? They made it clear they want to protect customers from low quality clones
In my experience, "low quality clones" means "clones that work perfectly well but don't bring in any of the money we spent on R&D", which is fair.
Usually they work just fine, and at home, I buy knockoffs for my hobbyist projects.

At work? Only name-brand stuff. A consistent product and process is more important than saving a couple bucks.

It's ironic because Arduino is all about FOSH, except for the one thing that might actually get used in the "real world."
Clarification, about mid-page.

"... At least for an initial period, we want to prevent counterfeiters from blindly downloading a file and manufacturing it without any R&D effort or contribution to the community, because the result of that will be tens or hundreds of low-quality clones which do not have nearly the quality of ours, and no benefit for the community. ..."

"... This is why for them we chose the same approach as Raspberry Pi: we publish schematics so that anyone can learn from them, and we keep the entire software stack completely open source. But at least for now, Altium files are available only upon request so that we can check whether someone can actually manufacture them with the required quality. ..."

"Alessandro Ranellucci Head of Maker Business, Open Source & Community ARDUINO.CC"

Aside the unfortunate comparison with the Raspberry PI approach (the RPi uses binary blobs, therefore is not open), it seems the case is closed: at least initially, hackers will have all necessary information minus what is often being used only by clone builders, namely CAD files. Schematics are open and software is open; building clones is still possible for users but less convenient for companies.

Meanwhile, ST publishes full schematics and CAD files for all of their development boards, e.g.

https://www.st.com/en/evaluation-tools/stm32h747i-disco.html...

They aren't freely licensed, to be fair, but at least they're published! And, in practice, ST won't mind if you refer to their reference boards while designing your own hardware; that's what they're for, after all.

It's different as ST is a chip manufacturer. If you make clones, chances are they'll only work with their chips, so you end up ordering from them anyway. Win-win. Boards could have an open license though.
> building clones is still possible for users but less convenient for companies.

That's a pretty charitable way to phrase it. I would think companies looking to make clones have the expertise and can afford to take the effort to recreate the PCB layouts from the schematics, but normal users are denied the opportunity to learn from it.

It's a small roadblock to commercial clones, but a complex gate to the average user looking to learn.

As I said, schematics is all you need. And making your own layout makes you learn. Just copying blindly does not help. And there are a lot of scammers who will take your design and compete with you so let them do some work.
Oh come now, you can't just "learn by doing" when it comes to circuit layout, when you have no idea what will and won't work. Especially with modern high frequency circuits that have a lot more challenges due to cross signaling and propagation delays.

Sure copying blindly doesn't help, but neither does shooting int he dark. Having reference layouts that actually work however can be a useful learning resource and starting point to work from if you want to do something similar but slightly different.

When I was in school doing electronics late 80's, that was the way to go.

So 80's high school students were able to do it, but average users are not?

Then you surely remember how important layout is for cross signaling, high frequency and and and. All this will be missing from the schematic.
No one said it was an hello world effort.
When I was in high school we wrote our own code. So I guess we can stop doing open source as well right?
So now you turned into a manager and are delegating coding tasks to others?

When GPL fades away, the new wave of shareware and public domain will rule again anyway, now we call it copyleft.

True, however they're not aiming at big industry but cheap asian cloners. Forcing them to hire someone to produce complete layouts would have some impact on the final costs of otherwise very cheap boards.
In other words: "the Chinese are driving us out of business with their 3 nano's for 5 bucks".
Most of the Arduino Nano clones on the market have already been substantially or completely redesigned. It's a pretty trivial board, in all honesty; given the desired pinout and dimensions, a skilled designer could probably turn out a Nano clone in a day or so.

The Arduino Pro board in question here is substantially more complicated, but I wouldn't call it particularly innovative either.

yup, but the official nano is 20eur + tax +shipping,... so yeah... sadly, if you're just a kid who wants to learn electronics (=if you dont have a large hardware budget), buying 3 nanos, frying one, half-soldering the other, and actually using the third is still the best option.
There's that, but there's also people doing a better job of keeping hobbyists happy, without going bargain basement. Teensy, for example, has what I think is a better product at a better price. Also ESP32.
Is there something to read that gives some context to "Arduino Pro"? I read Arduino's page on it, but something about it still isn't clicking for me. What is it? Why is it?

https://www.arduino.cc/pro/why-pro

Based on some comments from the Arduino co-founder [1], their Pro boards are "designed to be embedded in industrial equipment, robots etc". I'm not sure anyone in industry takes that seriously, though.

[1]: https://www.reddit.com/r/electronics/comments/neh8o9/done_as...

So more like competing with a PLC? It would need to go a lot further than a be a tiny PCB.

I see all sorts of cheap MCUs used by engineers in industry for non-industrial environments. I guess they're targeting this market, but considering they have been getting by with hobbyist hardware I want to know what makes this new product more valuable.

Agreed. As an "industrial" or "robotics" product it's half-baked at best; simply using components which are rated for the industrial temperature range (-40 to 85°C) is hardly enough to target that market.
If you're shocked by this, you would be appalled at the state of Open Source Hardware.

I've gone over the OSHWA Certified Project list [1], go into the repos, and actually take a look at what these projects offer. The _majority_ of projects only include a schematic PDF, which by OP's own assertion is not Open Source. If you find some mechanical bits of projects, you'll find some Solidworks files, too -- good luck opening that without calling a Dassault sales rep. And of course there are the projects where the links to project files are just dead. Only about 50% of OSHWA-certified are editable in any software.

Unsurprisingly, one of the best contributors to OSHWA-certified projects is Adafruit, with Sparkfun close behind. Everything is just there (needs a bit more organization, imho), sitting in a Github. Almost everything is in Eagle, though, which is non-free and sure to annoy some Open Source advocates.

There are a few theories on why this is, most notably that 'Open Source' is a replacement for the cost sink of producing real documentation. The fact that companies (Adafruit and Sparkfun) are the largest contributors of OSHWA certified hardware supports this.

[1] https://certification.oshwa.org/list.html

IMO: schematics are fine. You're unlikely to use the same CAD software they did anyway.

This feels a bit like complaining about some company publishing the source for their MSVC++ win32 app.

> You're unlikely to use the same CAD software they did anyway.

Why?

But either way, it is much easier to convert from one CAD format to another then to convert PDF to CAD.

Meh. Tracing over drawings isn't that bad.
I guess the art of PCB pens, chemical baths and board baking is a forgotten science.
Schematics only contain a fraction of the information required to reproduce a design. It's like releasing a UML diagram of an app and calling it "open source."

It doesn't matter if you use the same CAD tool or not, there are a variety of utilities for converting the design files. What matters is if you can reproduce and modify the design. That's simply not possible without the complete design files.

You don't release the artifacts of your compiled code and call it open source. You release all the source required to generate those artifacts. Anything short of that is not open and fundamentally mistakes what it means for something to be "open source."

> Schematics only contain a fraction of the information required to reproduce a design. It's like releasing a UML diagram of an app and calling it "open source."

A good schematics is all you need. (it must have components values). The rest (layout, analysis) you can do it yourself.

> It doesn't matter if you use the same CAD tool or not, there are a variety of utilities for converting the design files. What matters is if you can reproduce and modify the design. That's simply not possible without the complete design files.

Well, it's a bit different from SW. Schematics is some kind of source code and the layout is a kind of compiled code. Different layouters will produce different layouts.

And when you modify the design you have to redo the circuit analysis and , maybe, the layout .

> You don't release the artifacts of your compiled code and call it open source. You release all the source required to generate those artifacts. Anything short of that is not open and fundamentally mistakes what it means for something to be "open source."

You release only your program, not the whole OS. Somedy who wants to "reproduce your design" still needs a compiler and an OS to run it.( and depending on the conpiler it may obtain different results :) )

The "layout you can just do yourself" IMHO very much depends. For simple circuits, yes, for anything involving antennas, high-frequency signals, ... not. And as far as there are standards defining what Open Hardware is, they all consider design to be part of it.
I disagree, schematics are a form of documentation. They are not a design and they are incredibly leaky.

As an example, it's common to group all the bypass caps together in a schematic. This doesn't reflect the reality that those bypass caps need to be physically close to the power pins on specific components. The value is not sufficient to reflect their use.

It's no different from software engineering, the schematic is not the source code. It's a block diagram describing how the source works.

Not at all:

Open Source is when you can compile the provided project given the right tools.

From a Schematic alone you can't send the board to production. You'll need the BOM and the Layout for that.

Also OS encourage patch and contribution, without the layout you can just re-design the entire board from scratch, not doing incremental improvements on the OS version.

> There are a few theories on why this is, most notably that 'Open Source' is a replacement for the cost sink of producing real documentation.

This applies to Open Source software just as well. Why rely on documentation when you have the actual code?

I don't quite understand why some are riled up for this? It's a single product line(for now a single product). It's understandable an industrial control board warrants the extra QA, manufacturing and layout quality. In their shoes I would also ask the Chinese: "Hey can you design your own layout, with it's own branding and name?"
It’s not really an “industrial control” device. By brief inspection, it’s a BGA SoC breakout with 1.8V or 3.3V logic levels, directly from the SoC to the outside world.

An industrial device like a PLC would have galvanically isolated 24VDC digital inputs, 0-10V and 4-20mA galvanically isolated analog I/Os and galvanically isolated, short-circuit tolerant 24V high-side driver outputs, a case with a DIN mount and screw terminals.

This device is no more “industrial” than any other SoC.

SoCs won't be free until we can make them ourselves. Seize the means of production! (by working with people democratizing chip fab)
It is also interesting that at some point, quietly, the Arduino engineers have quietly switched from Eagle to Altium.

People may complain Eagle is not Free software, but at least it has a free-beer license available to view and edit the files for noncommercial use, and it runs perfectly on Linux and MacOS.

It is also pretty awful though. I can't blame them for switching. Especially for something with WiFi and USB 3. If be very surprised if Eagle is good enough for that.
Let me guess, it's because mass surveillance is in hardware/cpu level.
This would confuse users and prevent these products from being successful

It certainly didn't hurt the original. I think I've come across articles about the Arduino folks not being happy that cheaper clones took away their sales on such a popular product. Going closed source in response to that seems to ignore the fact they were only as successful as they were due to getting more traction in the community with an OSHW design.

A solid half of my income comes from an OSHW project I started 6 years ago back when I was a student [1].

While my product hasn't been knocked off* (I suspect the fact that I made the product affordable and provide good service and logistics to often-ignored markets such as Russia, China and South America is a big part of this), I can understand exactly how this can be financially devastating to a larger organisation like theirs.

I would estimate a solid 90%+ of Arduinos out there to be clones (almost 100% outside of the EU/US markets), and the lost revenue from these clones does nothing but limit their ability to do proper QA and R&D. (Yes, one clone purchased doesn't equal one lost sale of the genuine article, but it is higher than zero.)

All that said, I would be surprised if this didn't backfire. The guys in Shenzhen will take all of a week to reverse engineer a fully working clone of this, Altium files or not. Meanwhile, the genuine, paying customers will be angered by Arduino's decision and it will hurt the brand overall.

As Gabe Newell quipped 10 years ago, piracy is a service problem. It can only be solved through better service and delivery/logistics.

[1] https://espotek.com/labrador/

* It has been cloned non-commercially, both by a student in Iran and a retired engineer from India. Both were very graciuous and I was happy to help them.

Regarding your Labrador: is there a way to get the power supply to output from say 0-5v and 10-999 mA?

As someone getting slowly into a bit of hardware as a hobby, this has been a pain point for me (but also could easily be me just not knowing where to look, so please forgive the naivety!)

>is there a way to get the power supply to output from say 0-5v and 10-999 mA

Unfortunately not. There's a 3.3V output pin (on the left hand side here: https://github.com/EspoTek/Labrador/wiki/Pinout) but that's it.

It's physically impossible to get lower voltages than that out, as the power supply subsystem consists of a boost converter attached to the USB +5V rail.

That said, you can get pretty decent benchtop power supplies from AliExpress or eBay for under $50 - they're much more capable than Labrador's circuit (which is sadly limited by USB's paltry 2.5W output power plus a relatively inefficient boost converter).

Why does Arduino fear that cheap clones from Shenzhen will supposedly destroy their business model if full design files are released, but Adafruit (for example) does just fine?

Maybe Arduino needs to focus on good engineering, better value for money, good support and documentation, good user experience, losing the terrible slow bloated “IDE” which lacks any real IDE features, make something like a VSCode plugin which is much faster and built on a real IDE, and focus on bringing down their uncompetitive high hardware prices.

It seems like they are trying to protect the arduino pro brand. That makes sense.

Trademark is designed for that. Everything else can be open source. Clones won't be able to say they are arduino pro.