Why does software you paid for stop working?

Software can stop working because of external dependencies such as a retired server, license check, expired certificate, or changed platform interface. Other failures come from bugs, hardware, or corrupted data. These pages explain dependencies that can fail even when an app’s code has not changed.

An external dependency may have changed

An app’s code may remain unchanged even though an external service, certificate, or platform changes. Those changes can stop a dependency-heavy app from opening; bugs or local hardware and software failures are other possible causes.

So the honest answer depends on where the app does its work and where its questions get answered. A program that computes on your device and verifies its license locally avoids a network license check, though it may still have other dependencies. A program that draws a window onto work happening elsewhere inherits dependencies behind that window.

There is a quick test. Put the device in airplane mode and open the app. What still works shows that the tested feature did not need a live connection then. What fails may depend on a network, account, license, or another feature; the test does not by itself reveal every dependency.

A server that has to answer

Some subscription software is a client. The part you installed draws the interface, collects what you type, and sends it on; the part that does the work runs in a data center. That split is invisible while the data center is up. When the endpoint is retired, the app opens, makes its first request, gets no reply, and stops on an error screen.

Offline behavior is a product choice. Cached content may remain usable for a while, but a feature that requires a live round trip can fail without a connection.

A license check that has to succeed

Buying is not the same as being allowed to run. Some software sold as a one-time purchase checks with a remote service, at launch or on a schedule, to verify entitlement. If that service is discontinued, the check may fail even for an installed copy; the outcome depends on the software’s fallback behavior.

A locally verified license avoids a network validation dependency, but the app can still have other limits. If a required licensing service is discontinued, verification can fail; the reason and available remedies depend on the provider and circumstances.

A certificate that expires

Certificates have expiration dates and need renewal. Exact lifetimes and requirements vary by certificate type and current ecosystem rules. If renewal fails, clients may reject connections that rely on the expired certificate.

Some apps pin a certificate or issuer, which can make a certificate rotation incompatible unless the app anticipates the change. Devices that no longer receive trust-store updates may also reject certificates accepted by newer systems.

An interface that gets retired

Software speaks through interfaces it does not own: a hosted API, an operating system framework, a sign-in or payment service, a file format. All of them are versioned, and old versions get withdrawn. A service deprecates its first API version, gives a year of notice, and after that an app that only speaks that version has nothing to speak to.

System frameworks and executable formats can change, and minimum requirements can rise. An app that is not updated may stop launching after an operating-system change. If a platform or app store no longer supports a build, reinstall options depend on that store and operating system.

A service or platform dependency can stop working; bugs, hardware, and data problems can also cause failures.