The dangers of open core
11/12/2010After attempting to upgrade to dotCMS 1.9, I got this error message:
The database you are running required a dotCMS Enterprise License.
Sadly, now I'm faced with a difficult choice. I can stay with dotCMS (and buy their most expensive package, which contains the Oracle support), or I can port. Unfortunately, the business unit that I'm supporting is not running Oracle because they have lots of money. Rather, they're running Oracle because it's been mandated.
dotCMS is a pretty great, actually. It is easy to use and develop. CMS solutions on the whole are often over complicated and difficult, but they've done a great job of making content management approachable.
So I have no problem with them charging for support or licenses. The problem is they've decided to now charge for something that I used to get for free. They've also removed the incident support, so suddenly we've found ourselves a bit stuck.
The first hit is free
The upgrade to the Open Source edition running on Postgres throughly failed, too. After much cajoling, I had managed to get it to start but it suffered from a lot of database inconsistencies, and it quickly became so muddled that I could no longer even login.
An enhanced upgrade process is part of the Enterprise license. I'm not sure what it does differently, but it must be better tested than the database migration in the open source package. It tries to run several DDL statements with autocommit on, so each time it failed the upgrade was unable to pick up where it had last failed. ( Postgres can do that .) Even their XML dump and reload procedure doesn't work between versions.
It sure feels like I was lured in and then trapped by a faulty upgrade process, too.
It's a trust thing
Once free you can't unfree. It pisses people off, but more importantly, it breaks the trust.
To sell to me, I need to trust you're not going to work me over later. See, for a vendor to sell to a large organization, they've got to make it past all sorts of nonsense. In my case, we have a ridiculous committee that has to approve new software. They don't care about any if projects succeed so long as they don't look bad. They have no incentive to approve anything.
Once a vendor is approved, they can later jack the prices up. Oracle is famous for this . Of course, no middle manager committee member really cares one way or another, so as long as the software is stamped by Oracle or Microsoft or some equally enterprisey name, then it gets approved.
Of course, once we have bought the Enterprise Uber dotCMS version, then it becomes the sanctioned software. Nothing else is considered. After all, we can't let that license money go to waste! New projects not only don't have to pay for the CMS, but (even better) they _ don't have to talk to the stinking committee _ . The is the very reason why I'm forced to use Oracle for nearly all projects, even in cases where Oracle is unsuited.
If I already don't trust this vendor, then I'm not going to recommend that my company buy licenses. After all, I'm the one that has to deal with them. Everybody else only looks at flowcharts and says things like, "What if you get hit by a bus?"
Doh
Now Oracle is talking about merging JRockit and the Sun JVM. Part of it will be Open Source, part will be a " premium JVM ."
The Oracle defenders are right, it is sensible to not have two wholly separate code bases. But even though nobody has really called it an open core yet, the description is apt. They will be the same codebase, but additional enterprise features will be sold as a better, not crappy version.
The difference is that Sun only had one version and it was standard and pretty good. Now that one organization is going to control both the free and the paid versions, the incentive is to push as many people toward paid as possible. It won't happen right away, but it has a real possibility of strangling the Open Source community that contributes so much vitality to the platform.
That this is coming from a company like Oracle, a company that is not only occasionally evil but seemingly relishes evil, is concerning. Oracle has no trust in the community. If they wanted, Java could devolve slowly into a very expensive legacy platform. Going open core is a good first step in that direction.
Finally, I saw this and I needed to repeat the sentiment: