Why worry about code visibility?
Many of the articles here are agonising about the information (code) gaining or losing "value" through the transaction. This is irrelevant. Who cares? The developer wants to develop. Users of his code want a new feature. He develops it, they pay him.
The point is that the developer is getting paid for doing useful work. The code could be open source and available right throughout the process, or only at the end. Doesn't matter.
Selling licenses sours the relationship between user and developer, because of the zero unit cost of software. Distributing entirely free software sours the relationship between the developer and his landlady.
The Ransom Model is a very good way to engage in a more productive, mutually beneficial relationship.
Over the last year we've developed an application which supports the whole process - managing user requests, issuing proposals, receiving votes and comments, a review process, surveys, news, etc. etc. - www.rap-x.com (http://www.rap-x.com/) .