Kolab 3.0: Update,overview and release plans

Almost half a year ago I had the pleasure to write the Kolab 3.0 primer, and ways of getting involved. Optimistically I scheduled the release for May/June 2012 in that posting. Attentive readers may have noticed that it is no longer June and Kolab 3.0 hasn’t been released yet.

So perhaps it is time to provide an update and overview.

The main culprits for delays in this first release done by the new team are pretty much the usual suspects: Everything is more work than expected, you end up having to do more than you initially planned, including unforeseeable interruptions and there was less help than you hoped for.

The good news is: We’re almost there.

Much work has gone into the invisible underbelly of the technology, starting from the Kolab XML

format itself. Christian Mollekopf has done an unbelievable amount of work on libkolabxml and libkolab, the refactored Kolab XML format, and its API with wrappers in multiple programming languages to make Kolab integration as easy as being able to call the API to manipulate Kolab objects.

Christian also put Kolab XML V2 format support into libkolab so that clients using libkolab can work against either version of the format, and largely finished a migration tool from version 2 to version 3 to provide users with a data upgrade path. And finally he re-based Kolab support in the KDE Kontact client that is the basis for our desktop client on libkolab for the KDE PIM 4.9 release already. In fact thanks to some supersonic packaging in the Fedora community I am already using libkolab with KDE PIM 4.9 rc 1 against all my Kolab 2.3 servers.

Also we had to shed the dependency on the outdated Horde 3 framework for Kolab 3.0, which meant a good deal of conceptual work, such as coming up with a new Free/Busy System or dealing with conflicts in ways that are far superior than anything Kolab has ever done while maintaining full off-line capability, one of Kolab’s great advantages over other solutions.

When looking at these pages it should become obvious how much time has gone into truly understanding the problems at hand and resolving them solidly in a way that is publicly documented and allows participation from anyone in the community.

Enabling participation is in fact what we spent a lot of time on throughout the past months, from the Kolab Community web site relaunch, over the IRC meetings for Kolab 3.0 planning and development, to the hiring of Torsten Grote as Kolab Evangelist who went to work on the community resources straight away and is your dedicated community-go-to-guy-for-all-things-kolab, all the way to the intermediate release of Kolab 2.4 to make it easy for people to get Kolab servers up and running that would allow to tap into and participate in the ongoing development.

That release also featured quite a bit of work by Jeroen van Meeuwen, our Systems Architect and specialist for the most complex set-ups that scale to hundreds of thousands of users or do things that are widely considered impossible. Again much of that work has happened in the background, but will be fundamental for a lot of things you’re about to see Kolab doing in the next years to come.

Among these things are trimming back LDAP schema extensions to ensure that Kolab integrates into existing directory services more easily, be they in pre-existing corporate infrastructures, in products that wish to integrate Kolab, in cloud offerings or in proprietary directory services where Kolab provides the first bridgehead for migration towards more freedom of choice and Open Standards.

Also Jeroen and Christoph have been giving a lot of thought to how resource management should work, because our experience all too often was that many things were not done right to enable the kinds of work flows and scenarios people wanted to implement – not just in Kolab, but pretty much anywhere. So we gave this one quite a bit of thought that Jeroen shared on his blog.

Other parts are configuration management, including the REST inspired API for configuration of the server and the server underlying configuration management which will allow using any kind of configuration management in the future. And of course Jeroen was the key person to get the 2.4 release out of the door, as well as many other things.

The first application to make use of that API is the new web administration front end developed by Aleksander Machniak, one of the main Roundcube developers on staff at Kolab Systems. Already available within Kolab 2.4, this web admin interface is independent of the kind of directory service or configuration mechanism used in the background and extensible to virtually any scenario. If you wonder how it looks, Jeroen put some screen shots up on his blog. And last but not least he has spent much time on getting our documentation up to speed.

But of course it wouldn’t be a proper release without something falling victim to triage. In this case the victim is Server Side Akonadi. While it will add truly magical capabilities to the Kolab server, we designed the Kolab 3.0 release such that it would remain an optional component to make sure we preserve the ability to scale all the way down to small embedded devices. So because it is optional, and because we did not want to delay the release further, we have put it at the back of the priority chain and removed it from the list of blockers. But you should expect to find it in one of the next series 3 releases.

And of course we haven’t stopped at having given Roundcube its push to the 0.7 release and developing our new web interface on top of it. We’re now also trying to think about how that next web client should look like and how to bring things together with the desktop clients.

For this we are working together with the professional designer who is also responsible for the current and future Roundcube skins, and you can find some of his designs for the next generation web client of Kolab online here. If you have comments, we’d be happy to hear your input and receive your help.

In case if you want to get involved in any of the areas we’re working on, the upcoming Kolab 3.0 Technology Sprint in Berlin is perfect place for that.

This is also where we will be working on finishing of some of the more exciting things we’ve been playing with, such as ownCloud integration for the web interface. This is something we already have sketched in our webmail.klab.cc demo instance and several people have found this close to usable. So we’re overjoyed that Frank, Arthur and Georg of ownCloud will join us for the sprint and invite others who have technology or projects that would work with Kolab in interesting ways to also join us during that week.

And we particularly invite packagers for all the various distributions out there to join us for the sprint. Because we would love to have Kolab 3.0 be natively available on all platforms just weeks after it is released, and make its way into the upstream distributions. Doing this ourselves for all distributions is more than we can reliably ensure, especially since we also have to take enterprise distributions such as Univention Corporate Server (UCS) into account that add substantial work on that front.

Also, we’re not just developing the next generation server, we have also just enabled Mozilla Thunderbird & Lightning for professional usage with Kolab through plenty of work that has gone into SyncKolab by Niko Berger who has joined Kolab Systems to also provide a professional maintenance path for supported users.

And naturally there are still customers who want support as we do all of the above.

So even though I would still have plenty of things to feature I guess it should have become obvious that we have been far from inactive and I truly feel honoured and somewhat humbled to be working with such a great team of dedicated professionals and great minds.

A lesser group could not have achieved that much in such short time, and Kolab 3.0 when it comes out this summer is going to be one exciting piece of technology. I hope you’ll give it a try and will check out our company web site for how we can assist you in your professional needs.

But now, the magic incantation: Go forth and make Kolab 3.0!


Posted in Collaborate in Confidence, Free Software Business, KDE, Kontact, Updates | Tagged , , , , , , , , | Leave a comment

On the Kolab Server 2.4 Release

So a while back I gave a primer and insight into what would happen with Kolab 3.0, and now we’ve released an out-of-schedule Kolab Server 2.4 – what’s that?

There are a couple of reasons for this. Firstly, the Kolab 3.0 development cycle is well under way, and progressing nicely for the most part, even if we may have to do some feature triaging for the 3.0 release depending on how many contributors come to the task in the next month or two.

But even so it is going to be some time before that release is out after some testing, and simultaneously the OpenPKG set of packages of the Kolab Server is ageing. Quickly. Providing security updates is something that would be done in the ideal world, but it takes around two weeks to wrap a release, as even an individual component easily means the entire stack needs to be rebuilt.

That’s a lot of effort for something that’s been discontinued.

From a business perspective it is also completely wasted, as there are zero customers of Kolab Systems on that particular technology base. None. Some other service providers may have paying customers on that basis, which is fine. But in the way they have chosen to maintain those customers on that basis without upstream support, they have themselves chosen to become the upstream for the solution their customers are on. So we gladly give them everything they need to provide such updates for their customers, but they’ll have to do the work themselves, I am afraid.

Naturally they could also hire us to do this for them. But I’d rather prefer if they didn’t, because this packaging base and some of the technology contained within is fundamentally unmaintainable, while the new basis is much leaner, more modular and each component can be updated as required without affecting the entire stack. In other words: Up to date (release) engineering.

In any case, even if an employee of ours were hired for another OpenPKG release, that person would be missing from other activities, such as the native packages available through our software subscription for customers with upstream support. So I’d much prefer to have the employee work on that, to be honest.

At the same time, we do not want to let our community be without an update for too long, and we want to lower the barrier to becoming active in the Kolab 3.0 development cycle. The answer to all those questions was the intermediate Kolab 2.4 release. That release already gets so many things right that we really encourage anyone with interest in Kolab, Roundcube or Free Software Groupware to take a look themselves.

The fastest way to a running virtual machine is if you’re on Fedora 16 or 17 and have the virtualisation packages installed & the service running.

Simply run the script below kindly provided by Jeroen van Meeuwen, our Systems Architect.

Or take a look at the quick installation instructions on the kolab.org web site.


Fastest way to Kolab, courtesy of Jeroen van Meeuwen

Assumptions to the script:

  1. Purely demonstrative,
  2. Assumes libvirtd managed ‘virbr0′ network,
  3. Assumes no kolab-demo system already exists,
  4. is to be executed with something like as follows:
    sudo TMPDIR=/path/to/my/tmp/dir /path/to/setup-el6-k24.sh

Save the following as setup-el6-k24.sh and make it executable (e.g. chmod 755 setup-el6-k24.sh):


virsh destroy kolab-demo
virsh undefine kolab-demo
rm -rf ${TMPDIR:-/tmp}/kolab-demo.img
qemu-img create ${TMPDIR:-/tmp}/kolab-demo.img 8G
virt-install \
--name=kolab-demo \
--ram=2048 \
--vcpus=2 \
--disk="path=${TMPDIR:-/tmp}/kolab-demo.img" \
--location=http://mirror.switch.ch/ftp/mirror/centos/6/os/x86_64/ \
--extra-args='ks=http://hosted.kolabsys.com/~vanmeeuwen/ks.cfg' \
--network='bridge=virbr0' \
--hvm \


Posted in Collaborate in Confidence, Free Software Business, Updates | Tagged , , , , | 3 Comments

A bridge leading nowhere: Outlook-centric groupware

I have a confession to make.

I do not believe that Windows is the future of the Free Software desktop.

Perhaps you wonder why I feel it necessary to make this point?

A surprising number of Free Software (or Open Source, take your pick) companies, evangelists and journalists these days advocate some Open Core groupware solutions that focus on Microsoft Outlook as their primary client as “consequential” and “the best approach.” The term “pragmatic” is also quite popular among such comments.

Although some things could and should be said about this, let’s ignore the fact that not everything that calls itself Open Source actually is. That is a case of deception and deceit, of misleading advertising where the users only notice they’ve been locked in at the time they try to make use of the freedoms they thought they had gained. It is not specific to the area of groupware, though, and not the focus for this article.

There is a set of technical and strategic issues that make this approach a dead end.

That is not to negate the strength of Microsoft Windows on the desktop, or to try and ignore it. We always need to take the prevalence of Microsoft on the desktop into account. But there are paths of action that reduce dependency, and there are paths that increase it. Samba, Mozilla Firefox, LibreOffice/OpenOffice.org are all excellent examples of solutions that create more degrees of freedom. These are bridge-building applications. But where do these bridges lead?

Their approach is to interoperate by basing themselves on Open Standards that are equally available on all platforms, and then do their utmost to ensure they also support the Microsoft specific formats and the deviations from Open Standards that were often deliberately introduced to create incompatibility in order to facilitate lock-in. So they bridge towards empowering the user with Free Software applications that can now interoperate, thus enabling multiple platforms and reducing dependency upon Microsoft.

A groupware application that focuses primarily around Microsoft Outlook may seem related, but where does this particular bridge lead?

For one interoperability is often achieved at tremendous cost, such as storing the binary blobs of Outlook that are based on the in-memory application specific data structure in SQL databases. A somewhat better approach is MAPI as the transport layer for Microsoft compatibility. As long as there is a truly open and interoperable communication and storage layer and mechanism underneath, that is. The inherent danger is that MAPI becomes the primary and most important protocol in such an application, genuinely turning things back into a “every platform as long as it is Microsoft Windows” situation.

But even more importantly: By building a deeper habitual and technological dependency on Outlook, which only runs properly on Windows.

So that bridge leads towards where users already are: An ever increasing dependency on Microsoft Windows, which is the opposite effect of applications such as Samba, Firefox or OpenOffice.org/LibreOffice.

Worse, even, they block in particular the office applications due to a quirk in Microsoft’s licensing strategy which bundles Microsoft Outlook and Office. As a result, where one is already deployed, the other is already fully paid for. For the office suites that means LibreOffice / OpenOffice.org would have to pay users for using them. Everything else would be an added expense. Try getting this across the accounting department in a company that is struggling to stay within budget.

With groupware being a critical core functionality of any business, as long as MS Outlook stays firmly entrenched, the Free Software offices continue to have a much harder time catching up. So if your concern is to provide companies and users with more choice, investing into an Open Core groupware on the server can in fact strengthen the dependency on Microsoft Office if the deployment is predicated on Outlook as the client.

To make it worse the customer has now on good faith invested into something that promised openness and finds themselves deeper in the hole. Good luck getting that customer to trust in another solution that promises more degrees of freedom in a similar way and requires migration and further investment.

So while these Exchange competitors provide temporary relief in terms of cash flow, they do nothing to resolve the underlying problems, and companies that provide these kinds of solutions to their customers would be well advised not to oversell them as “Open Source Solutions with all the great advantages of Open Source” because they’d be misleading their customers.

Chances are the customer will anyhow harbour unjustified expectations even without the overselling, but overselling definitely increases the chance of leaving permanently scorched earth for Open Source / Free Software.

So what would be a sustainable approach?

Firstly, the solution should be based upon Open Standards as much as possible.

Secondly, it should be fully Free Software that is deserving of the name.

Thirdly, that solution should not predicate itself primarily upon Microsoft Outlook support. Support for Microsoft Outlook can clearly be a plus, but it should not permeate the design of the solution, nor should it be the only or even primary client of choice. So the client would be focused towards a truly heterogeneous client ecosystem, and ideally one that also assumes a multi platform world.

Then it should come with an up to date web client, mobile phone support and all the technical aspects users require, but it should not require a huge data centre to run it. In other words it should be able to scale up as well as down, to be installable on a single machine in an office as well as in a distributed cloud setup that can serve hundreds of thousands of users.

Why would you care about that level of scalability? Because it provides the grounds for ubiquity. And Microsoft has done a pretty good job at demonstrating how powerful ubiquity really can be. But that ubiquity depends upon a couple more factors. Such as the development process.

Does the solution you’re looking at actually have public development mailing list, issue trackers, wikis and such where the actual developers of the company driving it participate and can the community participate in the steering of the solution on all levels? Is there transparency of the development process, and is there a development process to speak of?

But most importantly: You don’t know your business requirements for the next ten years in advance.

What you do know, however, is that the domain of groupware is going to be a central part of that, because exchanging messages, planning your days and keeping track of the people you interact with is not going to become less important. Neither are the extended functionalities that are often associated, such as instant communication, telephony, video conferencing, collaborating on documents and so on and so forth. In all likelihood, its importance is going to increase as we move towards a more interconnected and cooperative world.

What does this mean for your decision right now?

You want technology that you can innovate upon and integrate into other technologies easily. That is partially covered by the Free Software & Open Standards points above. But there are also architectural aspects to consider here, and conceptual questions as to whether the solution is flexible enough to evolve with your needs.

Especially your groupware solution merits such in-depth analysis before you make a call.

Because lock-in starts at the application level this choice is an essential part of what you will be able to decide in the future. So next time you’re thinking about your groupware strategy you might want to ask yourself: Do you think that Windows is the future of the Free Software desktop? Do you believe it is the only desktop you should ever be able to choose?

If you don’t think so  I would unsurprisingly suggest you take a look at Kolab. Good starting points might be the Kolab Story, the Kolab 3.0 Primer, and of course the Kolab Systems web page.

But perhaps even  more importantly I believe this shows we need to be addressing groupware & office jointly if we want to displace Microsoft Outlook & Office.

So I invite everyone working on promoting the Free Software office solutions to get in touch and work together.

Posted in Collaborate in Confidence, Free Software Business, Kontact | Tagged , , , , , , , , , | 3 Comments

When you go to FOSDEM…

…don’t forget to pack your résumé.

If you’re looking for a job working on Free Software/Open Source, or want a change of positions, that is.

At the current point in time I am aware of existing openings for all sorts of profiles, including, but not limited to:

  • Red Hat/RHEL Systems Engineer
  • Debian Systems Engineer
  • Developers for Python, Qt, C, C++, Qt, KDE; PHP and Java with experience in solutions such as KDE PIM, Akonadi, Roundcube, Cyrus IMAP, OpenERP, TYPO3
  • Support Engineer
  • Technical Sales & Support
  • Marketing & Sales (of Free Software, mind you)

some of them positions we’ll be looking to fill in our own company, Kolab Systems, some time this year. Some of them are in our company group, some in befriended companies that keep asking me for viable candidates in various areas.

Naturally for Kolab Systems candidates with community experience, connection and participation will be preferred. For some of our partner companies it’s not that important. Some of these jobs would offer the opportunity to relocate to Switzerland, some of them would offer the opportunity to work from home, most of them are located in Europe.

And while I cannot promise that I’ll find jobs for everyone, or that I’ll have your dream job for you, I may just know an interesting place for you and will be happy to pass your résumé along.

So don’t hesitate to get track me down to have a chat!

Posted in Collaborate in Confidence, Conference, FOSDEM, Free Software Business, KDE, Kontact | Tagged , , , , , , | Leave a comment

A primer for Kolab 3.0 – and ways of getting involved

After several months of development sprint the new Kolab web frontend has been unveiled for RHEL and UCS. We’re in fact quite proud of what our team has achieved this year and hope you will agree:

Kolab Webmail

The main email view

Kolab Calendar

The calendar week view


This new web client is building upon the Roundcube Webmailer, considered the best Free Software web mail applications by many, and all changes made have been provided to the respective upstreams. The Kolab specific modules are being hosted by Kolab Systems.

In case you would like to see for yourself how this new client has turned out, we have set up a test & demo instance. You can request an account by sending email with your name, email & affiliation to sysadmin-main+kolab@klab.cc. If you want, you can also request several accounts in the same way to test calendar sharing and such. But please be aware that this instance is running on a fairly small virtual machine, so speed won’t be what you see in a full fledged installation. Also this is a test bed for some experiments of ours, which means there may be occasional breakage. If you find something that is broken and remains broken, please file an issue at https://bugzilla.kolab.org.

This web client is now available for customers as part of our standard supported offering, and for those currently using the Version 2.3 Community Release we have a KVM image that you can hook up against an existing instance to give you the interface right away. We would have liked to provide it even easier, and will probably do something in the future, but for the moment we felt that speed was more important than perfection and so wanted to let you have a look at this immediately.

Because OpenPKG has been on the deprecation path for two years now and no future release will use it, there won’t be the same smooth upgrade possibility. So we felt that one clean break is better than two successive ones over a few years and already did a lot of the cleanup of LDAP idiosyncrasies we had on our radar for some time. This has happened in the 2.4 experimental branch already, but as a result the old web admin interface which was hard-coded against the LDAP schema no longer works. Now of course one could try to hard-code it against a new schema. But then that would be a lot of effort for very little gain.

Knowing that we had reached the end of the line for incremental updates, it was time to jump.

That is why our next community release will be Kolab Server 3.0 as announced last week on our development list. Allow me to give you a little bit of an overview.

Towards new horizons

There will be a couple of under-the-hood changes for Kolab 3.0, and some very visible ones. A lot of work under the hood has already been prepared or begun on the grounds of the Kolab Enhancement Process (KEP) which has produced some pretty good output so far. These address capabilities in the format, as well as updates to match a technological world that has been evolving fast.

Under the hood

When Kolab started using IMAP as a NoSQL storage data base, this concept was not all that well understood by many people, and IMAP itself had only just begun lending itself to this kind of approach through the ANNOTATEMORE draft RFC. This is what Kolab has been using up and until version 2.3, but since this draft has long expired and has become RFC 5464 – The IMAP METADATA Extension, it is time to finally lay ANNOTATEMORE to rest. With KEP 9, we also introduce per-message meta data based on RFC 5257 – Internet Message Access Protocol – ANNOTATE Extension for which we have some plans that will hopefully become clear after the 3.0 release.

More importantly, we are giving the Kolab XML Format & Specification a fairly comprehensive overhaul based on a wide range of customer experience and also because the RFC process has completed two fairly important RFCs for us this year: RFC 6321 xCal: The XML Format for iCalendar and RFC 6351 xCard: vCard XML Representation. These will be the basis of our new Event, Task & Address book objects.

The entire format will be described in normative XSD, the code generated & provided through an API with language bindings for a wide variety of programming languages, making it easier than ever to write a Kolab client. This effort is led by Christian Mollekopf, who has prepared a KEP for the specification, and provided a good summary on the why’s and how’s of this approach, which came out of a community consultation process that took place on the kolab-format mailing list.

Kolab Server: Each box can be clustered individually

We also wanted to emphasize further on one of the great strengths of the Kolab Groupware Solution: Scalability. It is possible to set up the Kolab Server in ways that allow for natural high-availability, load-balancing & site reliability with a granularity of performance monitoring and adjustment that allows each individual component to be scaled up or down as required.

(And yes, we have implemented this kind of setup before. In two separate geographical locations. With all optional components. Built so it can scale up to 100s of thousands of users. Any machine can fail at any point without even disturbing the individual session of the user. It is a thing of beauty of which we are proud. We really wish we could talk about it.)

Naturally we like this aspect very much, but believe it may be possible to do this one better through our client-side technology developed in the recent re-factoring of what to us and our customers is the Kolab Client, and which you might simply know as KDE Kontact. We think this technology has potential beyond the desktop that we would like to explore. To us, it is called Server Side Akonadi.

This should be an interesting experiment, and will hopefully also contribute towards the overall speed, quality and flexibility of Akonadi on all platforms, including the desktop & mobile phone.

This will then be rounded off by the LDAP cleanups which will make Kolab near-fully agnostic towards existing LDAP setups, and of course configuration management updates, of which the most important and most visible will be the new Kolab Configuration API.

What you’ll see

Because we need to re-do the web admin in any case, we decided to do it right and make it a RESTful configuration API. This process is already in full swing with a Python backend and the new PHP based web admin being scoped out by Jeroen van Meeuwen and Aleksander Machniak (a.k.a. Alec) based on a draft by Thomas Brüderli. There is even some documentation already. Once we have a version that does at least what the old web admin did, we plan to wrap this into a 3.0-development release including the new web front end. Please note that this will be the starting point for the public 3.0 development cycle, and not a release you should use productively. Because things will break badly in the process of making all the under-the-hood changes described above.

In any case, the new web client will of course be the other major visible change in Kolab 3.0. But of course we are strongly committed towards keeping the interchangeable components approach of the server intact. So we also hope that people will help to make Horde 4 an option for the Kolab 3.0 server.

Meanwhile we’re getting on with the work, and we hope that some of you will join us. If you’re looking for something fun and interesting to do, what about any of these ideas?

  • Create a GTD module for the web client to complement Zanshin
  • Create a web client notes module compatible with the newer versions of KDE Kontact
  • Integrate a web based XMPP client on the web
  • Integrate ownCloud with Kolab on the server
  • [... please insert your idea here ...]

There is in fact a “formalized” approach in which you can throw your own ideas into the mix. You can find information about it here.

According to schedule, Kolab 3.0 will then see the light of the net in May/June 2012, and your favorite feature could be part of that.

So don’t just watch. Get involved! :)

Posted in Collaborate in Confidence, Free Software Business, KDE, Updates | Tagged , , , , , , | 10 Comments

So what might Digital Sustainability be?

There is a group of Swiss parliamentarians who are organized in a group for “Digital Sustainability” for which I’ve been asked to participate as part of an expert group that consists of  practitioners in a variety of fields, including Free Software and Open Standards. But while German Wikipedia at least has an article about Digital Sustainability, most people simply seem to apply the “I know it when I see it” test, which is somewhat less than satisfactory. What can be said is that most people intuitively seem to agree that Digital Sustainability would include aspects such as Free Software, Open Standards, Open Governmental Data, Privacy and a couple of other aspects. But how to define or describe it in a simple and transferable way?

So I recently found myself in a room with several other people trying to understand what we expect from Digital Sustainability and how to express it. In this discussion, after several other attempts, we narrowed it down to three aspects:

Trying to sketch Digital Sustainability

Digital Sustainability: Your digital relationship to society

So what you want for Digital Sustainability is:

  • Transparency: Access to know and understand the world around you, its power structures, and to the data & information to form your own opinion;
  • Participation: You are not limited to watching events unfold, can participate in the political process, shape opinions and provide processed information on the grounds of the data that is available to you and others;
  • Self-Determination: You define your own privacy, including for your digital environment, and determine how much of your information you are providing, and to whom.

In order for something to be digitally sustainable,  none of the above three principles may be violated.

Another way to think about it might be to see self-determination as the natural limitation towards how transparent your person should be to others and how much they should participate in your life, based on a principle of reciprocity since this is valid for every individual in society. The agglomeration of all of this then forms a consensus within and throughout society as to what things shall be governed jointly, and with equal participation of all.

So all three aspects need some form of balance, as your right to request influence is linked to the limits you set for your own self-determination. But pushing the limits of your own self-determination eventually causes friction once it comes in conflict with the self-determination of another person. That is when transparency and participation need to help to find a workable balance.

Or, as Richard coined it for the reciprocity principle behind the GNU General Public License: “Your freedom to swing your fist ends at my nose.”

Naturally this still represents work in progress, so I am not sure it is the answer to all questions in this area. But it seems to meet some of the criteria that I’d set for such a conceptual definition. Most importantly it is simple, understandable without technical knowledge, and allows to check existing services or situations for violation of these principles, and the result comes out at the right side of what I’d consider digitally sustainable.

So for me, this seems workable for the moment.

And if you like it, the next time someone asks you what is Digital Sustainability, you can draw them a picture.


Posted in Political Commentary | Tagged , , , | 3 Comments

OFE Summit 2011: Creating an Open climate for entrepreneurs in Europe

During the 2011 OpenForum Europe Summit I had the pleasure and privilege to chair the session on “Creating an Open climate for entrepreneurs in Europe” and the videos of the opening presentations are now online on YouTube, and included below in chronological order:

Fabien Pinckaers, CEO OpenERP is talking about his experience in setting up a Free Software/Open Source business and how his business works not despite, but because of software freedom:

Laura Creighton, VC is talking about some of the systematic issues of promoting innovation and entrepreneurship, and gives some insight as to why current EU funding is so ineffective due to addressing the wrong sector:

Chris Taggart, CEO, OpenCorporates is talking about his approach to increasing transparency in the corporate world for all, and the potential this holds for entrepreneurial activity:

The discussion that followed these presentations was interesting, lively and with good controversial points, which brought out some very valuable insights, in my opinion. Among others:

  • The European Commission is currently targeting less than 1% of European businesses with its research & development programmes, which look at heavy, centralized, old-school industrial development, and fail to target the knowledge economy ecosystem of small, agile, intelligent players that characterizes IT innovation;
  • The “Silicon Valley” is a social phenomenon more than it is technical that is unique in time and space and cannot be recreated. Through a tradition of sharing best and worst practices between entrepreneurs has allowed to overcome the obstacles for new businesses, which are hardly ever technical;
  • Advertising or technical development are not where most businesses fail. It’s getting the first 100 customers that cause the greatest issues because European businesses as users of IT are not innovation-seeking and are afraid to stand out between their competition for trying something new that may give them a competitive edge, or not. While companies in the U.S. love to try new technologies, the demand in Europe for new and innovative technologies is much smaller;
  • The Commission could aim to tackle this issue by allocating some of its R&D funding towards helping adoption of new technologies, e.g. through tax breaks for companies that adopt new technologies early and seek innovative edge;
  • Software patents remain the single greatest threat to a competitive European IT industry and are likely to destroy the beneficial impact of all R&D funding to date and in the future.

But these are of course only some points that stuck with me, there were many more.

For more excellent insights during the summit, the Open Forum Europe YouTube channel has the other presentations during the summit, I recommend in particular the ones on Open Data, which are highly pertinent and interesting.

Posted in Collaborate in Confidence, Conference, European Union, Free Software Business, Free Software Foundation Europe, Political Commentary | Leave a comment

Freedom in the “cloud”?

It’s come to the point that I was asked to explain what I consider necessary prerequisites for an open, free, sustainable approach towards what is often called “The Cloud” or also “Software as a Service” (SaaS).

To be honest, it took some time for me to make up my mind on the matter, and I considered many of the inputs that I’ve seen so far, in particular the Franklin Street Statement on Freedom and Network Services to be good enough for some time.

Clearly I’m sympathetic to the fundamental ideas behind Diaspora, ownCloud and so on. In fact, I myself am currently dedicating my life to the creation of a solution that should empower users to take control over some of their most central data – email, calendar, address books, tasks, see “The Kolab Story” – and thus to provide one puzzle piece to this picture.

So yes, I have developed an opinion by now and obviously I see attempts at “openwashing” such as “Open Surface” by Microsoft to be falling dramatically short on several accounts.

So what do I think constitutes a socially acceptable and sustainable approach to “Cloud Computing” or “SaaS”?

I think it may be simpler than what I initially thought. There are two primary points that now seem most relevant to me:

Right to restrict

Users must be able to restrict access to their own data, especially by their service provider. Participating in social networks, or enjoying the convenience of having your data available at all times should never have to come at the price of giving up privacy. So users must be given a choice to restrict access to their data as much as they consider necessary or desirable, from fellow users, and their provider. Similarly, they should never lose the right in their data simply because they use a certain service.

Freedom to leave, but not lose

Users must be able to switch between providers, or even to host their own data, if they so choose. And they must be able to do so without losing their network.

They should still enjoy the same level of interconnectivity and not be penalized for having switched providers in the form of having to convince all their contacts and friends to switch, as well.

Software such as StatusNet which is powering Identi.ca allows to set up your own instance – this is a step in the right direction.

From these follow a couple of necessary conclusions to get to this point:

Free Software necessary, but not sufficient

Free Software is a necessary, but not a sufficient condition. Without the software being Free Software, the Freedom to leave, but not lose is exceedingly hard to implement. So in my view the GNU Affero General Public License (AGPL) is strongly preferred, followed by the GNU General Public License (GPL) Version 3, but ultimately any Free Software license will do. Implicitly therefore I am also not adverse to allowing companies to differentiate themselves to some level on code, as long as that does not violate the principles above.

Decentralized & Federated

In order to allow switching without losing the network, any software in this context should be designed federated and decentralized, based on protocols that allow such interconnectivity as well as re-discovering users that have moved.

Open Standards

In order to facilitate the connection of services and providers, as well as allow for innovation and differentiation, a certain level of freedom to experiment is necessary. So software and services should provide truly Open Standards with ongoing interoperability work through plug-fests and automated test suites which give some indication on how well which services actually interoperate.

Transparent Privacy Policies

In order to have control over data, users first need to understand what they are (or are not) allowing the provider to do, which is typically not the case. Most users have never read the 20 page privacy statements which are written in ways that make telephone books seem an entertaining read. So we need a way to simplify this.

A set of standardized privacy policies, maybe with a simple visualization approach similar to what Creative Commons came up with, would be a very useful step forward here.

No change of policy without explicit consent

And naturally it should be illegal to change privacy policies on users without their explicit consent. They need to know what is changing, and how, and what will be the resulting level of privacy they enjoy – in the same clear, transparent and understandable manner.

Because much of this is fuzzy in the sense of being open to interpretation and evaluation, these will require monitoring, either through existing consumer protection bodies, through antitrust or standardisation groups, an existing or new NGO dedicated to this work, or something else. Off the top of my head I cannot think of a body that has both the mandate and competency to fulfil such a task.

So while I have some ideas, I obviously still don’t have all the answers.

Posted in Collaborate in Confidence, Fellowship, Free Software Business, Free Software Foundation Europe, Open Standards, Political Commentary | 16 Comments

Can’t believe I’ve just been HYTTIOAOA’d

So there I was. Having spent 10 minutes trying to work my way through one of the worst forms that usability demons have ever conceived of for some legal issues at a certain governmental body, I hit the final “submit” and get an error message that the submission had somehow failed.  No idea why, of course, please contact technical support. The following is the actual conversation:

Support: “Can you try again after clearing your temporary internet folder?”

Me: “I am not sure what you want me to do, to be honest. I have a browser, which has a cache, although that should not matter because this was the first time I visited your site. I don’t believe there is a temporary folder for the internet.” (What I was actually thinking was: “You want me to go through that awful form AGAIN?”)

Support: “You could try restarting your machine and then try the process again with a brand new form.  Do not use a saved form.  If the problem persists, please provide the reference numbers you are working on.”

Me: “It was a brand new form, but I am not sure what restarting the machine is likely to achieve. Are you perhaps assuming I’m running Windows?”

Support: “We only know that restarting a computer or trying with a different computer sometimes clears this problem. Possibly, this will help even if you are using something other then windows.”

Note how they know that trying this sometimes clears the problem. So apparently people have been having issues before and not always did the tech support resolve the issue. Go figure.

In any case, I cannot believe I’ve just been HYTTIOAOA’d.

Posted in Uncategorized | Tagged , , | Leave a comment

The Kolab Story

I’ve been woefully aware that while I did write about having chosen Kolab as my next challenge, I have consequently failed to communicate the most exciting part of why this became my challenge. So let me try to tell you the Kolab Story.


To understand the Kolab Story it is unfortunately essential to first understand what the situation is, and how others are seeking to address it. For the very largest part of this planet, Microsoft Windows is still the dominating desktop operating system.

While other systems, in particular GNU/Linux, have made huge improvements and are by now more or less the equal where usability is concerned, even the combination with the genuine advantages such as maintainability, efficiency, security, independence, control, investment security have not been enough to change that situation fundamentally, or at least not yet.

The reasons for this are widely known to most people in the field. There are of course all the practices that have been or should be subject to antitrust investigations, such as standards abuse, tying, or pressure on OEMs to favor Windows, which has led to effects such as the one where getting a computer without Windows license will be more expensive than getting the same hardware with Windows installed. So one of the primary reasons for the dominance of Windows, namely that when you buy a new computer, you get Windows, is still as strong as it was a decade ago. And Microsoft does not seem willing to let this one go either, on any platform, as this article demonstrates.

Due to decades of these practices, many software vendors have primarily focused on the Microsoft platform, fulfilling the strategy set by Microsoft around the late 80s/early 90s. The result are thousands of legacy applications around the world which are critical to a company’s success. Virtually all migration projects to Free Software on the desktop that I know of were struggling with that legacy. This is often combined with proprietary integration between server and client based upon undocumented and/or patented technologies not available to Free Software.

As a result, some migrations have their breaking points in the file server, which is why Samba 4 and the antitrust work that at least partially preceded it is so important; the office application, which is why it is important that OpenOffice.org and LibreOffice continue to flourish; or the groupware.

Groupware, or Personal Information Management (PIM), is a rather vague term. At its core it is usually understood to encompass email, calendar, address book and tasks. Its functionality was arguably the primary driver for the rise of smart phones and continues to be their primary function for many users. On the desktop or notebook it is typically Microsoft Outlook, with Microsoft Exchange on the server.

This is the primary offering of most competing groupware offerings, including those that market themselves as Free Software/Open Source, although rather often they turn out to be Open Core. But even where the label is justified, they primarily focus on the three core offerings of Microsoft Exchange: Microsoft Outlook on the client, web access, and synchronization to the mobile phone.

They typically deliver this cheaper than Microsoft Exchange, which is good for stained IT budgets. Microsoft is however known to dump its price whenever it is strategically useful. But there is another, bigger problem. Microsoft Oulook is focused on the Windows platform. And while the web clients give some level of platform independence even for Microsoft Exchange itself, there are many scenarios where web clients are just not good enough.

So the platform lock-in is in no way mitigated. It may even be increased, as there is yet another data source to migrate if the platform is to be replaced.

So if the goal is to regain some freedom of IT strategy and purchasing decisions, many of the alternatives are almost as unhelpful as remaining with Microsoft Exchange itself.

Enter Kolab.

Five Platforms. One Groupware.

Imagine you had a client that you could deploy on Windows which gives you the same range of functionality as Microsoft Outlook, but which is also available on other platforms, such as Mac OS X or GNU/Linux. This is precisely what the Kolab Smart Client based on KDE Kontact provides.

As part of the KDE PIM community, many of the protagonists of the Kolab ecosystem have been working on this new client which became possible due to the re-licensing of the Qt Toolkit. It is fully Free Software, and the entire code base is made available through KDE, so all users will eventually get to benefit from this work. But because KDE is not primarily business focused, because most volunteers work on KDE because they no longer want to use Windows, and because KDE has its own release cycles and a focus on development rather than deployment, there are always delays in the availability of these components on Windows. But even on GNU/Linux some users provide the feedback that they do not consider this “business ready and stable” for their purposes.

That is why one of the reasons why the partner network of companies around Kolab Systems along with its development partners KDAB and Intevation exist. We have the people, the experience and the business background to decelerate the rapid pace of development for our customers towards more business friendly release cycles, occasionally catching up to the exciting developments within the KDE community.

Naturally there are many people for who the community packaged versions are all they want and need, and we do what we can to help extend that, but if you want warranties, dependable time lines, guaranteed and defined support levels and the proverbial “one throat to choke”, the Kolab Enterprise Community and Kolab Systems give you just that.

But those are just three platforms. With Kontact Touch (if you’re curious, check out the screenshots), Kolab can also truly go mobile as a native application. Available already for the N900, Meego and Windows Mobile 6.5, the Kolab Touch Client can go pretty much anywhere Qt goes. As of recently, that includes Android.  It also includes the tablet PCs, sub-notebooks and other devices with touch screen. So five is actually something of an understatement.

And yes. If you want to deploy this kind of technology in your company, you can do that now. For reasons of scaling and initial stabilization branching, this option really only makes sense for entities of 1’000 users and above right now. But it will become more widely and generally available as more and more entities deploy this technology.

Meanwhile the stable version based on the previous technological generation but with some visual improvements to fit modern desktops remains available for GNU/Linux and can be deployed anywhere, and via terminal server can address some of the use cases with Windows on the client.

Although naturally sometimes you really need Outlook. In some scenarios it is inevitable. So you can of course get it via one of three connectors, of which one was recently certified against six different suites of Microsoft Windows and Outlook. As all data will then be stored on a Kolab server, migration of the client is much simplified in comparison to migrating from Microsoft Exchange directly.

Offline capability

And yes. All these clients have full offline capability, keeping the user fully productive even when the network is not. In a world where “always on” has been promised for a long time now, that may not sound like a big deal. In our experience, it is.

Because while the promise of “always on” may come true sometime, somewhere, the reality of users today involves flaky connections on trains, interrupted connections on airplanes, overpriced roaming charges and connections in hotels, and overloaded networks at conferences or public events. Infrastructure fails, and in our view your groupware should be able to compensate for that.

From this perspective, it is also not important whether the server actually goes down for a minute or two for productivity in your company. So in many scenarios your requirements towards high availability of the server are in fact reduced by the offline capabilities of the client.

Web client

This is obviously not the case for the web client itself, which typically runs on the Kolab Server itself, but can also be put on another server, potentially in a DMZ. The currently shipped client is based upon the Horde framework, other options are likely to become available within the year.

The web client is typically used as the backup option because the native clients are generally so much more powerful. And anyone who has ever browsed the Android store to see comments like “This just adds a short cut to the web page. Uninstall.” should be aware that we see a transformation of the web towards more data-centric protocols interpreted in the best way for the form factor at hand by local applications, whether they are deployed through HTML5 or otherwise.

Mobile synchronization

That is why Over-The-Air (OTA) mobile synchronization is so important, it makes the data available on the smart phone without network delays and in the most useful way for the user. So thanks to the integration project we did with our development partner Libertech, version 2.3 of the Kolab Server comes with built-in ActiveSync support which is routinely tested against Meego, Android, iOS, Symbian, Windows Mobile, and BlackBerry (with connector).

…and much more

And this is only a part of what is routinely deployed with support, e.g. the client also comes with strong cryptography and signatures for email (both S/MIME or OpenPGP) on any of the platforms mentioned above. But trying to cover it all would be too much, so a second part to this article is probably in order one or the other days.

Meanwhile there are also plenty of community projects for other Kolab components and connectors, such as the Mozilla SyncKolab extension for Thunderbird & Lightning, the native Android plug-in or a Free Software Outlook plugin. And users of Evolution can also give the new Kolab plug-in a spin. Feedback of your experience with any of these would be greatly appreciated on kolab-users@kolab.org.

Because Kolab is so highly modular and built upon standard components we all know, it can be integrated into virtually any pre-existing environment and hooked up with a great number of other technologies. Over the years, our partners have developed and deployed customer solutions with a great number of different additional modules and components.

So while this is only part of the picture, maybe it helps you understand why all the great things Kolab can do and become for me is something I got truly passionate and excited about.

What the Free Software community has in the Kolab Groupware Solution is technology that can be a game changer on desktop and server. So I hope that at least some of you will participate and become part of this change – as a user, developer, contributor, advocate or otherwise.

More information, as always, is available at http://wiki.kolab.org and http://www.kolab.org, which a team of volunteers is currently looking at rebuilding. Your help is welcome. :)

And if you want to talk business, come and join us at CeBIT!

Posted in Collaborate in Confidence, Free Software Business, KDE, Kontact, Updates | Tagged , , , , , , , , | 5 Comments