Compiere certainly did not fail due to its technology. It failed due to lack of sales and marketing expertise, execution and the wrong bet to “upgrade” open source minded partners and customers to a traditional, commercial model.
Compiere’s experience shows that it’s very difficult to change the terms of an existing relationship with your community, developers/contributors and channel. It’s not enough to balance proprietary and open source components but you also need to keep the whole ecosystem happy while doing so. You need to make sure your community feels your love: that’s what Compiere failed to do.