Q&A: Inverse CEO on building an open source Exchange alternative

Outlook clients to talk with SOGo through OpenChange, just as though it was an Exchange server
Inverse president and CEO, Ludovic Marcotte

Inverse president and CEO, Ludovic Marcotte

Use of open source e-mail groupware systems in the enterprise has been lacklustre with most organisations opting for products from Microsoft, IBM or cloud providers like Google. The market is ripe for competition and Canadian company Inverse is set to provide another option by integrating the OpenChange project’s Microsoft Outlook compatibility software into the SOGo open source groupware suite.

With a complete Exchange server replacement scheduled for release early next year, we spoke with Inverse president and CEO Ludovic Marcotte about open source groupware development, native Microsoft Exchange interoperability and data integration standards.

Tell us about SOGo’s history. How long has SOGo been in development, who started it and who are the main contributors?

The SOGo project was started in 2004 by Skyrix/Linagora as a fork of (OGo). The initial goal of the project was to support more than 60,000 users so parts were changed and others dropped to handle such a large user base. At Inverse, we got interested in the project because of our numerous large-scale email deployments we started doing in 2003. Our clients were looking for more - calendars and address books sharing, and synchronization with mobile devices.

Back in 2005, we evaluated pretty much all free and open source groupware solutions only to conclude that no available solution was filling all our clients’ requirements. However, we identified SOGo as a very promising platform and decided to improve SOGo to provide the community with the best open source groupware server. In 2006, Inverse started contributing to the project, which at that time, was quite abandoned. Today, Inverse is the leader behind the solution and the main contributor with over 20 releases in less than four years.

How extensively is SOGo deployed in business? Who’s using it and how scalable is it?

Inverse has performed numerous deployments of the solution - ranging from 25 to 100,000 users. We are also aware of many engineering companies, educational institutions, government agencies, all around the world, that have deployed SOGo themselves. SOGo is packaged for Debian, CentOS, Red Hat Enterprise and Ubuntu Linux so deploying the solution can be done very quickly. There is also the Zero Effort Groupware (ZEG) offering. SOGo ZEG is intended to provide a complete out-of-the-box testing environment of SOGo. It includes pre-installed and pre-configured software on which SOGo relies (like an IMAP and SMTP server) so that people with little technical background can deploy it.

SOGo's architecture is very horizontal so if your user base increases, you can easily add another SOGo server in the pool. It's important to note that SOGo relies on sub-components such as the IMAP server, the SMTP server and SQL server. Those must be fast and reliable to get the best from SOGo.

There are quite a few open source groupware systems available, what sets SOGo apart from the others?

As SOGo makes use of sub-components, it can easily be dropped on top of an existing infrastructure. When not available, best breed ones can be used from the open source community. This a nice advantage of SOGo from other popular solutions like Zimbra or Zarafa. SOGo also shares it look and feel, functionality, but more importantly its data with the popular Mozilla Thunderbird and Lightning applications. Combined together, those can be seen as the official desktop client for SOGo. Such combination of a web and native interface is quite rare among open source groupware solutions.

What sets SOGo apart from any other solution comes from its native Microsoft Outlook compatibility. Contrary to all solutions that provide Outlook compatibility, the SOGo project does not use or provide a MAPI connector for Outlook. Rather, we bring native compatibility by using the OpenChange server project – which provides an implementation of the Exchange protocol. This allows Outlook clients to talk with SOGo through OpenChange, just like if they were talking to an Exchange server – avoiding costly and hard to deploy and manage MAPI connectors. SOGo is the only “libre” solution to do this.

Does SOGo generally work with all types of clients (e.g. Kmail, Korganiser, Symbian, Android, etc)?

SOGo works perfectly with Mozilla Thunderbird and Lightning. Moreover, SOGo implements some Apple extensions which make it fully compatible with Apple iCal, Apple AddressBook or iPhone OS based devices. Through the Funambol SOGo Connector, virtually any SyncML devices out there can synchronize contacts, events and tasks with SOGo. Funambol clients are available for BlackBerry, Windows Mobile and Android devices. As for other clients such as KDE Kontact or Novell Evolution, they should work well through standard protocols like CalDAV and CardDAV.

SOGo is developed in an Objective-C framework. What are the pros and cons of this and how does it compare to PHP [many groupware systems are developed in PHP]?

SOGo is compiled software so the required hardware footprint is very low compared to PHP-based solutions. Objective-C is an object-oriented language that adds Smalltalk-style messaging to the C programming language. It's very easy to learn and very efficient. Furthermore, the Objective-C language is now very popular and the developer base is quite large as it is the preferred language for Apple to develop Mac OS X or iPhone OS based applications. Nevertheless, Objective-C is not a very popular language among GNU/Linux or Microsoft Windows developers but hopefully, that will change!

Page Break

Is the open source groupware space too fractured and what can be done to get more enterprise users?

Most free and open source groupware solutions have difficulties gaining traction among enterprise users due to their level of compatibility with Microsoft Outlook. When they provide MAPI connectors, such solutions often don't provide the required level of functionality and for a large amount of users, they become more expensive than just running Microsoft Exchange! Furthermore, lots of solutions try to do too much and end up not doing things right for the fundamentals of groupware – which are calendars, address books and emails with sharing capabilities.

Exchange support has generally been provided as a proprietary add-on for a few open source groupware products. Why do you think this so?

Microsoft Outlook users are generally reticent when it comes to changing to a different email and calendaring client. That is understandable so most solutions out there provide non-free MAPI connectors to let them use most of the functionality groupware products offer. Those MAPI connectors are good way for companies developing the groupware solution to generate revenues from licenses, while giving the solution itself for free. While this approach is respectable, we prefer the approach taken by the SOGo and OpenChange projects. It is an ambitious approach but OpenChange is very tied to Samba4 so the developer base is quite large and skilled.

SOGo is working with the OpenChange project to provide seamless Outlook-Exchange integration. How is this going and when do you expect to release a full open source Exchange server replacement?

Together with the OpenChange project we've developed a prototype in a short amount of time. This prototype demonstrates viewing capabilities of events, mails and tasks from Microsoft Outlook. The data was stored on a SOGo server which was transparently accessed from Outlook through OpenChange just like if SOGo was a Microsoft Exchange server. This approach is radically different than using a MAPI connector for each Outlook users you want to support as OpenChange implements the Exchange protocol. The development went extremely well - thanks to the nice folks of the OpenChange project. We expect a user-consumable version in early 2011. We will likely bundle this in the ZEG edition of SOGo which will become a turnkey Exchange replacement for everybody.

Is SOGo contributing back to OpenChange at all? Is there any other functionality you would like to see that project provide?

When we elaborated the prototype back in September 2010, we jointly identified pitfalls in the current OpenChange server. Those will be fixed quite quickly and the new API will allow us to finalize the SOGo storage provider for OpenChange. Inverse plans to contribute back improvements to the OpenChange project as we add them. One feature that will be nice to have in OpenChange is RPC over HTTPS. Inverse might well sponsor this feature if the demand and the user base of SOGo and Outlook is large enough!

In addition to Exchange support, what other features do you think modern groupware systems should have? For example, will social media support become a mainstream requirement?

Integration with social networks sure would be something nice to add to SOGo. Friends from those networks could be used by SOGo when scheduling meetings, sending emails and more. Features they provide such as chat system, pictures sharing and more could be easily accessible from SOGo. The deployment should also be faster thanks to ZEG, but cloud-based deployment scenarios using ZEG sure would be interesting. We always listen from clients and the community for improvements in SOGo and we would be very happy to receive feature suggestions.

Also, open source groupware systems tend to provide a lot of additional business apps like wikis, timesheets, etc. Any plans to make SOGo a “suite” of productivity apps?

For now, we try to focus on providing the best calendaring, address book and email solution. Trying to do too much in SOGo might make it harder to deploy or scale. We already provide excellent support for standard protocols like CalDAV and CardDAV so it isn't hard to tie SOGo with other solutions like a CRM through those protocols. High-interoperability is one of SOGo's strong point and very contacts, emails, events and tasks can be accessed over the DAV protocol. It's just a matter scripting to get data in and out of SOGo and use it with other applications, integrate it in portal applications and more.

How easily can SOGo be extended for additional functionality? Do you have an extension library or third-party extension repository?

The architecture of SOGo is based on bundles, which are essentially plug-ins. The mail, calendar and address book modules in SOGo are independent bundles. More bundles can be developed to add functionality in SOGo. Furthermore, we plan to add scripting capabilities to SOGo by using projects like PyObjC (a Python bridge for Objective-C). That will bring excellent scripting capabilities to SOGo as extension points will be provided and Python scripts could be developed to fulfil specific tasks.