Here’s an interesting article that describes seven ways in which companies can make money from an open-sourced codebase. I’ve always said that I liked the strategy of giving away the product but charging out the wazoo for consulting from the highly knowledgable people on the development team. I know that, for example, this is how Cayenne is structured, and I presume how people that work on Struts or Hibernate make some money too. This article looks at that in a much more nuanced way, breaking down and classifying similar but non-identical approaches. Well worth a read.