5 ms·
I think it's a very interesting question! Sometimes it feels like it makes sense to keep some software proprietary (e.g. the algorithms running in a Garmin wat
by palata 2y ago
I think it's a very interesting question!
Sometimes it feels like it makes sense to keep some software proprietary (e.g. the algorithms running in a Garmin watch have a lot of value, customers don't just buy the hardware).
Other times it feels like it really doesn't. I often give the example of Marshall smart speakers: the software seems to be very bad, it's never updated but it's connected to the internet, and the UX is not pleasing me. But initially I bought it for the hardware: it looks nice, and the sound is nice.
In my opinion, when I buy hardware as a customer, I should have the right (and be given the tools) to interface with that hardware. So there should be some open source firmware that gives me reasonable access to the hardware I bought. In other words I should be able, legally and without impossible reverse engineering, to write my own system for hardware I buy.
If I managed to write software that competed with Garmin on their own watches, so be it. That's fair competition (and that's probably super hard to do). The fact that Marshall can push me towards throwing away my perfectly fine hardware because they abandoned the bad software they once pushed on it is not fine. And it encourages companies to invent subscription models where my perfectly fine hardware becomes unusable if I stop paying them even though I don't want or need their updates.
So somehow I think there is a middle ground that would help making products better and hardware more sustainable, and we are not there yet.
- stego-tech 2y agoThis is the same sort of middle-ground I increasingly find myself advocating for, with one caveat: once something is no longer being manufactured (hardware) or sold and supported (software), it should be entirely open sourced by law. After all, why shouldn’t (as a random example) the iPhone 4 be FOSS hardware and software in 2024? It’s perfectly usable if a bit sluggish by modern standards, could reduce eWaste (albeit by a small amount), and gives customers control over what they purchase. There’s also the additional disincentive to companies in the yearly release cadence or ending support too early just to drive sales. I look back at the mounds of perfectly functional hardware amassed over my life, hobbled or bricked solely by software a vendor refuses to fix or otherwise allow end users to repair themselves. A Wii U with bad flash, an Xbox with a corrupted bootloader, a smart TV with a bad OS that crashes the display, a universal remote no longer supported by its manufacturer with new codes or firmware. All of these should’ve been unshackled the moment their manufacturers abandoned them, so that their owners can fix and support them indefinitely if they so choose.
- hansvm 2y agoMy initial counterargument was going to bring up that Garmin example GP added, since largely the same valuable code is likely shared across many devices. Reflecting further though, the harm of a manufacturer crippling a physical device does seem worth guarding against regardless, and if the code is really that valuable then such a law might encourage longer support lifetimes (or, at the very least, not crippling a perfectly good piece of hardware).
- juicypt 2y agoI think there's a reasonable middle ground here. I would think it's fine for them to keep their algorithms closed-source, but be required to opensource the minimum amount of firmware to allow access to all of the hardware: bootloader, CPU, storage, memory, display, and sensors. No need to reveal any trade secrets at all. The above stuff is not the secret sauce that makes people buy their watches anyway: they use some of the most basic hardware in the market at their price point.
- palata 2y agoThis is exactly what I meant. I don't want Garmin to give me access to their algorithms. I want to have a way to flash a minimal system on it if I want to play with it. For something like Marshall smart speakers, it may end up making those products actually good: I could totally imagine an open source system for smart speakers. And that would be infinitely better than the crap Marshall put on the one I own. It works well for routers: on many routers you can install openwrt or opnsense.
- kube-system 2y ago> once something is no longer being manufactured (hardware) or sold and supported (software), it should be entirely open sourced by law. There are a lot of practical barriers to this being that simple. A couple of common examples: 1. Third-party dependencies are a thing. Many pieces of hardware or software contain pieces of other hardware and software from other organizations, and the end vendor may frequently not even have the right themselves to open source them. 2. Many products are abandoned when businesses fail, in which case, there may be no staff to open-source them.
- Aurornis 2y ago> If I managed to write software that competed with Garmin on their own watches, so be it. That's fair competition I worked on a line of products that allowed user modifications of the software. We didn’t explicitly endorse it, but we also had instructions on the website for how to get into the hardware and we designed it so users could modify things and persist their changes. It was fun to see what people did with the hardware, but the volume of support requests was also out of control after a while. Companies wouldn’t actually care if you created alternate software for something like a watch if there was no downside to them. It would sell more hardware to people who wanted to customize. The problem comes later, when many people casually modify their devices and then expect original customer service to get it back to the original state. You can try to place rules on customer support, but customers will lie through their teeth to customer support if they think it will get them what they want. We would get people demanding RMA replacements because their device “mysteriously” stopped working, then when engineering did random sampling of RMAs we would find that they had modified the software and didn’t know they could hard reset it. It’s a real problem. HN imagines the average person who modifies hardware to be highly knowledgeable and self sufficient. In the real world it’s usually someone following an outdated guide online where they copy and paste different commands until something works. Those same people are the first to try to return the product or request customer support when it doesn’t work perfectly. Prusa (IIRC) had an interesting solution where you had to break off a physical piece to void your warranty in order to try different firmware. People were up in arms about it, but I think it was the smartest way to handle this conundrum.
- brk 2y agoThis is very accurate. Most of the time the motivation behind restrictions and not releasing code is rooted in support costs. People can and will break things inadvertently, but they won't like that and will then go the route of requesting support, RMAs, etc. Additionally in some cases those people that developed random customizations will release them, and now other users will install or use them, and if an issue crops up, the support costs are now exponentially worse.
- AnthonyMouse 2y ago
- joshuaissac 2y agoOne approach might be to see if the software can be replaced with an open-source alternative that allows an equivalent level of access to the hardware functionality, with official support for performing such a replacement (though not necessarily for the replacement software itself). If so, then the manufacturer need not provide the source code. Whereas if there is no supported way of replacing the software with an open-source alternative, then compel the manufacturer to make the software available. Under this system, Garmin could keep their software closed-source as long as they provide a way to replace the firmware and software with an open-source alternative that can use all of the hardware features, while not necessarily having the software features.
- palata 2y agoYes, that's exactly what I meant! Also I don't really care about having the source code of the firmware if I have an API to access it. If I own Qualcomm hardware, I should not need a damn NDA to flash something on it.
- AnthonyMouse 2y ago> Sometimes it feels like it makes sense to keep some software proprietary (e.g. the algorithms running in a Garmin watch have a lot of value, customers don't just buy the hardware). The trouble with this is that it doesn't really work. A normal user of the watch is probably not going to reverse engineer the binary but a competitor will, so concealing the source code is hurting the customers more than the competition. Not only that, it hurts you more than it hurts competitors. If you publish the source code then customers make improvements to it and fix bugs. But it's still firmware, i.e. specific to the device, so you get the benefit of that rather than competitors. Customers contribute fixes so you need fewer developers yourself or your developers can spend more time adding features that make sales.
- necovek 2y agoAny larger competitor would surely discourage disassembling a competitor's code because mere exposure to it might make you liable to lawsuits if you develop similar features (and you can't trust that the fact you did it won't leak out).
- AnthonyMouse 2y agoIsn't this the argument for releasing the source code? Looking at the code would be as bad as disassembling it. You can release source code under a license that gives customers the right to modify it and distribute patches to your other customers who have the license that came with their hardware without giving competitors the right to ship it on their own hardware without paying you.
- necovek 2y agoSure, and some companies strongly discourage looking over other open source code for exactly that reason. But companies don't release their source code mostly for a different reason: they honestly believe that this is where their value is, or they believe support costs would outweight any benefits. For some, it's true, but for most, it's utterly false (or there is a tiny little bit of code somewhere that is valuable, with all the rest being boring code that nobody else could put to use).
- kuschku 2y ago> the algorithms running in a Garmin watch have a lot of value, customers don't just buy the hardware Algorithms are not subject to copyright. The law has already made a decision on this.
- jazzyjackson 2y agoGood reason to keep them a secret then
- bombcar 2y agoYou can remove some of that by making the "open platform" happen after a certain date (e.g, when the warranty has already expired).
- axus 2y agoManufacturers should not be mandated to spend extra money to support our hacking, but spending money/effort/lawyers to prevent that hacking could be prohibited.