Hacker News new | ask | show | jobs
by pinkythepig 3405 days ago
Closed source is what is unique.

I can tear apart any engine to understand how it works.

I can rip out the bathroom in my house and install a totally new one.

With closed source, I can't just rip out component X and replace it with component Y. I can't read the binary to understand how it works (Technically I could, but I mean that with modern languages, the assembly looks massively different from the original source).

3 comments

You can tear it apart and understands how the mechanism work but you don't have the million details about the manufacturing process, precise drawings with tolerances, material composition, etc.
I'd say that analyzing a finished mechanical device is similar to examining disassemblies and hex dumps of program files. You're missing information on the manufacturing process, allowable part tolerances, and so on, that the original manufacturers have access to.
Once you have the asm of a program, you have 100% knowledge of it if you put the time in to learn& follow the assembly. Sure, it's not as easy as looking at the source, but you have the capability of fully understanding the program.

With a mechanical device, you don't know the dimensions on press fits, you don't know what the aluminum was heat treated to, you don't know the silica to aluminum ratio and how that affects thermal expansion, you don't know what lubricant was used, you don't know what blend the fiberglass insulation is, the list goes on and on. It's not possible to obtain 100% knowledge without the drawings. At best, you make assumptions about material processes, what a reasonable press fit would be, occasionally you can spark test to make a guess at material composition, etc.

There isn't a "holy grail" (1) mechanical equivalent to a hexdump where if you grind at it long enough you achieve 100% knowledge.

(1) Obtaining a complete set of original drawings is, but unlike a hexdump, you can't get the drawings from the finished product.

> Once you have the asm of a program, you have 100% knowledge of it if you put the time in to learn& follow the assembly.

You have all of the "what" (in an inconvenient format that will need tremendous effort to be useful for most things), but you're mostly guessing on the "why". Tons of information is discarded, and can't be retrieved. Just guessed at. This puts a good bit of distance between what you have access to in the theoretical sense and how useful it is in the practical sense.

Disassembling an engine to learn how it works is like the literal disassembling of a closed source binary to learn how it works.