Firstly, I need to credit Dylan Jay for the excellent title of a talk he did, which I have pinched for this blog post. I have recently been reading "Confessions of a Public Speaker" by Scott Berkun, a fantastic book on speaking and presentations. One point he talks about is titles to talks, and how being 2a bit controversial will get people more excited. I very much hope that Dylan's talk was well attended, even if the vendor open source people didn't show up.
Dylan made some fantastic comments on my previous blog post and rather than just follow up there, I thought the issues should be given their own separate blog post in which we can discuss them further. So go read Dylan's comments, then come back here.
Both Dylan and I have come to the realisation that the Plone project and its community is pretty unique amongst not only its market (CMS / WCM) but also amongst Open Source projects as a whole. So far we have been 'selling' Plone as 'An Open Source Content Management System' in which the main USP is the fact that it is Open Source. I've previously said that I think that Open Source is the natural state that all Content Management Systems are going to eventually tend towards, as the nature of their implementation and the complex issues surrounding licensing (per user? per processor? what about virtual cores? external users?) mean that more and more CMS vendors are going to find their commercial license model harder to operate.
So the point being that over time just being 'Open Source' is not going to be enough to market Plone as it will no longer be a USP as all CMSs will be Open Source. I've talked about this previously. Not only that, but Plone is a fantastic system in its own right, regardless of its licensing structure, and I think deserves to be marketed on its strengths and features (ease of use, flexibility, security, etc) not just the fact it is Open Source.
Dylan raises a great point in his comment:
"...but really the root of the problem is that Open source was used to promote a set of perceived benefits that the term itself doesn't ensure. "We" the community created a brand that we couldn't protect. All open source actually means is that the code you can see the code."
He is right. "Open Source" technically just means that something is licensed under a license that is approved by the OSI. And there are many vendors of CMSs that are now technically "Open Source" - Squiz, Alfresco, Day, Nuxeo, ezPublish. However, in the Plone community, we have always described Open Source as more than just a license, but more of a business process -- a system, a methodology. Dylan's colleague Virginia Choy introduced me a few years ago to the concept of the 'bus number' -- this being how many people have to be hit by a bus to kill a project. With Plone, this is a very high number as the development is spread so wide with no real single point of failure. Even if you compare Plone to its nearest rival in terms of community Open Source content management, Drupal, Plone has over 350 core committers, whereas Drupal has less than ten. With 'commercial' CMS vendors then this number can be much less, or at least less diverse. ie. if Alfresco (the company) suddenly went bust then 90% of the contributors to their project would suddenly be unemployed. It would probably also take down their source control, bug trackers, mailing lists. And then there would be the issue of trademarks etc. Alfresco requires copyright assignment to them of any contributions made to the project. So does Plone, but the 'vendor' in this case is the Plone Foundation a 501(c)(3) not-for-profit organisation with an elected board of directors from the Plone community.
So how do 'we', the Plone community, encapsulate all of that in one two or three word term to describe what it is we do? I've never quite liked the term 'commercial open source' as Dylan points out, what does that mean? Netsight is a commercial company, and we pay our developers by customers paying us to deploy, customise and extend Plone. So is PretaWeb, Dylan's company. So are hundreds of other companies out there who make up the Plone ecosystem. In fact this is one of the things that immediately stands out about the Plone community over many other open source project communities in general. Plone developers and companies are a very talented, mature, and pragmatic bunch. For instance compared to many other Open Source projects, you find hardly any flame wars and jostling of egos that you might find on the lists of other projects. I think this comes from the fact that as well as develop code, most of the people in the Plone community have direct contact with customers that pay their wages. Squiz uses the term 'Supported Open Source' which I think becomes just as misleading as it infers that other Open Source projects are not supported. Instead of being just one 'Plone Inc.' there are hundreds of companies you can get support from and hence can find one local to you or who work directly in your sector.
Dylan suggests the term 'Open Development', which I really quite like the idea of. Some points he makes in support of this term:
- Open development means faster security patching.
- Open development means your investment in the product lost easily through acquisitions or strategic product decisions.
- Open development means you can influence the roadmap.
- Open development means your support is often local.
- Open development means there is a direct relationship between those that make the product and those that work with customers.
- Open development means greater innovation through diversity in inputs.
- Open development means good governance of a project because you have to when work as a distributed team.
- Open development means better code because it's worked on by people who love it.
I think there points are great, and really illustrate the point that with Open Development the balance of power is further shifted away from one central point and more towards the end users of the systems.
So what do you think? Do we need to look at adopting a new term for the work we do?