Case study: rebuilding SOGo 6, the open source groupware
SOGo is an open source collaborative messaging suite used by companies and communities for more than twenty years. Sébastien Mizrahi, software architect in Lyon, is taking part in its complete rebuild: studies, architecture, prototypes, then development of the new API in Python.
The context
SOGo brings together webmail, calendars and address books, with resource sharing and permission management. It relies on documented standards (IMAP, CalDAV, CardDAV) and connects natively to many clients: Microsoft Outlook, Apple Calendar, iPhone, Thunderbird and a host of mobile devices.
Version 5, written in Objective-C on the SOPE framework, has more than 2,100 stars on GitHub. With SOGo 6, Alinto chose a complete rebuild: a modern Python API and a new web interface.
The challenge
Rebuilding software that has been deployed for twenty years does not mean starting from a blank page. You have to keep what gives it its value (the standards, compatibility with existing clients, administration) while offering a codebase that new developers can understand and evolve.
Before SOGo 6, I had already contributed to the development of SOGo, to running its community and to anti-spam tools.
Prototype before building
The project did not start with production code, but with the decisions that shape everything else.
Technical studies
Analysis of the existing system, the protocols to keep and the technology options for the new version.
Architecture proposal
Breaking down the new platform, separating the API from the interface, choosing the infrastructure building blocks.
Prototypes
A POC of a MAPI server, the Microsoft Outlook protocol, to clear the risky points before committing.
Development
Calendar, contacts and asynchronous agent, on a Python API deployed in containers.
The SOGo 6 platform
The interface and the API are two separate projects: the API can serve the new interface, scripts or any other application.
Source: public repositories Alinto/SOGo6-server and Alinto/SOGo6-UI, SOGo 6 documentation.
My contribution
- Technical studies and architecture proposal for the new platform.
- POC of a MAPI server, to assess how Outlook clients could connect.
- API development: calendar, contacts and asynchronous agent.
- Industrialisation: containers, deployment on Kubernetes, Celery tasks.
On GitHub, I am the main contributor to the SOGo6-server repository, with more than a hundred commits (September 2026). The code is public, under the GPL v3 licence: anyone can judge for themselves.
What this project shows
- Separating the API from the interface makes the platform open and replaceable piece by piece.
- Prototyping the risky points costs little and avoids committing to a dead end.
- Relying on standards preserves the whole ecosystem of existing clients.
- Working in open source demands code and documentation that everyone can read.
A demanding project? Let's talk architecture.
From Chaponost, near Lyon, on site or remotely. A quick reply with a first analysis of your needs.