James Dixon’s Blog

James Dixon’s thoughts on commercial open source and open source business intelligence

Archive for April 2009

Beekeeper Model for Commercial Open Source (V2 draft 2)

with 4 comments

Thanks to all the feedback so far. Click here to download. I have folded in ideas from

Written by James

April 14, 2009 at 4:21 am

New version of the Beekeeper Model for Commercial Open Source

with 5 comments

The first draft of the new Beekeeper Model for commercial open source is ready for feedback: click to download the PDF

The new version includes:

  • Analogies for proprietary development (Maple Syrup Farm) and open source projects (Wild Hives) in addition to the commercial open source model.
  • Introduction and analogy for Services/Support model (contributed by Matt Aslett at 451 Group)
  • External references section.
  • New overall flow.

I think it is a significant improvement over the original. Any feedback would be greatly appreciated.

Update – Feedback so far :

Written by James

April 9, 2009 at 3:39 pm

Reduce Software Costs with a Dual-Vendor Strategy

with 2 comments

Recently some of the big vendors have raised their prices, like Oracle’s 15-20% hike a few months ago. This obviously comes at the worst possible time for their customers. While talking to Fred Gallagher of Ingres at the Pentaho partner summit last week I was reminded of something I learned last year when I was on a panel at an open source seminar for finance industry CIOs. Many of the CIOs talked about the dual-vendor strategy they use to maintain leverage against hikes in maintenance costs.

Basically they have a policy of having relationships with two vendors for all major systems: operating systems, databases, application servers etc. This way if one of the vendors tries to force price increases the CIO can threaten to move applications over to the other vendor to reduce their dependency (and costs). Of course, dual-vendor strategy or not, anyone can threaten to change vendor at any time. But without an existing dual-vendor strategy there are obvious costs involved in switching. When the dual-vendor strategy is in place the threat is real, without it the threat is fairly weak.

For example lets say my ERP system runs on Windows and Oracle, and my CRM system runs on Red Hat Linux and Ingres. However my ERP system is capable of running on Linux and Ingres. When Microsoft or Oracle raise prices on me I threaten to move my ERP system to Linux and Ingres, and in order not to lose the business entirely the sales rep gives me a discount such that I avoid the price increase.

The CIOs I talked to recommended a strategy of using a commercial open source product as the second vendor. These vendors scare the enterprise sales reps. Choosing an unsupported open source alternative opens the CIOs to increased risk and lowers the threat of the dual-vendor strategy.

There are lots of choices when it comes to running in dual-vendor mode, for example.

  • Operating System: Red Hat Enterprise Linux or Ubuntu with Canonical support
  • Database: MySQL Enterprise, Ingres with Enterprise Support
  • Application Server: JBoss Enterprise WebServer w/JBoss Network
  • ESBus/SOA: Mule Enterprise Edition, JBoss Enterprise SOA w/JBoss Network
  • Portal: JBoss Enterprise Portal w/JBoss Network
  • ERP: Compiere, OpenBravo
  • CRM: SugarCRM
  • Content Management System: Alfresco with Enterprise Network
  • Business Intelligence: Pentaho

Written by James

April 7, 2009 at 6:10 pm

The Importance of Plug-Ins and Configurable Architectures

leave a comment »

We have added additional plug-in functionality into the Pentaho BI platform in the latest version (V3.0). The platform has always been very customizable (you could always replace every component, engine, and sub-system through configuration) but now it is even easier to add new features into the platform. I really like the results, we have already added several new features to the platform (like the community dashboard framework) with very little effort. I think the combination of plug-ins and a configurable architecture enable several things:

  • `Yes you can`
  • Cleaner design
  • Cleaner code
  • Reduced risk of forking in open source software

`Yes You Can`

The combination of plug-ins (to add new feature/function) and a configurable architecture (to enable the architecture itself to be modified) provides you with a `yes you can` answer to almost any question. No matter what your users or customers want to do they always have the ability to create a plug-in that meets their needs or modify a piece of the architecture to solve their problem. This design makes it very easy to make the modifications desired with the smallest possible change: you can extend an existing component or layer by sub-classing it and changing the one function you need to, then telling the system to use your version of the component.

Cleaner Design

Creating a plug-in architecture mean, as a matter of necessity, you have to have clean interfaces and well-defined boundaries between the various sub-systems and objects. These things are clearly good to have. You can of course have these things without a plug-in architecture but having a plug-in architecture forces you to have them.

Cleaner Code

I have worked for proprietary software companies where the code was littered with flags and special cases that were put there to support a single customer’s special use case. This was necessary because the software was not sufficiently extensible to allow the custom behavior to be easy added as a plug-in.

Reduced Forking

For open source projects benefit of this kind of extensibility is that it can reduce the risk / necessity of a fork. If the software can be customized to the extent that almost anything is possible you reduce the ‘direction’ arguments. In many cases forks occur because a part of the community would like to see the software go in one direction while the core developers want to take the software in another direction. If the software is pluggable at all levels it can be possible for the software to support both modes, keeping everyone happy and reducing the risk of a fork.

Written by James

April 6, 2009 at 4:54 pm

Posted in open source

Oracle Trying to Acquire Red Hat?

with 3 comments

If this rumor is true I think it is a good thing. Oracle has gone from trying to destroy Red Hat to trying to buy them. It shows that they failed trying to beat Red Hat at their own game with Oracle’s Unbreakable Linux offering. It proves the robustness of open source and a commercial open source offering. Microsoft provides us with another example.

Microsoft identified the threat from open source in the late nineties (see the Halloween documents). In the ten years following that Microsoft was unable to do anything to stop the growth of open source and finally entered the field by forming the Novell alliance. Now they have codeplex and claim to be open source friendly. But during that same period Microsoft aggressively targeted many commercial companies and technologies resulting in anti-trust law suits. Why were there no law suits claiming Microsoft used unfair practices against open source? Because there was no unfair practice they could have used that would not have ultimately helped open source rather than hurting it.

So I think Oracle trying to acquire Red Hat is a good thing, it is more proof that open source is hard to compete against. Oralce actually acquring Red Hat? Not so sure.

Written by James

April 2, 2009 at 3:39 pm

Alfresco (Open Source CMS) Adjusts Business Model

with 3 comments

It looks like Alfresco has changed back to the ‘open core’ model judging by John Newton’s blog.

Just over 2 years ago Alfresco used a modified Mozilla Public License for its open source code and provided enterprise extensions for its customers. Then they switched to a dual-license (commercial / GPL) model with no enterprise extensions. Now they are moving to a position closer to their initial one.

This does not mean that Alfresco does not know what they are doing. It is merely an indication that they are one of the pioneers in a new business realm and are refining a model that works for them. I think John does a good job of defining the principles used to distinguish between open source and enterprise features. There is also no mention in John’s blog about switching away from the GPL V2 license that they use, and there is also no mention of introducing the attribution clause they had before.

The attribution clause is interesting: Alfresco, SugarCRM, and Pentaho all started with attribution clauses in their licenses. They have all since dropped it. Ironically the  Common Public Attribution License (CPAL) did not exist at the time. All those companies are now operating a open core with enterprise addons and commercial licenses and so are MySQL, and Zenoss, Zimbra. All of these companies except Zimbra have a GPL core, Zimbra still has an MPL-based license with attribution clauses.

Maybe the best options for the single-vendor commercial open source business model are getting clearer. Hopefully I’ll find some time soon to update the Beekeeper Model.

Written by James

April 1, 2009 at 7:29 am