1&1 COSMO Open Source

I am glad to announce that 1&1 open sourced COSMO, our CalDAV Calendar server to the calendaring community. You will find below some general info on 1&1 open sourcing but also more details about COSMO server.


In 2012, in Bucharest Mail and Media division, a new team was created with the goal to develop a new Calendar solution. Soon after start, analyzing the information on calendaring, we decided to base the solution on an open source CalDAV server: Cosmo from Chandler. Chandler, which has his own interesting history behind, (see more details here) was a closed project since 2008 when the community around it stopped developing the product. Considering the implications, we developed the server with the goal to be able to give COSMO back to open source community in the future.


I will not cover here the benefits of open sourcing or when it make sense to open source your code. I will provide some info on how to do it when all the other aspects are clarified.

Even if there are no hard rules to follow in 1&1 if you want to open source the code, it is very important to be fully transparent on your intentions from the beginning. First start discussing this with your Team Lead and make sure you have the full support of your team.

Steps to follow are easy and well described. There is also a dedicated InsideOne Open Source Wall where you can ask questions or read about other the experiences your colleagues had with open sourcing. As a side note, during the process we discovered that most of the 1&1 projects open-sourced are published under 1&1 Github account (hosting now almost 60 projects). However if your project is big enough it can also be published as a standalone one from the start or in two steps.

Getting starting with COSMO

Now coming back to COSMO.

The project contains only CalDAV core of our Calendar application. It provides an API that 1_calendarcontains abstractions over CalDAV and iCal specific objects and a plugin mechanism that allows developers to write custom logic without having to alter Cosmo Core code.

The goal is to keep this architecture simple and easy to understand and extend, separating specific implementations from protocol related ones.

Browse, demo, and learn how to use

The project can be downloaded from here: https://github.com/1and1/cosmo

After downloading it into project root directory you only need to run the mvn tomcat7:run-war and the calendar server will be packaged, tested and run. Then you can use the COSMO API from any calendar client running CalDAV protocol. Below you will find the steps to configure Mozilla Lightening client and use it with the COSMO server.

  1. Install the Lightning Thunderbird add-on and restart Thunderbird.2_calendar
  2. Press Alt + D to open the “File” menu.
  3. In the “New” submenu, select “Calendar”.
  4. Select the “On the Network” option and then “Next” to continue.
  5. Select the “CalDav” format.
  6. In the “Location” field, enter the path “http://localhost:8080/cosmo/dav/.
  7. Click “Next”.

So, in a few steps you will have a basic calendar solution up and running.

Any contribution or feedback is highly appreciated.

Category: Inside 1&1 | Technology & Development
0 comments0

Your comment