Monday, June 22, 2009

The Business Side of Modularity: Food for Thought

Since I joined Openbravo in April, I’ve been hearing a lot about “modularity” and what a significant enabler it is for the ecosystem. Paolo Juvara wrote an incredible blog post on this topic, detailing the technology and explaining the theoretical ecosystem dynamics that it supports. There is a lot of information in that post, and it raised a number of “food for thought” business questions for me that I’d like to get feedback on.

Before raising those questions, here is my shorthand on modularity’s “Big Idea”:

  • Reusability + Autonomy + Exposure = Scalability (of the Ecosystem)

Let me explain. As a participant in a software development ecosystem (or you can use the word “community” if you like), I have 3 major business-oriented goals:

  • Reusability: Let me leverage the work of others
  • Autonomy: Let me create what I want and contribute it (so others can leverage)
  • Exposure: Provide me a means of public recognition (so I can monetize my contributions in some ways)

When a software ecosystem is structured to effectively and efficiently meet these 3 business goals, then it is designed to be scalable, with no internal factors gating growth. Openbravo Modularity certainly provides for reusability, allowing formal packaging at 3 levels of granularity (module, pack, template). And its formal dependency support enables reuse across versions and different authors. Autonomy is also provided, as well as exposure (through publishing modules via the online Central Repository).

So all of the basic requirements are met. What’s not to like? J But of course the key business challenge with all new platforms and ecosystems is that their growth is governed by the “Network Effect”, in which large benefits to the participants don’t accrue until a “critical mass” is reached (in this case, a critical mass of software authors and users). So, until there are large numbers of consumers, it is difficult to attract large numbers of producers. Conversely, small numbers of producers discourage new consumers from joining.

The platform must deliver enough tangible value to attract increasing numbers of both producers and consumers over time. We at Openbravo are adding that tangible, practical value to our ERP platform on a continuous basis, and Modularity is a part of that. We are very excited to see where the ecosystem takes this!

With that backdrop, it’s time for my “food for thought” questions related to Openbravo Modularity.

Both commercial modules (pay first, then download) and community modules (free as in both beer and speech) will be supported in Openbravo's integrated Central Repository. Which will dominate? Stated another way, will most module authors act as ISVs (creating software that they enhance and maintain over time), or will most freely contribute their work to gain recognition for the purpose of selling custom services (effectively using their software as an advertisement)? Will the pattern change over time (as the number of consumers grows)? Will authors who started as custom services developers gain domain expertise in an area and evolve into an ISV focused on that vertical? Will authors start out charging for their modules, and then turn them over to the community after a certain period of time (when they have recouped their development cost via the sales)?

What about module size and granularity—will we see large numbers of small “drive-by contributions” (single reports, small integration to a 3rd-party system, purpose-built inquiry screen, etc.), or a smaller number of complete industry templates? How will that pattern change as the ecosystem grows? Will end customers contribute modules, or only partners?

What will the partner channel look like over time? Will most partners continue to Develop, Sell, and Implement, or will we see increasing specialization over time (perhaps with most custom Development clustering in countries with favorable labor rates and quality developers?). Will some organizations focus on selling, subcontracting the implementation work to others? Will partners collaborate extensively, with partners on one side of the globe localizing modules created by others on the other side? (the Openbravo Forge will certainly enable that!)

Will “first move advantage” dominate, i.e. will being the first module for a certain area generally mean you will be number 1 two years from now? Will the presence of an existing module discourage other authors from competing, or will we see a lot of competition in high-volume niches?

What are the biggest challenges to Openbravo's 3rd-party ecosystem reaching critical mass? What can we do better?

Please feel free to provide public feedback / speculation here.