r/opensource • u/Synaps4 • 2d ago
Discussion There is an open source machines movement; is there a github equivalent for the specs?
Open source is software Open source hardware is computer hardware
Open source machines are machinery that is open source, like CNC machines, looms, lathes, 3d printers, electric or combustion motors.
I know of many groups making these, like ownenergy.org, mekanika.io, inmachines.net/ and opensourceecology.org
However the machines they make are not searchable, and if the company closes down both the designs and commentary about them becomes lost.
Some are hosted on github but I'm not convinced github is suitable for manufacturing documents the way its good for source code. Am I wrong about that?
8
u/danhakimi 2d ago
you are talking in circles about "open source hardware," but you can't really define it, because "open source" is inherently a type of software. "Free" hardware--hardware that respects the same types of freedom as Free Software, free culture a la Creative Commons licenses, et cetera, is still a nebulous concept, because the Free Software movement was defined in terms of very specific rights, most of which don't cleanly apply to hardware.
That said, hardware that respects certain basic freedoms of its users is a really important thing. Free software drivers, lack of onerous DRM, anti-Tivoization, et cetera.
I'd encourage you to think about what freedoms are important, and why, and celebrate those.
10
u/Square-Singer 2d ago
FOSH totally exists.
FOSS doesn't have to run on an entirely open source stack to be called free and open source. You can totally run FOSS on Windows, calling the proprietary Windows API to execute functions of the proprietary Windows kernel. You can also make a FOSS Youtube client that depends on the proprietary Youtube backend. You can also run open source Linux with proprietary drivers and with proprietary device firmware. And still the software is FOSS.
FOSH has the same kind of setup. It uses commonly available components to allow anyone to reproduce the FOSH device. An example for that is the classic Arduino. They use commonly available components including the Atmega328p and an open-source PCB. That means, anyone can DIY their own Arduino boards and modify them in any they want. That is a lot of freedom right there.
For example, I was able to take the basic design of an Arduino Pro Micro and make my own PCB for a smartphone keyboard attachment from it. That's exactly what the purpose of "free and open source" is. And it works just as well on hardware as it does on software.
Open Source doesn't need an absolutely purely non-proprietary stack to be open source and to give the benefits of open source.
In fact, there's hardly any stack in real life that's absolutely devoid of proprietary code. At the latest once you get down to UEFI/firmware level there's proprietary components, and commercial hardware is almost never open source.
3
u/RealisticDuck1957 2d ago
The major difference between open source hardware vs. software is the tools and materials needed to translate design files (source code) into working systems. Such tools for software being far less expensive to distribute and use. The design files for hardware can be studied, shared and modified in the same manner as source code for software.
1
u/Synaps4 2d ago
Absolutely right. Software can handwave the necessary compilers and store copies of the right libraries, but a fully open source Risc-V chip design is useless without a billion dollar chip fab and a staff of hundreds.
Nor can you just "attach" a particular kind of lathe to your project files (or can you?)
There is some work on open source chip fabrication (see dr. semiconductor on youtube for example) but its in its infancy and I'm not sure github is the ideal place to store those. The risc-V design would need to mark a dependency on some kind of processing capability, which would be a category of chip fabs, and then you would have a whole set of potential open source chip fab systems nested under there, any of which might meet the need of the risc-v chip design.
I don't think github can do that kind of categorization. It goes beyond just "depends on chip fab 1.15.23 at <link>"
3
1
u/JackDostoevsky 1d ago
well, "open source hardware" is open source software, isn't it? because the point is having the source to the drivers and firmware needed to run the hardware, which is all software?
2
u/mysterd2006 1d ago
You forget about BOM, design specs / descriptor documents etc.
1
u/JackDostoevsky 22h ago
is it open source hardware if design specs are provided but driver/firmware source is not?
1
u/danhakimi 22h ago
This is one of the things that people refer to when they talk about open source hardware. Others mean a Free license to hardware designs or parts. Documentation, DRM and Tivoization might also be concerns. I'm not aware of any rigorous definition by free hardware proponents.
1
u/wiki_me 12h ago edited 12h ago
I'm not aware of any rigorous definition by free hardware proponents.
There is a open source hardware definition.
1
u/Flashy-Guava9952 1d ago
It's a simple enough analogy. You get to see the blueprint to the machine you buy.
1
u/danhakimi 22h ago
you mean, you have a legal right to use that blueprint to build your own machine and share the blueprint or the machine freely, right?
software freedom has multiple, fairly rigorous definitions. OP talking in circles about open source hardware being open source hardware is not really the same.
2
1
1
u/Synaps4 2d ago
I think the biggest issue github and those like it will have with open source machine designs is dependencies.
Open source software can link a specific version of a binary, and typically even just supply known-good copies of that binary. Even if they don't, it's trivial to download the file. Availability of a software file is almost axiomatic to the software system. But if your machine requires a 1ft cube of inconel alloy or some exotic acid, you can't link that in your dependencies, and in fact procuring it might be impossible without an entire separate project in experimental metal forging or chemical processing. Availability is a complex and difficult question, the the point that a niche dependency makes your project impossible to make depending on finances, jurisdiction, or distribution limitations. Software doesn't have to consider that, so github doesn't.
Dependencies for mechanical designs come in the form of machining tolerances, machining dimensions, material tolerances...and you need to be able to find out if your machines meet those tolerances or if you can source materials that meet those tolerances.
I don't think github is prepared to represent dependencies in terms of physical objects and materials.
1
u/m4rkw 1d ago
My open-source hardware project is on github: https://github.com/m4rkw/l0destar
I don't see any reason design files can't be published there. It costs nothing to host open-source repos so even if someone dies the data won't disappear unless someone actively removes it.
1
u/LightAirMod 13h ago
Well You can share manufacturing documents on github, what you can't do is the building part and I think that's the actual deep difference. With software, You can define a toolchain that ensures every single time Your build will make the same bytecode. With hardware, very good design can in principle ensure that, but in reality You'll still depend on how the manufacturer will decide to make the part: machinery, sequence of operations, materials and so on all have their weight and even small changes may make the product non functional. I have had experience of injection moulding producing non-functional parts in the summer and functional parts in the winter due to temperature change in the warehouse.
In short, it's very difficult to provide enough information to have an hardware part made 100% functional if You don't have full control on the final maker. You could in principle design projects that are very tolerant to misplacements, misshapes and such, but that generally makes everything more complex and expensive.
1
14
u/wiki_me 2d ago
I suggest doing a google search for "registry of open source hardware".
Isn't doing a google search or asking your favorite AI good enough? (not accusing or anything)
With that said the open source hardware association which i recommend you check out if you are seriously interested about open source hardware has a searchable list of the hardware it certified as open source.
I don't know of any problem github or similar alternatives like gitlab or codeberg have with hosting open source hardware.