Maintenance mode

The meaning of maintenance mode depends on the context.

In the world of software development, it refers to a point in a computer program's life when it has reached all of its goals and is generally considered to be "complete" and bug-free. The term can also refer to the point in a software product's evolution when it is no longer competitive with other products or current with regard to the technology environment it operates within. In both cases, continued development is deemed unnecessary or ill-advised, but occasional bug fixes and security patches are still issued, hence the term maintenance mode. Maintenance mode often transitions to abandonware.

In the world of software maintenance, it refers to the operational mode a device or service may enter when it is being maintained. For example, while diagnosing, reconfiguring, repairing, upgrading or testing it may be necessary for the device or service to drop to maintenance mode until its fitness for operational mode is verified. Another use case is deliberately putting the device or service into maintenance mode so that it cannot be used operationally while being maintained.

Sometimes, when a popular free software project undergoes a major overhaul, the pre-overhaul version is kept active and put into maintenance mode because it will still be widely used in production for the foreseeable future. Project forks can also spawn from programs that go into maintenance mode too soon or have enough developer support for a more advanced version. A good example of this is the vi editor, which was in maintenance mode and forked into Vi IMproved. The Vim fork has many useful features that vi does not, such as syntax highlighting and the ability to have multiple open buffers.