As a software developer I have sympathy for this business model, but of course pricing has to be reasonable. A piece of software is a continuing social responsibility for the developer to fix new security issues, incompatibilities and bugs. If you only get paid a one-off sum the maintenance can drain you. A continued time-based fee is more in tune with how the actual development cost pans out.