Phil Windley lists certain scenarios when developers shouldn’t embrace OSS:
- Product is a control point for the company
- Product should go obsolete
- Cost does not justify benefit
- Misdirection and defocusing of resources
- Intellectual property risk cannot be justified
- To compete against open source community
- Just because its cool technology
- Technology direction doesn’t match strategic goals
- Time to market is critical
Generally, going proprietary is more advantageous when you are developing a software product which research costs exceed its maintenance/support costs. Such products include specialized systems such 3D game engines, and biometrics. Of course, as time goes by and your product becomes more commoditized, it may be prudent to reevaluate the open route. For example, the once-revolutionary Quake, Quake II and Doom engines are now under the GNU general public license.