Wednesday, February 25, 2009

Open Core Model Offers Best Opportunity for Community and Commercial Success

I am classically the pig at the ham and egg breakfast when it comes to the debate about the open core business model. The chicken at the breakfast is involved. The pig is committed. With that as my admitted bias, it's time for me to weigh in on the debate that has ensued around the open core business model.

“Open Core” was originally offered by Jaspersoft’s Andrew Lampitt as a new term to define the commercial open source software model that relies on a core, freely available (e.g., GPL) product architecture that is built openly with a community, all the copyrights for which are owned by the sponsoring vendor, and which includes premium features on top, wrapped entirely with a commercial license. T he 451’s Matt Aslett quickly used Andrew’s open core definition and relies on it within his most recent reports and articles. I would enhance Andrew’s definition by adding Jaspersoft’s current open core ideals: the core product is extended with commercially licensable add-ons (and those contributions come from Jaspersoft or its community), each extension comes with visible source code, community collaboration is encouraged (including feature “voting”) and we, as hosts of the community, actively monitor its health and vibrancy to ensure constant progress.

Roberto Galoppini properly infuses a heavy dose of being “community-driven” as key to any open source model. I agree and will expand below. Mat t Aslett recently re-stated his distinction between open core (he calls it “hybrid” in this recent post) and the embedded open source model. Matt believes the embedded model possesses long-term advantages and lower risks, which I think depends mostly on which open source product / project is embedded. And, a good bit of debate has ensued that seeks to label companies using the open core model as not substantially different than proprietary software companies. I believe this is nonsense as the distinctions between the open core software companies with which I’m familiar and traditional software companies are stark. To explain, I’ll cite my three primary reasons the open core approach provides the best opportunities for community and commercial success.

1. Community involvement in the core code is encouraged, while community “extensions” are not only plausible, but probable. The product “core” is built collaboratively with the Community and a non-restrictive license (e.g., GPL) ensures a variety of appropriate uses. A successful open core model should deliver a core (free) code base that is both substantial in its capabilities and successful in its Community.
2. Commercially-available extensions, a superset of the core and ideally with visible source code access, are provided, thus creating the value and assurance commercial customers often require to sign a commercial license. These extensions are made far more valuable because of the community-focused core code base acting as the underlying foundation.
3. The Community needs a healthy and growing group of Commercial customers to both legitimize the open source code base and ensure necessary financial success so the on-going advancement of the products / projects are assured. And, Commercial customers need the Community for the breadth of ideas and energy they represent, which helps the complete code base advance more rapidly and with higher quality than it ever could otherwise. Thus, the Community and Commercial customers form a necessary and symbiotic virtuous circle.

In this debate, some have claimed the only true and legitimate open source model is to provide identical community and commercial editions of the source code. The argument is that relying exclusively on services and support revenue will sufficiently sustain and that creating commercial extensions renders an open source company no different than a proprietary software company. Minimally, this argument misses a valuable history lesson. Most major software categories where open source has positively disrupted have required successful commercial open source companies to eventually use a model similar to open core, in order to continue growing. Think JBoss, Linux (Red Hat Enterprise Linux, Novell/openSUSE), SugarCRM, Hyperic, Talend, and of course, Jaspersoft. Done properly, the resulting broad use yields benefit and value to both the Community and Commercial customers. Accordingly, we at Jaspersoft take our community responsibilities as seriously as any commercial contract.

The pure open source model will continue to democratize software development and yield some commercial success. But to truly disrupt software categories where proprietary vendors dominate (and to deliver large new leaps in customer value), the open core model currently stands alone in its opportunity to deliver community progress and commercial success.

Brian Gentile
Chief Executive Officer
Jaspersoft

7 comments:

  1. Hmm, I wonder how this relates to things like QNX's recent Sources Available/Shared Source/"Hybrid Model" push that they've been doing for a while.

    ReplyDelete
  2. QNX's community is restricted to QNX licensees (customers). Parts of the base QNX operating system and development tools are proprietary. They do not have an open core as Brian is describing.

    That being said, QNX have a healthy community that develops a variety of open source add ons to QNX. It is yet another commerical open source model.


    Sherman Wood
    Open Source Project Lead
    Jaspersoft

    ReplyDelete
  3. Hi Brian,

    I would like to drill down a bit more on your point #1 above about community involvement in core code.

    How do you evaluate/quantify this?
    Are number and diversity of non-corporate committers to the core codebase a good metric? What other metrics can you use?

    Also, I wonder if there is an even further distinction to this "open core" definition. For example, I see Drupal/Acquia fitting in more because the core is truly community driven. Similarly Linux kernel/Red Hat fit in to this definition.

    On the other hand, MySQL for example, perhaps does not fit in as well because while the core may be available under an open source license, the committers, IIRC, are all employed by one entity. While that is certainly not a crime, it also can not truly be considered a community-driven core. I don't know whether Jaspersoft, Hyperic etc. are more like MySQL or like Red Hat.

    And I guess, more importantly, does that necessitate further disambiguation of what open core truly means?
    Thoughts?

    Ragavan
    http://twitter.com/ragavan

    PS: It is great to see an open, honest conversation about this topic.

    ReplyDelete
  4. Ragavan,

    My thanks for your comments and questions. I'll reply briefly.

    1. Measuring all contributions to the core code base is important - whether offered from the community or corporate developers. Jaspersoft has pioneered a numeric scoring system called the Community Vibrancy Index (CVI) that accumulates about 12 key measures into a single, weighted number. This index, measured monthly, helps us track how successfully our community is able to contribute overall. We measure things like project rankings, forum posts, sessions established, and download counts. The CVI helps us stay close to the many ways we work with our community and enable all our projects to advance. We also track the percentage of code that is contributed from outside Jaspersoft (today this is, admittedly, just an estimate).

    2. I tried to stay away from defining "open core" as requiring a community-driven core product. My definition says "community involvement" and collaboration that ensures a successful core code base that is substantial in its capabilities and successful in its Community. Thus, my definition would probably fit the "new" MySQL (now that it is part of Sun).

    Further, I agree and believe that we'll see Acquia adopt a full open core approach as it determines the best way to add value to the Drupal community while it drives simultaneously for commercial value. At this point, this is just my guess.

    3. Lastly, Jaspersoft enjoys significant collaboration with its community to create the core code bases of its flagship products: JasperReports and iReport. So, I would claim that these two projects/products meet even your stricter definition of a community-driven open core.

    Hope this helps,

    Brian

    ReplyDelete
  5. I wrote up a long comment in an external text editor, but am unable to copy it to the comments box, because you have disabled cut and paste.

    ReplyDelete
  6. thanks for the post! i'm sure to utilize it in my line of business (financial consulting)

    ReplyDelete