There is an amazing array of awesome open source software available for a wide variety of applications. Choosing the right product is extremely important.
Be sure you have a clear definition of what you are trying to do first. If you are trying to create a simple web site that is easy to use and maintain - you can use a blog or content management system. You could even use a template based system offered by many hosting companies. If you want to sell items on line, and you don’t want to use eBay - you may be able to use PayPal, or you may need a cart. The only way to decide what makes sense is to really understand what you want to do, and then, what the different methods are. The same is true for a social network, a resource site, and or a huge multi-function system.
Next, you should understand your time frame and resources. In a nutshell, if you don’t have much time, you will need to choose a solution (hosted or not) that allows you to bring it to life quickly. If you have a team with experience with a specific product, that may be a driving factor. Be sure their experience is with a current, active product, not an unsupported technology. If you have LAMP servers, and you want to use a java based product, be sure the servers are ready to support it.
Another key consideration is the interaction with other systems. For example an ecommerce site may need to interface with an accounting system.
Finally, one of the best ways to evaluate products is to try them out. Even if you have to buy a copy (assuming the cost is not prohibitive), to evaluate it fully, the investment will probably be valuable - either by allowing you to purchase it comfortably, or abandon it after careful review.
My evaluation criteria for web-based products:
- Will run on my server
- Online/live demo at the source site to experiment with
- Documentation is accessible and adequate, and in a language I can read
- Does not have current serious security issues, or offers a patchSecunia
- Market share, popularity
- Interfaces to other products
- Easy to install
- Easy to use
- Support forum or organization
- Community and contributions, plugins
- Architecture of software
- Comments posted in blogs and forums about the product, although these must be reviewed carefully.
- Cool name and neat site