We all agree: Software is eating the world. There’s a dark side to this, however. The more control we give to software, and the more we rely on it to power our lives, the more control we give away to the people who wrote and operate the software.
Software engineers give a lot of thought to how software should “behave” — not just what it should and shouldn’t do, but what should and shouldn’t be done with it.
We’ve all heard of (and many of us have lived through) nightmarish scenarios in which we have been asked or required to introduce functionality that isn’t exactly kosher. But I don’t think we talk out loud about it nearly enough.
This article is an attempt to prime the pump: Here are five vignettes addressing various issues surrounding software ownership and access, and my humble opinion about each. I ask a pointed question at the end of each, and encourage you to weigh in. If you have a tale of your own to tell, write a piece, and leave the link in the comments so I don’t miss it.
The patch heard ’round the world
This story begins with a person who bought some software with a few bugs (like any software) and ends with a gigantic tornado of angry Internet reporting. Here’s what happened: someone who used a piece of software called Ham Radio Deluxe encountered a bug in his version of the software. He posted a negative review about the software online, then some time later, contacted HRD support to request help with the issue. The HRD support tech did what any other support tech would do and asked the user to download the latest version of the software. Unfortunately, the latest version of the software had added this user to a compiled-in “blacklist” of users not to run for, so when he ran the new version, the software refused to start.
So far, sounds pretty terrible, right? This guy wrote a negative review, some time later asked for tech support to fix the thing he wrote the review about, then the “evil” company asked him to download a patch that then completely broke the existing software he was running. That would be terrible, but there’s some important context that’s missing.
I spoke with Mike Carper, a partner in the company that makes HRD, to learn more. Carper doesn’t dispute the facts as they stand above, but did provide more background on the software’s “blacklist” and about this situation. Carper indicated that a (now-resigned) partner in the business had added the user who wrote the review to the software’s blacklist in retaliation for the negative review. Carper went on to indicate that he was unaware of this action and would not have supported it.
The circumstances that occurred to cause the user’s software to be broken were this: the software’s “blacklist” was updated after this user posted the negative review. The current version of HRD the user had installed was unaffected. The user contacted tech support (while outside of his maintenance period,) and tech support asked him to download the latest version to verify the bug still occurred (a totally reasonable step to take). Since the new version had the user on the blacklist, however, the user was now left with broken software.
Carper published a statement on the HRD website with more details on the incident, but the upshot is this: even software that you thought you owned forever might end up broken after you install an update. While this particular situation had a happy ending (HRD refunded the user for his license and updated their EULA to prevent this from happening again), it’s a cautionary tale about how our software requiring constant upgrades to continue working can lead to unexpected situations.
Is disabling someone’s software ever an appropriate thing for an engineer to do? Should we write code that even makes this possible?
Don’t poke a beehive named Elon Musk with a stick
Computer software’s all well and good as something to worry about, but what about software in something that you don’t expect to upgrade? How about in a car? Tesla vehicles are connected (permanently) to a cellular network and send detailed telemetry data back to Tesla about the car. The only thing they promise not to log is speed or position data. In addition, Tesla can remotely control the car (and so can you, through its app). This enables super cool features like Summon and autopilot, but it also means that the car is reliant on Tesla’s servers for many of the advertised features.
These features include software updates delivered by Tesla, of which there have been many. Software updates to Tesla vehicles have enabled new features (including faster speeds, longer battery life, and more), but they may come at a cost as well. Tesla vehicles have a diagnostic interface that’s exposed via pins inside the car. Some enterprising hackers discovered that this interface was actually Ethernet, and were able to access the computer in the car. Tesla sent them a message asking them to politely stop doing that, or their warranty would be voided.
While this may make sense in an isolated context, it raises the question, at least in my mind, of whether it’s fair or not to end the warranty of someone who merely tinkers with the software in the car — surely Tesla could require the software be restored to a Tesla-specific version to enable service, but outright voiding the warranty seems an overreach. Tesla happily patted themselves on the back over their pledge to not enforce patents, so perhaps they could make a similar pledge to not use the DMCA to stop people from tinkering?
Tesla’s CEO is already known for being quick to defend the company from any perceived slight, so what if you own a Tesla and you piss him off with something you say about the car, about the company, or about their ability to disable your warranty because they feel like it?
Tesla could easily remove your car’s autopilot feature, or turn off its ability to supercharge, or even just turn the car off completely. Should a company have this power?
PlaysForSure™ (Until it doesn’t)
Microsoft “sold” DRM-laden music files under the (hilariously ironic) PlaysForSure brand in 2004, and then discontinued the brand in mid-2008. Normally, this wouldn’t matter — your toaster doesn’t stop toasting if the store you bought it at goes out of business, but because MSN Music was licensed to you and not “sold,” they have to consent to any transfers of the music to other computers or even to other versions of the same Microsoft operating systems.
Microsoft threatened to shut down the authorization servers at the end of 2008, at which point people who had a legally purchased MSN Music library would lose the ability to ever move the files from the computer/device that they were on. So yes, if someone kept their computer running Windows XP and it never malfunctioned, they could continue to play their music, but if they ever do any upgrades, they lose the music they “bought.” To avoid the intense hate that was being piled their way from users who thought that “buying” a song meant they could listen to it longer than four years, Microsoft didn’t actually shut down the MSN Music authorization servers until sometime later (they promised they’d keep them running until 2011, then apparently shut them down with no further notice, at least not one that I could find through exhaustive Googling.)
Should any store be able to say you’re not allowed to use the stuff you “bought” from them after some arbitrary date? What does “buying” mean, anyway? Should DRMed files be able to be “bought” at all or should they be required to call that transaction something else?
When your TV watches you, and doesn’t like what it sees
If you try to purchase a TV nowadays, the odds are high that you’ll encounter a “Smart TV.” It may, in fact, be extremely difficult for you to find a “non-smart” TV, at least through regular retail channels. Smart TVs add features such as support for Netflix or Skype built into the TV’s software. Naturally, these software bundles add more license agreements and privacy policies.
Let’s say that you’d rather your TV didn’t phone home to the manufacturer to tell it exactly what you’ve watched, what you searched for, how often you paused it, what input you were using… you get the picture, right? Well, if you decide to turn that off, at least one manufacturer might just decide you can’t use any of the “smart” features you had to pay for, even though accepting their “no-privacy” policy should only reasonably limit you to not using their services.
Should your TV’s maker be able to require that you send back invasive telemetry as a condition of being able to use it?
Nothing runs Like a Deere, if they don’t want it to
Yeah, even tractors are owned by software now. John Deere, the maker of the iconic green and yellow tractor, actively tried to force farmers to stop trying to repair their vehicles and to instead beg the manufacturer for permission to do any repairs.
“How on Earth could they do that?!” you may be asking. The DMCA is how — by applying even an absurdly poor level of protection to computer code (that runs things like the engine control computer in a tractor), that code is now protected by the DMCA from any modification, including tuning or repair.
John Deere’s argument as to why this is necessary is, of course, that you may be able to pirate music if you can repair your own tractor. Of course.
Should a manufacturer be able to stop you from doing repairs they don’t approve of?
I’m sorry, Dave, but your software has expired.
Quicken has decided that you’re allowed to use the full feature set for three years, then it’s time to buy a new version, even if your current one works fine. This is a documented policy by the maker.
The argument for ending “support” for online access in old versions is that it requires resources and effort from Quicken to continue working, and that they shouldn’t be obligated to support old versions of their software forever.
This is one I actually stood behind, at least a little bit, and at least until I learned how the “sunset” actually works — Quicken doesn’t connect to a Quicken service to download stuff from your financial institutions (it does, however, connect to a Quicken service for other functionality.) For regular transaction data, Quicken connects directly to your financial institutions and downloads your data. If the banks are still providing files that are compatible with your version of Quicken, what possible justification does Quicken, Inc. have for turning off your ability to download them?
Well, the exciting world of money management software moves slowly, so I imagine most people don’t need to upgrade Quicken, well, ever… and that isn’t good for Quicken, Inc.’s pocket.
Should the maker of a piece of software be able to turn off functionality that they don’t even provide?
I’d love to read responses to these questions in the comments