Een onderhouds- of legacy-versie is een versie van software die gebaseerd is op inmiddels achterhaalde technologie, maar die voor de gebruiker nog steeds voldoet en daarom minimaal wordt onderhouden met kleine updates, waaronder beveiligingsupdates en bugfixes. Onderhoudsversies ontvangen geen nieuwe functies.
Legacyversies zijn uitermate stabiel en bevatten over het algemeen weinig fouten. Dit komt doordat deze versies lang onderhouden worden en dus reeds uitgebreid getest zijn. Er kunnen meerdere legacytakken onderhouden worden, waardoor gebruikers van oudere versies beveiligingsupdates kunnen uitvoeren waarbij de werking van de software niet verandert. Vaak worden er legacyversies gebruikt in productieomgevingen om het steeds herschrijven van andere gerelateerde programma's te voorkomen.
De interface van een onderhoudsversie kan veranderd worden om een betere toegankelijkheid tot de software te verkrijgen. Dit wordt vooral gedaan in bedrijven waar het belangrijk is om snel informatie te kunnen invoeren of raadplegen. De achterliggende techniek verandert echter niet, de interface ziet er enkel anders uit.