Open source is a trade-off. In many cases, it's rocket fuel for early and mid-stage growth in exchange for reduced barriers to entry for competitors. It also points out a real weakness in infrastructure: why is provisioning, configuring and deploying code so difficult and expensive? Shouldn't we have OS level tools that make this trivial at this point? It's pretty amazing that we're taking patterns like load balancer + Shared Cache + Database + Libraries + App Code + config files and assets and making it so difficult to configure them and deploy them. Reducing deployment complexity is still a huge opportunity...