This summer, you'll see phones sold — expensive phones — that have older versions of Android. Brand new phones that cost hundreds of dollars and are the best models available. They will be on shelves beside other brand new phones that have "old" software on them, too. And not just models that have been available for a while, but just-released devices that we have heard about and are waiting to buy. For some, that can be frustrating. But there is a reason, and it's pretty simple.

It's known as opportunity cost. The idea behind opportunity cost is that all resources must be used efficiently. These resources could be monetary, but they also include things like time or any other corporate benefit. We're all more familiar with the idea the way Ben Franklin expressed it: "Remember that Time is Money."

It's no secret that most phones that run Android aren't using the latest software. The main reason is that it's not an easy task to keep phones updated because of Android's software licensing, and nobody involved in making your phone or the software on it wants things to change. Many of those same reasons apply when we see brand new shiny phones that have old software on them, too.

Building an operating system is hard and you can't change the platform in the middle of doing it.

Google only makes Android for the products they sell. They allow companies like Samsung or LG to build their own operating system based on Android any time they like because of a liberal software license. That's why Android became the dominant operating system so quickly, and it's also why your phone probably has an older version of Android, and has ever since you bought it.

It's not cheap to build and test an operating system. Sometimes it's comparatively easy; think of BlackBerry's Android phone and how they are patched on time every month when Google releases a security bulletin. The new code was designed to be merged into existing code, and all a company using it needs to do is check the parts they have changed compared to the download Google provides. Actual changes to the Android core are another matter, and even a bump from 7.0 to 7.1 can prove challenging. And expensive.

Software cycles versus hardware cycles

Samsung is likely going to show us a Galaxy S8 in late March. It may run Android 7.0 or it may run 7.1. The chance that it will be running 7.1.1 (the latest official version) is very slim because that particular version wasn't ready when Samsung was finalizing the software the way it wants it to be on the S8. And that's not going to be a big deal. It will be running Android Nougat and have the same application support as Google's Pixel. Phones that release near the beginning of the year are usually all like this and will only be a point or two behind.

Those point releases are nice but not critical. 7.1 is still just fine.

This becomes more of a problem for phones that come later in the year. Android gets its yearly platform update every autumn. Recent versions have had a beta testing cycle so we get to see them a few months before. But companies can't build their software based on beta code so any phone in late stages of production before the Android platform update will be a full platform version behind. That can have major implications when it comes to security and app compatibility.

In both cases, the time it would take to stop production and update the software before selling them would directly affect the amount of money a company makes from selling them. Companies that make things like phones exist only to make money.

Nobody at Samsung or LG or anyone else wants you to have old software on your phone. But because they have to do the updating themselves, it takes time. And time equals money.

Android Nougat