When you are evaluating a piece of software it's easy to forget about the future, but for any serious installation, the future should be your main focus. Spend the time to make the right decision at first and you'll reap the benefits later, make a careless decision and you (or your successor at your workplace) may pay the price later.
- Open Source or Commercial
If you just want something to work as quickly and easily as possible and want someone to phone for help when things go wrong you are probably better off looking at a commercial package. If you want to tinker with the source or are concerned about the long term future 1, you should probably investigate an OpenSource alternative. I generally prefer OpenSource software so that's where my interest lies.
- Developer Community
For either OpenSource or commercial packages it's important to look at the developer community. Have they been around for a long time or is a new project that could get abandoned? New, single person OpenSource projects are quite prone to disappearing as the developer finds a new hobby or new job. Poke around the mailing lists or support forums and ask questions. Is there an active support community from which a new developer team could emerge if the current one disappeared? For commercial packages sometimes you can arrange "source escrow" which means that if the company goes out of business they promise that you will get a copy of the source code so you can continue to use it.
- Project Goals
- What do you want to use the software for? What is the developers intention for the future? If they have a roadmap does their future vision align with yours? Do they even have a future vision?
- Language
- Are you a programmer, or do you work with programmers? It can be a lot easier to get changes made if the language the software package is written with is one which you already have skills with.
- Hackability
- Some projects are easy to hack on and make minor, or even major, changes. Other packages are hard to change, poorly documented and badly supported. If you want to be able to change the source code spend a little bit of time browsing the source code and documentation and see if it makes sense to you and is something you can work with. A well written web application should allow even a novice programmer to get in and make changes to how the application looks.
Remember, it's never going to be this easy again. In the end the important thing is what you use the application for, not the application itself. The longer you use an application and the more data you put into it the harder it becomes to migrate to something else. Take the time and do it right the first time.
1 It can be quite painful when the company you bought a crucial piece of software from goes out of business and you are left without support or source.