One of the main problem that we technologist fail at is that a lot of the times we assume technology == product. When we do this, we completely overlook all the necessary infrastructure and processes that we need to have in place to capture the value that the technology provides. We need customer success to guide the customer through a continuous successful implementation, marketing to very clearly articulate value propositions that change in different verticals, a sales team to capture the value and turn it into dollars consistently, support to listen to the customer when things go wrong and hold their hand through the fixes or workaround, lawyers to prepare support contracts and cover procurement requirements, hr, etc etc. I could go on forever.
I disagree that there are not examples of companies that show how to make money from open source. Beyond the obvious examples like "RedHat is a public company" and "MySQL sold to Sun", I can think of an absurd amount of businesses whose secret sauce is ElasticSearch. I would argue, that even though Elastic is a public company, they have not been capturing all the value they have brought. Although there are consulting companies like EnterpriseDB and CitusDB around projects like PostgreSQL, thinking that "consulting" is the one and only business model around monetizing an open source database is a gross over simplification that glosses over models that are evolving in various other areas, for example the one Jetbrains is doing with IntelliJ (basically a subscription service now).
I can look at the current top 100 posts of HNs and point out quite a few of successful businesses that would not have been where they are right now without open source existing in its current form.