Again as a user, and when I used to be involved in the development of packages, maintenance was always in the contract, but usually covered making sure that the package performed as the specifications said it would, changes that occurred later through a change request process were separately covered by a new agreement or on a fee for service basis. So I've seen the ones thst Darwin mentions above as well as the larger versions where development cost was in the 100s of millions. So its a slippery term that needs defining by you as the developer, if its shareware type app or with your individual customer if you have customized software built just for them.