I do understand why companies often prefer BSD and Apache products to the GPL. But what I don't understand is why companies prefer proprietary over GPL. Let me emphasize, I'm talking about a product that is not related directly to core business secrets such as content management or a database.
The first reaction is, "with the GPL, we must make our changes publicly available." But I would ask, how is that different than a proprietary product, at least in a negative way? For instance, if we spend $100,000 on an IBM product, we have directly or indirectly paid for the development of that product. If we pay for IBM to enhance that product, we have directly paid for the development of features we find valuable. IBM will continue to sell that product to anyone that will pay, including our competitors.
If there is a competing GPL product that would require $50,000 to customize, and $50,000 in ongoing support (let's choose numbers that take cost out of the equation), most companies will take the proprietary route every time.
rest here