Hacker News new | ask | show | jobs
by steelframe 860 days ago
Software is such a powerful tool that I understand motor vehicles having as much code in them as they do. What I don't want is for that software to be shoddy or for it to spy on me. I also want complete control over whether or when it changes, and I want to understand the nature of and reason for the updates, just as I do for my Linux laptop on which I use apt-listchanges before accepting upgrades.

For example:

apt-listchanges: Changelogs

---------------------------

bind9 (1:9.16.48-1) bullseye-security; urgency=high

  * New upstream version 9.16.48
   - CVE-2023-4408: Parsing large DNS messages may cause excessive CPU
     load
   - CVE-2023-5517: Querying RFC 1918 reverse zones may cause an assertion
     failure when "nxdomain-redirect" is enabled
...

glibc (2.31-13+deb11u8) bullseye; urgency=medium

  * debian/patches/any/local-qsort-memory-corruption.patch: Fix a memory
    corruption in qsort() when using nontransitive comparison functions.
...

imagemagick (8:6.9.11.60+dfsg-1.3+deb11u2) bullseye; urgency=medium

  * Fix CVE-2021-3574: memory leak was found in TIFF coder
  * Fix CVE-2021-4219: a special crafted file could lead to a DOS.
  * Fix CVE-2021-20241 / CVE-2021-20243: divide by zero in
    some coders (Closes: #1013282)
And so forth. If something makes me raise an eyebrow I can go look at the source code to see what's up. I also like for upstream maintainers and other members of the community being able to do that same. Having that process in place helps keep everyone honest. Why not have this for my car's computers too?

For the install I would rather download a signed image onto a USB drive and flash from that versus letting my car communicate with the mothership indiscriminately. I also want to downgrade at any time with a previous known-good image when there's something about the update that I don't like. For example, if it sends my car's console unit into a bootloop.

2 comments

I've also often thought about what an open source car software stack might look like, but with different motivations. I'd love to be able to see more diagnostics about what the car is actually doing and to add 3rd party extensions.

For me, I don't want to have to tinker too much, but I want to be able to. I think the ideal would be something like SteamOS on Steam Deck where you can get into the system, and you can change or add things. But the default is just having it all take care of for you.

That said, cars have all sorts of regulations about how certain things work. I have no idea how any of the above ideas would interact with those regulations.

Imo the current continuous update while letting customers beta test new updates starts to fall apart as the cost of the hardware increases.

Bricking am expensive smart phone is infuriating, but bricking an expensive household appliance or even more expensive automobile is a non starter.

The signed image on USB seemed to be the norm from maybe 2010-2020 but it seems cellular connectivity has gotten too cheap and telemetry too valuable...

In the case of Rivian they have been pushing very meaningful improvements on a roughly monthly basis via OTA.

I got my R1T in June 2023 and since here are a few things they've improved, just off the top of my head, not bothering to look it up:

1. Significant improvement to ride quality via different / better suspension tuning.

2. Ability to schedule warming the cabin and pre-condition the battery

3. Completely redesigned the UX for setting drive modes and suspension height (for the better IMO)

4. Added a ton of car info, like battery temp, motor temp, and other info like altitude, various angles the vehicle is at (for off-roading), degrees the front wheels are turned

5. Added additional settings for ride softness / firmness (I got this update yesterday and haven't tried it yet)

When an update is ready I get a notification in the car and from the Rivian app on my phone. I can just hit apply and it installs it.

IMO a USB install would be a substantially worse experience and it would be much less likely that customers would actually install it.

But, for the type of person who just wants the car to stay the same as it was the day they bought it, and never change, it's not the vehicle for them. Personally I really like that it's continually improving and I don't have to go in for service or even go out to the truck to do an update.

It's not that I don't want improvements, I modify my cars for exactly that reason, but I want reliability. Improvement to the ride quality shouldn't be a manufacturers after-thought. UX adjustments are nice, adding further visibility to system features, great. OTA updates on systems impacting car functionality or safety, no. These things should be tested thoroughly enough before release to not require periodic updating. They should be stable and tested enough that an difficult to apply update is a reasonable cost. These are not the systems to fail and fix on repeat.
> But, for the type of person who just wants the car to stay the same as it was the day they bought it, and never change, it's not the vehicle for them.

I never said I didn't want updates. What I said is that I want to understand what the updates are and then choose to upgrade or downgrade when and how I see fit. Or better yet make the updates OSS and then let me do my own builds with the features and functionality I prefer as they are developed.

One thing that is right is that a Rivian is not for me, for a lot of additional reasons.

I wasn't trying to suggest what you personally want or don't want. Just that I could see how some people do not want their car interface to change, or even ride quality to change.