Surviving through serving

19 April, 2007
By Matt Asay

Still here at Coss.fi (where I learned that I am Finnish - what a great country! I knew I'd fit in when the hardest drink anyone had for lunch was milk :-), and still learning a lot. Stephe Walli called out something this morning (and last night) that I found fascinating. He kept using the Compiere/Adempiere fork to exemplify different things, and it finally struck me (I'm slow).

Compiere was forked because it forgot to feed its customers. In this case, the customers were its development and SI partners. Few want to fork a successful project. All the momentum is going against such a decision. So, when a significant group within a project opt to endure the friction and move against the momentum, that's telling.

In Compiere's case, Adempiere was formed due to frustration with Compiere's apparent unwillingness to listen its development community. Compiere was tied to the Oracle database (this is no longer the case) - some wanted it to support PostgreSQL and other databases. Others were frustrated that their suggested modifications weren't making it into the Compiere core.

At a certain point, the pressure to fork was greater than the pressure to remain with Compiere, and Adempiere was born. I'm not privy to Compiere's management team. I don't know all of the competing pressures that led Jorg to reject some or all of the pressures on Compiere to "open up." He's a smart guy - I presume he had good reasons.

But the fact remains that Compiere disregarded a growing movement within its development community, a "problem" that most open source companies would dearly love to have (because it shows that there is a vibrant, strong community behind the project). This is something that an open source company can't afford to do. Neither can a proprietary company, as Stephe pointed out - the difference is that a proprietary source company that rejects customer/partner feedback likely goes out of business, whereas an open source company that rejects customer/partner feedback simply gets forked (or forgotten).

Adempiere, the fork, is now the recipient of all the pent-up developer demand/donations that Compiere (apparently) rejected. From what I'm hearing, Adempiere is now the innovator. If this is true, it should serve as a warning to all open source companies: serve your customers and partners or be forked. There are other, less friendly forks, of course, but those can be weathered if your community is strong enough. If that community prefers the fork...you're forked.