Why should a vendor forgo license revenue and give out their source code for free? While I know of dozens of good reasons, here are just a few great reasons:
Gain visibility for your product, eliminate long sales cycles, improve customer relationships, and build your market quicker because people will be able to download your products and begin to use them immediately. If they like it, word will spread. You can put together software and release more quickly and with greater frequency, since you’re not beholden to a sales cycle. By eliminating cost from the sales side, you can focus all your efforts on development and building a maintenance, customization, and services arm that tends to make more money for most vendors, anyway. You can also foster a community of developers around your product to help develop enhancements for free. This will reduce your overall development costs, help increase the value of the product, and make customers happier. And with a happy development community, your product will be able to get into more customers faster than ever before. All without a large sales force.
If you’re in a field with an entrenched competitor, open-sourcing your solution may be the best way to break the vendor lock-in that customers feel. Because your product will be freely available without license costs, a different group of people (the ones not beholden to the incumbent vendor) can make decisions about bringing your product in-house. Then, once in-house, you will have the ability to customize, enhance, and service your product by connecting it to the competitor already in the customer’s environment and help them “wean” themselves off the legacy vendor. Another benefit of this approach is that you will be seen as a “risk reducer” for the customer, not a “risk increaser.” By getting in there for free, you come in risk-free. By reducing lock-in to the existing vendors, you lower the customer’s risk of being handcuffed. Both are great ways to win and keep customers.
Just a quick word about the concept of community. A community of developers will become psychologically invested in a technology, which is why so many technology discussions sound like religious disputes. By creating a community, a developer builds a network of technology evangelists. Worth considering.