Selling software/service based on Drupal
If someone uses Drupal to build a custom "software as a service" web app (an example mght be basecamp [http://basecamphq.com/]), is there any way to prevent a competitor from getting acces to the custom code or configuration used to create it and starting a competing service?
Groups:
Login to post comments

Depends
It depends what you do with the code. Any code you write for your company that never leaves your company's servers you can do whatever you want with, and are under no obligation to give it to anyone. However, any Drupal code or module code you do distribute to anyone else, either a large group or an individual, must be distributed under the terms of the GPL, which gives them the right to do whatever they want with it, including share it with others as long as they also do so under the GPL.
It's quite typical for a site to have some custom, site-specific code in it that doesn't get distributed elsewhere. Usually that code is very site-specific and wouldn't be useful for anyone else, anyway. However, many sites also generate new modules that have generic use, and it's usually a good idea to share those with the community on Drupal.org. In practice, you don't lose all that much. What you gain is, hopefully, a lot of other people using your module and contributing patches to it, so you get free labor out of the deal. Also recall that on any site, 98% or more of the code running on it you got for free from someone else under the GPL.
The alternative is that you build functionality that is so useful that someone else replicates it themselves and shares that; then the community still gets a module that does the same thing, but you have everyone else getting patches and contributions from others and all of the cost and support benefits that come from that, while you're left with a module that no one can maintain or bug fix but you and you still have to keep it working with your system somehow while the rest of the Drupal world moves on. Yes, that has in fact happened before.
If you're providing a hosted service a la basecamp, then your value proposition is not the code you have squirreled away on your server. It's the service you offer, your ability to create a workable framework and interface out of existing components, your ability to run a fast server, your ability to offer a competitive SLA, etc. The code is really incidental to what you're selling, which is a service and warm-and-happy-feeling for your clients.