Personally I am a big fan of open source. My programming skills come from playing with such softwares. In the corporate world, I have seen companies adopt mature open source softwares, usually supported by well known companies. Most of them are either deployed for internal network or behind the DMZ; not so much in the public zone for commercial purpose.
Here are some quick pros and cons
- Very low cost in acquisition (mostly none)
- Most of them are based on open standards and hence are compatible with similar products as well as commercial products that follow open standards.
- Community and Developer support available with no extra cost. Some companies that develop open source code may charge a nominal maintenance and support fee.
- Most of them, especially those available in the market for some time, are reliable, robust and secure because it is tested by global community who are users, testers and learners.
- Users can hack into the code and do necessary adjustment to fit their need. Most licenses allow this, however some impose conditions such as “creative commons”.
- Many a times, open source is far much better in quality and performance.
- Knowledge of what’s happening in these softwares is known to everyone.
- Always go for open source software that is supported by big companies such as Sun, IBM, etc.
- Initial releases are not reliable. Wait for couple of mature releases before adopting an open source
- Single person written open source software may sometimes go through many releases and it would be hard for us to keep up with it.
- Bug fixes get delayed.
- Some of the software may get slower with new release. This happens usually with softwares that are written by single or few programmers.
- Some of existing legacy hardware may not be supported by certain softwares.