Sometimes I find clients in trouble. They don't have ownership of their system's source code and suddenly need changes. But the company that developed the software is long gone. Their software works, but it's only working in its "compiled" state. To make changes to the software, a person needs access to the source code. Sometimes it is possible for us to use a decompiler to salvage the software, or save parts of it. Often it's more cost effective to start from scratch and rebuild anew.
Recently, I encountered a scenario that was a little different than others I have dealt with in the past. We had a case where a client assumed they would get the source code from their developer once the project was completed. The developer had completed about 90% of the work. Suddenly they were surprised with an end user license agreement (EULA), stating that the customer could not obtain the source code. Instead they would have to buy, and renew, a license to run the software. I'm assuming to renew perpetually? The developer also required double the money if they wanted the source code.
Obviously, the client was dealing with an unscrupulous development firm. In the software consulting profession, a client is paying us for a service: to develop custom software according to their business specifications. As such, the development is tailored to the client; it contains only the necessary components and special processes that make their business unique and successful. It is rare to develop something that could actually be sold again as a mass-produced boxed software item. No organizations want to do business with a consultant that would lock them in as a vendor, perpetually; and if that is a developer's intention, they sure need to state that up front so the customer can weigh their options!
Anyway, the lesson here is that any company looking to hire a software development firm should make sure to have a contract signed by both parties, and to make sure there is wording in the contract stating that the customer, not the software developer firm, will own the source code.