An important decision is about development and deployment platforms. If your product is targeted for a specific operating system, the choice is obvious. When the solution has to be platform neutral, or if the deployment will be controlled by you (SaaS model), then the common options are Open Source (Linux) and Java or Microsoft Windows. Always keep in mind the Total Cost of Ownership (TCO) for the customer.
Open source in theory benefits from the availability of a huge number of re-usable components and tools contributed by an army of individual programmers. While open source is technically free, limited support and inter-operability between different open source products may lead to higher cost of development and support.
Microsoft now offers free development tools to start-ups for 3 years under their BizSpark program, but licensing cost of servers and other software for product deployment, may be high.
Other issues may impact platform choice. An implementation which is tightly integrated with specific platform features and interfaces will limit your ability to go cross-platform. Conversely, leveraging the tight integration and inter-oper-ability of various servers on a specific OS can substantially increase the product’s value and ease of use.
Web 2.0 ventures and CIOs have new options to develop applications with minimal investment. Salesforce.com is promoting the platform-as-a-service (PaaS) concept, which it says represents the start of Web 3.0. Called Force.com, it enables companies to build and deploy enterprise applications on-demand without having their own infrastructure. Core business applications, such as enterprise resource planning (ERP), human resource management (HRM) and supply chain management (SCM), can be developed in just 5-10% of the time that is normally required for custom development, and deployed almost instantly.
Your OS decision should be driven by business potential. If a specific platform dominates or is acceptable to a majority of your potential buyers, then opt for it. Spend your engineering bandwidth on providing maximum compatibility and inter-operability with other applications on this OS, to improve total value to clients.