I got a request for a proposal to create a web application. The application would be used internally by a company to manage aspects of their business process.
Coincidentally, the proposed application is similar to an application that my partner an I were thinking of creating and releasing as a SaaS platform. At the time we were approached, we had not yet taken any concrete steps to create the app.
We want to be ethical in our conduct, but we are facing a dilema. We could:
We prefer the third option. But it may seem like we are getting the firm to finance our project, only to sell it back to them (albeit for a lot less than what they would normally pay), and others, including potential competitors.
Option one is most likely, but we really believe in the potential of what we are doing, and we don't want to be underhanded by releasing something based on what we built for them. They may wonder why they made the initial investment when now it appears they could have something similar for a fraction of the cost.
How can we get the best of both worlds? Is there a "right" way to approach this? Are we being unreasonable by considering option three? Can we make the client happy, and get what we want in an ethical way?
Bootstrapped Ethics Apps Web App
I don't think it's either unethical nor unreasonable to consider option 3 or a mix of some your other ones. This is just my opinion, it would be good to see what other people think, but I actually believe developing something for a client and then reusing the code for new projects can benefits both your client and your company.
It's quite frequent in software companies to offer the development of a product that, while being customized for a particular client at first, is later sold as a platform for others (probably with further customization).
The only thing is that there has to be an agreement about this, both parts need to be notified of how things will work. The 'right' way to do it would be, I think, to inform the client that you have been working / thinking of a platform that could be adapted to their needs (it's your choice to be brutally honest and say you had nothing so far, or explain that you've been developing a product that, with some changes, would be perfect for them). You mention a sort of discount, and that sounds about perfect.
If they needed a product to sell, then they probably wouldn't agree on sharing the result. And it makes sense, it wouldn't be right if they had an idea and you guys end up distributing it to other competitors. But this is an internal management app.
Something else you could offer them is to keep their app updated (and maybe offer them some support). Hope it helps!
You could just propose a business partnership, maybe go in as co-founders with your client. I have done this before. Gave the client a discounted rate for a certain percentage of the newly founded company. Of course having a client own part of a business could he bad, but i had and still have a good relationship with that client.
I think the overall thing is you can definitely create a platform after the project. We as developers always reuse code anyway.
You may even let the client use the platform for free if they fund the project.