top | item 46609492

When hardware goes end-of-life, companies need to open-source the software

403 points| Marciplan | 1 month ago |marcia.no

133 comments

order

abetusk|1 month ago

Do you know what the single, most effective way to ensure end-of-life projects open sources the software and hardware? It's if it's *open source*.

Not assurances that if they meet their funding goal they'll open source. Not a pinky promise to open source in the future. Not magnanimous decision by upper management to open source if the business fails.

It's open sourcing from the outset so that people who invest in their technology can be assured they've fulfilled their promise to the community.

Pay for products that produce open source software and hardware. Pay artists that put out libre/free work. Demand projects that ask for money and "will open source in the future" open source now before taking your money.

In my view, finger wagging at corporate entities not open sourcing their products after end-of-life amounts to posturing.

BrtByte|1 month ago

At the same time, consumer hardware isn't a niche hobby market

goku12|1 month ago

> Pay for products that produce open source software and hardware. Pay artists that put out libre/free work. Demand projects that ask for money and "will open source in the future" open source now before taking your money.

This is the most important part. The markets can be shifted in our favor if the consumers unite and vote with our wallets. Even the biggest MNCs can't resist the demands by a united consumer front. Well known brands have been disappeared after they offended their customer base.

This is very difficult in practice, but not impossible. It will need a cultural shift among consumers and that will need a lot of grassroots work by a group of dedicated individuals. But it has been done before - for example, consider the role FSF played in making free software so common. To begin with, consumers have to be taught to believe in and rely on our collective bargaining power, instead of reluctantly accepting exploitative corporate bs. The next will be to take smart decisions on each product. Obviously, only a small group within the society would know what is harmful and what we really need. We should develop a culture where the concerns and recommendations of the subject experts are quickly disseminated among the larger consumer community.

I know the above sounds too ambitious. But it's not nearly the hardest goal anyone has achieved through sheer will. Whenever I raise this point in relation to any specific topic on HN, someone always replies with a cynical, dismissive and defeatist take, often arguing that the consumer-hostile product has the 'market demand'. They rarely address the market manipulation that the manufacturers resort to, and the fact that those poor product choices are the result of missing consumer vigilance. Besides it's easy to sound smart by scoffing at someone else's suggestions. But it takes hard work to make a positive impact on society with an original idea.

CivBase|1 month ago

In most cases the market rewards closed source. You can't reasonably expect that to change by pressuring consumers. We need regulation here.

kogepathic|1 month ago

> What I am asking for: publish a basic GitHub repo with the hardware specs and connection protocols. Let the community build their own apps on top of it.

This concept works fine for the author's example of a kitchen scale, but fails when the device in question is something like a router that has secure boot with one key burned into e-fuses.

In that case we need both open software and a requirement that the manufacturer escrow signing keys with someone so that after EOL any software can be run.

Aurornis|1 month ago

Forcing the release of signing keys would be a security disaster. The first person to grab the expired domain for the auto update server for a IoT device now gets a free botnet.

The only real way to make devices securely re-usable with custom firmware requires some explicit steps and action to signal that the user wants to run 3rd-party firmware: A specific button press sequence is enough. You need to require the user to do something explicit to acknowledge that 3rd-party software is being installed, though.

Forcing vendors to release their security mechanisms to the public and allow anyone to sign firmware as the company is not what you want, though.

realusername|1 month ago

Locked bootloader should just be competely forbidden, even for brand new devices. Hardware and phone owners have the right to make any change they see fit on their device, no matter if the manufacturer thinks it's ok or not.

BrtByte|1 month ago

I think that's a fair distinction, and it highlights that "just publish the protocol" isn't sufficient for every class of device

razighter777|1 month ago

How about just allowing key enrollment with a physical button?

palata|1 month ago

I totally agree with the frustration of having hardware I would like to keep using but can't because it got EOL. Like a smart speaker or something.

But I don't know if there is a pragmatic way to approach that. I mean, I could also say "it should be illegal to produce e-waste", but what does that mean and how do we actually do it?

cogman10|1 month ago

If you aren't looking at capturing 100% ewaste, then simple laws around liability and penalties for reduced functionality is all you'd need.

Simple things like "if an electronic device, through no fault of the owner, can no longer perform it's main function, then the owner is due a full refund. A company may escape the refund by placing all software required to run the product in the public domain."

It'd miss cases like fly by night companies, but you could catch big players like google disabling their thermostats for non-hardware reasons.

hsbauauvhabzb|1 month ago

Where does it end, should EOL windows be open sourced because some software/games/hardware do not work on newer windows versions?

Open source windows 10 would cannibalise Microsoft’s long term objectives.

herf|1 month ago

Most systems now "fail closed" because they are based on a code signing chain of trust that has no exceptions. It would be better if some portion of these systems were made to "fail open" - you don't want a botnet to take over in this situation but you should be able to delegate code signing duties to a new party when the original one goes under or stops supporting a device.

protocolture|1 month ago

I actually think this is a great idea. Not even for "Open Source".

Can you imagine if UBNT had to open source its EOL boot chain, so that Cambium was legally entitled to roll its firmware for old Unifi kit? And Vice Versa?

The result might not be "Old hardware supported by the community" the result might be "Eternal product updates so we can legally prevent Cambium from taking our customers"

bigfatkitten|1 month ago

Open source isn’t going to happen on any real scale, because pretty much any non-trivial commercial product is going to have a ton of third party IP that the manufacturer has no right to give you.

What manufacturers should be required to do, at a minimum, is remove any impediment to you running whatever alternative software you choose.

SchemaLoad|1 month ago

It's the bare minimum but not good enough imo. If your smart home products rely on an external server which no longer exists, the average person will never install a 3rd party firmware and self host the servers. They will just throw it in the bin.

Ideally we should just be designing products so they don't have external dependencies. A smart speaker should be able to stream over the local network on a standard protocol which doesn't rely on an external server existing. A lightbulb should be able to be paired using a generic standard without running through the OEMs servers.

Thankfully for some devices this does seem to be the trend. Matter over Thread smart devices are not dependent on proprietary hubs, apps, or external servers.

Aurornis|1 month ago

> Now, I'm not asking companies to open-source their entire codebase. That's unrealistic when an app is tied to a larger platform. What I am asking for: publish a basic GitHub repo with the hardware specs and connection protocols. Let the community build their own apps on top of it.

The actual proposal in this blog doesn’t make much sense. Having the specs of a device isn’t going to change much because they can be determined by anyone examining the PCB. Most devices don’t have a simple connection protocol, like the Spotify Car Thing used as an example.

palata|1 month ago

I understand the idea as "provide what is necessary for someone to reuse the hardware". Just the bare minimum, like how to flash a firmware and a minimal firmware.

Now for many products, nobody would spend the time needed to make it actually work, but for some it may be nice.

But I agree that it is more complicated than it seems, and realistically that would be on a case by case basis.

torginus|1 month ago

I think we are in a middle of a dark age.

I was just playing around with home automation, and I have built quite a few custom devices over the past few months.

Just to illustrate what I mean:

I have an old furnace - it's interface is literally: pull this pin down to ground and the furnace starts up. It's incredibly easy to work with. Later furnaces from this manufacturer have some proprietary protocol that seems very difficult to interface with, from what I gathered from the internet.

But, even yet more modern versions support the standardized OpenTherm protocol and is very hackable again.

Something else: Hardware tends to be amortized away into a commodity. A ton of modern devices essentially run on ESP32s, raspberry Pis (or some other open SoC) or smartphone hardware with Android.

I (and others have) just started hacking around with an ESP32-S3 based HMI - it's and LCD screen married to and ESP32-S3, integrated into a very nice case with a small touch screen panel. I was able to whip up a custom professional looking GUI in a couple weekends and integrate it into my (fully local, open source, HA-based) home automation system. It runs ESPHome and uses LVGL to draw the UI.

I've had friends over and they remarked about how nice it looked, and asked about the brand and were suprised when I told them I hacked it together. It looks good enough that you could sell it and works very well.

PeterStuer|1 month ago

The article calls for releasing and unlocking the api to the device, not for releasing all it's code as OS as the title seemd to suggest.

This is more achievable as code itself is often shared across multiple devices, some not EOL, and often not even owned by the HW producer but licensed under non FOSS compatible terms.

developer786|1 month ago

A classic example of this is the Google Nest Learning Thermostats Version 1 and 2. With a decent bounty, these £220 ($400+) devices have been given a new lease of life by the team behind:

https://nolongerevil.com/

Repurposing bricked Nest Gen 1 & 2 thermostats with custom software. Giving old hardware new life through open source innovation. No Longer Evil is a right-to-repair firmware and cloud replacement for Nest Thermostats that frees your device from Google’s cloud dependency. By flashing custom firmware, your thermostat will operate independently and connect to No Longer Evil’s platform (or your own self-hosted server), giving you complete control over your device data and settings.

burnt-resistor|1 month ago

Vintage hw is even harder to find drivers, BIOSs, SDKs, schematics, manuals, and such for because there's no assurance of proper archival. This is almost always seen whenever downloads were hidden behind Flash, CGI, JS, or other dynamic / link-rotten URI or were on an ftp server which IA failed to mirror.

There must be international legal minimum standards of post-sales support and EOL archival caretaking to really reduce e-waste and allow things people paid for to endure rather than forced planned obsolescence like cloud-side or update-based bricking. The corrosive consumer mindset of "new, new, new"; fragile, undocumented, closed-source, short-life tech; and throwing away expensive things is absurd.

chasil|1 month ago

Phones that don't get updates for 12 months also should be required to unlock their bootloaders, so a 3rd party ROM can be installed, or at least Magisk can be loaded.

Mediatek devices are beyond hope, but some could be saved this way that are otherwise trash.

fsflover|1 month ago

This is why I chose a phone that can run mainline GNU/Linux by design, with lifetime updates.

lacker|1 month ago

In my experience, whenever you mandate open source software, you get software so unusable that it might as well be closed-source. Like, it doesn't compile, and they ignore all bug reports.

burnt-resistor|1 month ago

That's a chicken-little, FUD argument because if it were required by law, then everyone would have to do it and be held to the same standard.

wmf|1 month ago

Dumping responsibility on "the community" could backfire in a big way. It sounds good at small scale but it becomes a form of entitlement if the whole industry does it.

wang_li|1 month ago

It’s pointless anyway because there is always someone in the community who comes along and rips out support for old hardware. Because, you know, EOL, doesn’t matter that it’s a stationary target.

gregsadetsky|1 month ago

One great example/case for this would be Aura Frames (recommended to me by a few folks here when I posted an Ask HN) [0]

If the company disappears... what happens to the devices and the cloud storage?

I've been really enjoying the product (it's really well done, the mobile app works perfectly well) but it's a scary thought.

I also found this Reddit thread [1] with some language from the company supposedly saying they would do their best to launch alternative tooling if they disappeared, but I can't find this language anywhere else online.

[0] https://news.ycombinator.com/item?id=45341781

[1] https://www.reddit.com/r/homeautomation/comments/1b8vei3/wha...

baaron|1 month ago

I have had an itch to disect an Aura frame and do something akin to the Tonie Box jailbreak. But I am too afraid of being responsible for bricking our frame and I can't justify spending the money on one just for R&D.

hattmall|1 month ago

Probably be the same as the email addresses for the Kodak Pulse Frame, or Sony Dash, both really awesome products that the manufacturer just killed the backend services and bricked them to an extent.

vivzkestrel|1 month ago

- my opinion is going to sound very controversial here

- this also extends to software

- when it has been 25 yrs since a game has released, you are no longer making money from your game big time

- companies should be forced to open source their games at this point in time

- so that we can revive games that companies like ubisoft keep shutting down and removing from steam libraries completely

bruce511|1 month ago

This might be true for games, but its not universally true for software.

Clearly the Windows NT kernel is older than 25 years, and is still making money.

And it's not alone. My own company is still actively developing and selling a program first released in 1998. Even if we wanted to Open Source every build 25 years after it's release, it might be difficult to figure out how to store the code that long.

We originally backed up on tape. Good luck restoring that now. Then writable CDs; those have likely degraded (and we'd need to find an old CD Drive to read them.)

Even most hard drives of the era are no longer usable - MFM, SCSI ,ATA none of those interfaces exist, and drives were tiny. If you had to choose a media today, that you'd be confident would work in 25 years, what would you pick?

Sure, our active code survives because we simply clone the archive every time we replace the server, but we don't have a history if every build ever.

Seems like a million years ago I wrote some games. The source code is long gone. (Well it's on 5.25 floppy disks in my garage for 30 years, so functionally gone.) The compiler to make it is long gone. The OS and physical hardware is long gone (although emulators exist. ).

I'm sorry to say, but making laws for old software is basically pointless.

realusername|1 month ago

We can indeed see the benefit of releasing game source code with the old Mario and GTA recompilations.

drpixie|1 month ago

How about requiring all APIs to be open? Companies are free to run/maintain/drop servers and apps, but we'd have the ability to use the hardware we bought, if we write our own apps.

That might actually be good for security. If APIs must be public, proper cloud security becomes necessary (rather than relying on obscurity).

0xbadcafebee|1 month ago

One time I worked at a non-SV megacorp and they estimated the cost of open sourcing one project. It would've taken between 2 and 6 months and cost mid-six figures. Even if they wanted to pay for this when the product is about to be abandoned, they literally can't if they licensed some non-free IP.

fithisux|1 month ago

They should do it from the start.

JimDabell|1 month ago

A huge feature of copyright is that it is time-limited. When the copyright period expires, it passes into the public domain and belongs to everybody.

There are two major things that undermine this for software: copyright durations, and lack of source code. Software copyright durations should be at most a few years, and to be eligible for copyright, software should have its source code published or at minimum held in escrow, so that when the copyright expires it is still useful.

We already require patents to be published in exchange for the protection we give them; software copyright needs to be the same.

galangalalgol|1 month ago

Llms are getting quite good at decompiling things to idiomatic code. How much better do they have to get before open source is a moot point?

natas|1 month ago

"EOL hardware should mean open-source software"

It is if you buy carefully: I don't buy hardware that can't be used with linux or whatever I deem necessary. And then, there's the car...

fithisux|1 month ago

Should be a law. But also sell hardware with extensive documentation and if possible conform to a standard.

Moreover if the hardware is composite, that should apply to its components.

kakwa_|1 month ago

That's not enough by a long shot.

There are already plenty of devices, from old phones to vacuum robots, where we have that or near enough.

Technically, we know how we could maintain/re-flash these devices.

Yet, we don't. Why? lack of standardization, specially the boot process in non-x86 platforms.

Having to maintain per device images is not really practical at scale.

wilg|1 month ago

I think you should be allowed to stop supporting a hardware device without open sourcing the software, full stop. I just think that's the least bad option.

I'd be fine if manufacturers had to have some kind of standard "nutrition facts" label of what will happen to its functionality if support is ended.

Retr0id|1 month ago

> And here's the thing: with vibe-coding making development more accessible than ever, this isn't just for hardcore developers anymore. Regular users can actually tinker with this stuff now.

Have you tried pointing an LLM agent at a decompiled apk? It could probably write you protocol docs for it.

teo_zero|1 month ago

True, but most probably you wouldn't be legally allowed to redistribute your driver or software.

renewiltord|1 month ago

Browsed OP's website. Zero open-source content.

Browsed top commenters' site. Only outlier is abetusk here who has his hobbyist stuff available openly, but nothing professional.

I don't get it. Why don't any of you guys do the thing you want others to do? Be the change you want to see in the world.

seemaze|1 month ago

I disagree. The average consumer needs to be educated that if a remote server can brick a device you have already paid money for, you do not own it. It has been leased.

The economics of leasing vs buying are well understood by the general public. Allow them to make an honest decision at the time of purchase.

jen20|1 month ago

> The average consumer needs to be educated that if a remote server can brick a device you have already paid money for, you do not own it. It has been leased.

This isn't even the case: generally leased things have to work for some defined period of time ("the least period").

I also think a distinction should be drawn between things bricked because they require a server connection, vs devices bricked because the rightful owner has chosen to do so because they have been stolen.

teo_zero|1 month ago

Since the article is about open-sourcing the interface and not the software itself, why only when the product goes end of life?

Also, "end of life" is hard to define. Does it mean not being produced, ordered or sold? After how many days, months, etc.?

mc3301|1 month ago

I guess it depends? -Software updates no longer available -Customer support no longer exists -End of legal (or voluntary) obligations to stock replacement parts and offer repair services for the hardware

ktallett|1 month ago

This is where I hope EU do their magic

BrtByte|1 month ago

Nobody expects lifetime support, but killing basic functionality because an app backend or roadmap disappeared is hard to justify, especially when the device still works electrically and mechanically

ellisd|1 month ago

Dear EU Santa, please force Meta to open source the Facebook Portal as well so I can repurpose relatively decent hardware for something useful and fun, rather than e-waste.

robomartin|1 month ago

Nice concept, yet, this isn't realistic but for a few special cases.

In simple terms, if a company has a continuum of products of a certain category over time, the designs (hardware, software, manufacturing, testing, etc.) are typically evolutionary in nature.

This means that product B inherits from product A, C from B, etc. When product C goes to market, A and B might be EOL. Open sourcing anything related to product C means relinquishing their intellectual property.

Nobody in their right mind would do that unless a unique set of conditions are in place to have that make sense. In general terms, this does not happen.

walterbell|1 month ago

Is there an RSS feed?

Marciplan|1 month ago

Hey, thank you! I've just added it https://www.marcia.no/rss.xml (I'm only starting to write and forcing myself to write one article a day, so I'm afraid not every day will be worth your time)

shmerl|1 month ago

More like drivers should be open source to begin with.

skewbone|1 month ago

This would be fantastic. I'm trying to write an audio driver for my HT|Omega eClaro PCIe soundcard for Linux by leveraging kernel modules for cards with a similar BOM. It is mostly working, but the main hurdle is the inability to increase the volume to >= 50% of the volume in Windows. I'm setting attenuation correctly to the correct DAC registers and I can hear the opamp relay click on, but can't adjust the final gain. It sure would be great to have the Windows driver source. Worse yet, the company is unresponsive to my requests for any info (schematics, gain setting sequence, anything).

m463|1 month ago

I think bose did a wise thing with their speakers. Turns "company makes my purchase worthless" to "my purchase now has open source software".

...although it could be "no more product support, talk to random people on github"

actually, don't know why there couldn't be legislative or tax support for these kinds of things.

irjustin|1 month ago

> tax support for these kinds of things

What are you hoping for with tax support?

0xbadcafebee|1 month ago

Bose didn't open source anything, the stories' titles were false.

danr4|1 month ago

it won't happen. thankfully AI + Android makes it easy to reverse engineer protocols. APKs are hilariously informative. I'm working on my own app+server for the Limitless pendant i bought before the meta acquisition. didn't write a single line of code.

tonyhart7|1 month ago

if EOL hardware become open source and community can support it then community would extend that EOL product and making it extensively harder for older customer to buy new product

I love to see this future but knowing this, company would never do this

bsaul|1 month ago

funny how ideas are in the air. I had the exact same idea of having EU enforce that just 2 weeks ago.

j16sdiz|1 month ago

with most of the electric are just oem stuff from china, how are you going to enforce it?

userbinator|1 month ago

but because the app is no longer in development, it's essentially useless

the app used to store data for up to 5 users to keep track over time. I miss that!

What? Was it storing the data on a cloud server? In that case it's a different story, but a local app should continue working essentially indefinitely.

All this focus on source code is IMHO missing the point. RMS also missed this point when he started the GNU project. Source code is neither necessary nor sufficient for (legal) freedom. They just need to relinquish the copyright and release any keys and such getting in the way. Lots of examples otherwise --- I'll refer you to the cracking scene, game modding, etc.

In the physical world, products can be "EOL" for decades and the aftermarket will fill in the void if there is demand, often even when the original product is still in production. The original manufacturer never released blueprints and other comparable-to-source-code information; they just don't try to stop the aftermarket. Mid-century cars are a great example of this.

tl;dr: stop demanding source code, start demanding freedom.

drnick1|1 month ago

Instead of trying to regulate everything, perhaps it would be better if consumers educated themselves and did not buy devices that do not run locally using open protocols in the first place. For me, it's a hard requirement -- I will not buy a "smart" anything device that isn't supported offline by Home Assistant. This restricts my choice set, but so be it. Sometimes, it means doing more work. I won't buy a Ring camera, so I had to build my own system using generic RTSP cameras, some hard drives and a PC.

goku12|1 month ago

I'm pleasantly surprised to see this opinion gain popularity on HN. When I raise the same point, someone usually replies with a cynical and sometimes snarky dismissal. I just wrote a long rant about it [1] in support of somebody else who made the same point.

[1] https://news.ycombinator.com/item?id=46612531