On Castles and Monuments: Building the Kolab Business the Right Way
I am very lucky to live in the historic city of Stirling, in Scotland. I grew up nearby and, having done my time in London, I was pleased to move back here when I went into business for myself. The skyline of Stirling is dominated by two special buildings: Stirling Castle and the National Wallace Monument. Stirling Castle was a fortress built by the Scots to defend the north of the country against invasion by the English; Stirling was strategically important as the sensible point to cross the River Forth if you were trying to head north. The Wallace Monument is a large Victorian tower built in veneration of William Wallace, a local hero who fought tirelessly for the freedom from Scotland from English oppression. Apparently Mel Gibson does a pretty good impression. It is the Wallace Monument that I am particularly fond of; I can see it from my office window every time I sit down to get on with my work.
When I sat down to create Kolab Systems with Georg Greve, my friend and business partner, I had these two buildings in mind. You see a good Free Software company needs to embody the finer aspect of a castle and a monument. As a castle, a Free Software company should exist to protect its community and technology and, as a monument, it needs to venerate the work of those who came before and inspire the next generation into action. It should probably look quite cool, too.
To this end, Kolab Systems was built to support, grow and promote the Kolab community and, therefore, ensure that the technology is maintained as 100% Free Software for the benefit of its users.
In short, Kolab is a groupware solution: it maintains the personal information of its users. In addition to this, Kolab supports for team work through the sharing of this information. Now when we talk about groupware, the information we are talking about is email, calendar, task management and notes. In that respect Kolab is no different.
But Kolab is different. Kolab is 100% Free Software: no “open core”, no “neo-proprietary”, no nonsense. Rather than built from the ground up, Kolab’s design is based upon using best-of-breed existing software: Cyrus IMAP for all storage, OpenLDAP for user configuration, Postfix for mail transport, Roundcube for the web mail and Kontact for the desktop client. In addition to always making use of best-breed-technologies the design of Kolab has a very strong focus on both scalability (it will quite happily scale from a few users installed on a Raspberry Pi, all the way to hundreds of thousands of users supported with fancy “stuff” like cross-site failover) and security. In fact Kolab’s design is so well respected, it has even picked up an award; Linux New Media’s “Best Groupware” award, in 2005.
Now in its mission to support the Kolab Community, Kolab Systems has worked hard over the last two years to solve a few problems with the technology: dated web client, lack of mobile sync and unusual packaging method. Historically the web client for Kolab has been Horde. However, in order to keep pace with users who have expectations of ajax magic, Kolab Systems invested many man-hours into bringing Roundcube to the technology. Roundcube is a well-respected web mailer with a vibrant community of users and developers around it. Kolab Systems has worked closely with that community in order to deliver an exciting new experience for web users. At the time Kolab Systems was founded, mobile sync was a large weakness with the Kolab technology; Horde provided SyncML technology, but ActiveSync had really already won the mobile sync race. With financial backing from the Nlnet Foundation, Kolab Systems worked to integrate Zpush (the ActiveSync implementation from Zarafa) into Kolab. Packaging was the thorniest issue; historically Kolab was packaged using OpenPKG, an RPM-based solution that allows you to install software onto Linux servers without being bothered what the native packaging environment is. Sadly OpenPKG never really gained mainstream acceptance and our hand was forced in the direction of packaging natively for each distribution.
Having worked on these issues Kolab Systems and the wider Kolab community has, over the last year, started on development of Kolab 3, which is due for release later this year. Kolab 3 has been an opportunity for the Kolab community to tear apart Kolab and put it back together again whilst still remaining true to the original design principles that made it popular.
How Kolab Systems Goes about its Business
Kolab Systems can only support the Kolab Community because it has the financial resources to do so. Now with Free Software there are multiple business models that can allow a business to make some cash; there is only one which does not damage the relationships between the business, the community and the users.
The trick to successfully managing the relationship between a business and a Free Software community is to remember that the company is just another contributor and that all contributors to Free Software communities have certain responsibilities to uphold: be open about your goals, be transparent about your strategy, be committed to the success of the project, be generous with your resources and be humble with your attitude.
Be Open about Your Goals
Kolab Systems is very clear on its goal (yes we only have one); Kolab Systems exists to ensure that the Kolab Groupware solution is actively maintained as 100% Free Software. It’s as simple as that.
Be Transparent about Your Strategy
Kolab Systems needs to make money in order to fund the maintenance of Kolab Groupware. To this end we have 4 primary sources of business: quality-assured packages, support contracts, consultancy (strategic, deployment) and training. Kolab Systems will also accept requests for development services where the development is to be upstreamed into the Kolab community.
Be Committed to the Success of the Community
Kolab Systems exists to ensure the success of the Kolab Groupware solution. We said this already, right?
Community is a complex “thing” in the Kolab ecosystem. Immediately around the Kolab technology we have a community of highly-talented system architects and integrators: they are taking our upstream technologies (Cyrus et al.) and creating the Kolab experience from them. This of course, means that Cyrus, OpenLDAP, Roundcube, KDE, Fedora, Debian… are also within the scope of our community. We are committed to supporting all these projects in any manner we can. Which leads us nicely on to…
Be Generous with Your Resources
Kolab Systems is not an over-powered, VC-funded corporate beast; the business is being grown organically from the ground up. We are also smart enough to realise that we can deliver more value to our community than through cold hard cash. Actions speak louder than dollars after all.
Perhaps you run a Free Software community related to Kolab and would like your own supported deployment? Just ask. Perhaps you would like to to see your Free Software project integrate with Kolab and would like Kolab Systems to send someone from the Kolab community to you project’s conference? Just ask.
Be Humble with Your Attitude
Being humble is of particular importance to Kolab Systems. Whilst the company is the custodian of the technology, it is also late in coming to the game. Some of the other players in the community have been around for much longer and have deeper insights and experience than the business. Kolab Systems learns from these community members and continues to work with them to ensure the principles upon which Kolab was originally designed are not forgotten.
Being Part of Kolab
As I mentioned, development of Kolab 3 is now well-underway and we are always grateful for new contributors to join in the effort. Later this Summer Kolab Sys will be sponsoring the first ever Kolab developer sprint in Berlin (details to be published soon) and you are more than welcome to join us. Meanwhile, we have recently released Kolab 2.4, the first release to include the new Roundcube web client; we would love for you to try it out and to hear your feedback
So, please feel free to come and find us (we are always available in #kolab on freenode or at firstname.lastname@example.org and more information can be found here. We are always happy to help new contributors find their place within the community. Once you’re in, like the castle and the monument, Kolab Systems will always been on hand to help you protect your work (ensuring it remains Free) and celebrate your triumphs!
This article is based upon a talk given by Mirko Boehm (Agile Workers Software, a Kolab Systems Partner) at CeBIT, 2012.
Trained as a software engineer and specialising in process management, Dr. Paul J. Adams is the Chief Operating Officer for Kolab Systems AG. He has worked in both academia and industry as a researcher and senior manager, covering a variety of Free Software-related topics. Paul was awarded Chartered IT Professional status, in 2008 and is a full professional member of the British Computer Society (for whom he is co-founder and former chairman of the Open Source Specialist Group), IEEE as well as of KDE e.V. and the Fellowship of the FSFE.