Hacker News new | ask | show | jobs
by tormeh 4328 days ago
Is it open hardware if the ISA of the processor is not free (in both senses)? I think MIPS (which this uses) is free, but I see a lot of open hardware where I doubt the ISA, much less the architecture, is free.
1 comments

Generally in the "maker" community open hardware is based on layout and software level openeness. So board layouts are shared even if the internals are not.

This is what allows adruino to be open as they share layout files and software, but the Atmel AVR micro-controller they use does not have an open design.

It does get confusing since there are open hardware projects that go down to silicon, but for the most part that level of design is just beneath the concern of the people who want to internet enable their fridge or whatever. Just like most computers contain closed source code in the form of controllers and all but the most extreme open source types just don't care that they have a closed source USB controller.

The problem I often see with "open" devices like that is that they typically work with exactly one Linux kernel binary that shipped with the device. They usually don't work with upstream kernels.

Even if you can get original kernel source, it might not be trivial to get it to compile. Porting the required changes to a newer kernel once a security vulnerability was discovered can be very time consuming.

Well, my beef with it is that the proprietary blobs should be interchangeable, and that requires an open ISA, the silicone can be as proprietary as it wants, as long as the interface is open.
That would make any attempt at creating such a device very hard, if not futile, and not economical.

The ISA is just a small part of what's required. All the other interfaces are just as important such as pinouts, memory mappings, memory interface, bus support and so on.

There's very few SoCs from different vendors that are interchangeable even among the ones that uses an open ISA. This requires you to either build everyhing from scratch including the CPU, or to use more generic and perhaps interchangeable CPU or microcontrollers and rather push the special components to other chips instead of having those components on a SoC - which gains you nothing.

Meaning the value of using an open ISA is miniscule as long as the code is available and easily translated to another ISA by a compiler.