Skip to main content

Saving money with open source, Part 3: The OpenChange solution offers great promise

Martin Brown (mc@mcslp.com), Freelance Writer
Martin Brown has been a professional writer for more than eight years. He is the author of numerous books and articles across a range of topics. His expertise spans myriad development languages and platforms -- Perl, Python, Java, JavaScript, Basic, Pascal, Modula-2, C, C++, Rebol, Gawk, Shellscript, Windows, Solaris, Linux, BeOS, Mac OS X and more -- as well as Web programming, systems management and integration. He is a regular contributor to ServerWatch.com, LinuxToday.com and IBM developerWorks, and a regular blogger at Computerworld, The Apple Blog and other sites, as well as a Subject Matter Expert (SME) for Microsoft.

Summary:  In today's economic climate, everyone is looking for ways to reduce expenses. In the IT sector, one way to cut costs is by turning to open source alternatives instead of using expensive licensed products. This last part of our series explores OpenChange, which is designed to be used as an Exchange groupware server. E-mail is probably the backbone of your business; When the e-mail servers go down, everything can quickly grind to a halt. In this article, learn about the OpenChange e-mail server and whether it is ready for prime time.

View more content in this series

Date:  29 Sep 2009
Level:  Introductory
Activity:  2910 views

Introduction

Using open source alternatives to expensive licensed products can save you a bundle. This "Saving money with open source" series analyzes three open source options for your operating system, office application suite, and groupware server:

  • Part 1 reviews Ubuntu, a very capable and usable open source operating system that can easily provide the basis for your desktop or server infrastructure.
  • Part 2 explores the features of the OpenOffice application suite, which provides the bulk of the applications (word processor, spreadsheet, and presentation tools) to support a business.
  • And this article analyzes OpenChange, which provides a portable open source implementation of Microsoft® Exchange Server and Exchange protocols. Exchange is a groupware server designed to work with Microsoft Outlook, and provides features like a messaging server, shared calendars, contact databases, public folders, notes, and tasks.

For optimal performance, most companies need an e-mail or collaboration tool that lets users send e-mail and share information. There are many potential options for e-mail services. But let's consider exactly what functions most companies really need.


E-mail services and beyond

There are a lot of e-mail services available, many of which are from the open source community. The open source community develops solutions based on open protocols, such as Internet Message Access Protocol (IMAP), Post Office Protocol (POP), and Simple Mail Transfer Protocol (SMTP). Many of these protocols, and the open source solutions that were developed, are decades old and are common solutions in organizations using both open source and commercial solutions.

For many organizations, the need for a mail protocol is only part of the problem. They also need a way to share:

  • A global address book for disseminating e-mail and physical address details.
  • Calendar information, so everybody knows what others in the company are doing.
  • To-do lists, notes, and other tools.

Effective e-mail solutions involve more than simply e-mail and include all of the solutions that support a collaborative environment.


The Exchange protocol

Despite the range of available open protocols for communicating by e-mail, the most widely used protocol in many organizations is the one used and supported by the Microsoft Windows® Exchange e-mail server.

Microsoft Exchange supports the IMAP, SMTP, and POP protocols. However, most systems administrators do not enable support for these protocols or they explicitly disable them in order to enforce use of the Exchange protocol and for use of the Microsoft Outlook® client.

There are many reasons for using the Exchange protocol. From a systems administration perspective, a primary reason for using Microsoft Outlook is to take advantage of the ability to limit and control the Outlook environment through the Group Policy and Active Directory service. From a user perspective, Active Directory allows for single sign-on to a computer, including establishing the e-mail settings through Outlook directly from the user profile. You can log in to any computer within the organization and have automatic access to your e-mail.

The downside to this approach is that the choice of an e-mail client to use the Exchange protocol, even on Windows, is fairly limited, and even more so on non-Windows platforms.

The Exchange protocol is proprietary. Clients make calls to the Messaging Application Programming Interface (MAPI), which in turn uses a protocol such as Remote Procedure Protocol (RPC) to communicate with the back-end servers. There are two levels of the main protocol:

  1. Basic protocol — Provides the main messaging interface, and the ability to send and receive messages and to manage the folders on a remote server.
  2. Basic interface — Provides all the functions you would typically expect within a basic e-mail client.

The Extended MAPI service allows full control of the information on the remote server, and includes the ability to manipulate more complex information and structures. It is the extended protocol that provides the richer functions associated with a collaborative environment, such as the ability to create and use address books, calendar entries, notes and other information. In short, this is the complete suite of collaborative tools and functions organizations are looking for.

However, both Microsoft Windows and Exchange rely on a per-seat, or simultaneous-connection, licensing model. This can make an Exchange-based solution an expensive option, even if it does provide all of the functions you need.

As with OpenOffice, when thinking about open source alternatives, compatibility is a key requirement. Whether you're looking for client-level compatibility with an existing Exchange server or server compatibility to let you use existing Outlook clients to connect to an alternative server, be sure to review your compatability requirements.


Exchange-compatible clients

It's no surprise that the majority of Exchange-based environments expect the client accessing the service to be using Microsoft Outlook, the e-mail/PIM component of Microsoft Office.

For any open source solution for using Exchange, two key elements are the implementation of the MAPI interface for making the calls and the MAPI/RPC protocol for communicating the information to the server.

There are several solutions available, including the OpenMapi project and the libmapi project. The libmapi project is part of the larger OpenChange project that hopes to provide client- and server-level compatibility for communicating and working with the Microsoft Exchange protocol.

The Evolution project is part of the Gnome project, which is responsible for creating the Gnome desktop environment (which is a standard part of many Linux® and UNIX® desktop environments). They build the API and environment that allows you to create the windows, icons, and other components, in addition to many utility APIs.

Evolution builds on the Gnome environment to support e-mail, address book, and calendaring functions of a typical PIM. The back end of the Evolution client includes support for several connectors that provide the interface between the main e-mail functions and the servers on which they rely. Among these is the MAPI component that enables Evolution to communicate with an Exchange mail server to send/receive e-mail, and to handle the address book and other functions.

Another e-mail client, the KDE Akonadi project, is also using the OpenChange MAPI libraries to provide Exchange functions. KDE is the other major desktop user interface project within the Linux environment. The functions offered by Akonadi are similar to that of Evolution, with the added ability to communicate with other components within the KDE stack, such as the KDE Office suite.

Using the library is seamless, and there are few compatibility issues. According to Brad Hards, a developer working on the KDE and OpenChange projects, the major difficulties are with the calendar, address, and task information. The core of the protocol, used for sending, receiving and handling e-mail, are fine. Most people would be completely unaware that they were communicating with an Exchange server instead of one of the open source products, such as Cyrus, which supports the IMAP protocol.

More importantly, and critically, for a project of this sort, the Exchange server is completely unaware that it is communicating with anything but another Exchange-compatible client. Users from non-Windows platforms can connect to the Exchange server and fully use the functions without the administrator having to enable IMAP and other protocols, while still allowing for full control and use of the Exchange functions. From a compatibility standpoint, this is critical. Linux users who have, or want, to work within a Windows environment can take full advantage of the ability to exchange e-mail, address book, and calendar information.


The Samba connection

The OpenChange project uses code and libraries originally developed as part of the Samba project. Samba is an implementation of the Server Message Block (SMB), and more recently, the Common Internet File System (CIFS), which is used within Windows to share files, directories, and printers.

Samba is another well-established project that has been available within the UNIX/Linux space since the early 1990s. The current stable release, Samba V3.x, includes compatibility with the Active Directory system used in Windows to share and provide user profile and authorization support.

OpenChange will use functions provided in Samba V4.0, which is a rewrite of the Samba V3.0 code that will also give Samba the functions to act as an Active Directory server and client, in addition to supporting SMB, CIFS, and printer sharing.

The Samba component is key to the success of the server component of OpenChange. The current development process started in January 2006. As of this writing, the project is yet to be released, so it is a deployment limitation for the server implementation.


The OpenChange server

The second part of the OpenChange project is to provide a transparent replacement for the Microsoft Exchange Server. The OpenChange team will use the protocol experience gained on the libmapi client project to provide the protocol compatibility. The server solution works as a back end in combination with the main Samba server, SMBD, to provide the core functions.

The starting point for the OpenChange server is another project called MAPIProxy. MAPIProxy is designed like a typical proxy process to relay messages from a MAPI-compatible client to an Exchange server and back. The original intention was to provide a method for monitoring or debugging the MAPI protocol exchanges between the client and servers. However, once you have a proxy capable of understanding the MAPI protocol and intercepting the information being exchanged, it's easy to start providing services that communicate over the MAPI/RPC protocol to the clients.

The OpenChange server will ultimately provide the same functions as the Exchange server — handling all the mail, address book, and other components — and store the data locally in a separate file store.

The OpenChange server project has the potential to provide support for two types of Exchange users:

  • For desktop Windows users, the server will provide the much-needed compatibility that provides the ability to communicate with a server based on open source technology — providing the same functions as the licensed and proprietary Microsoft Exchange server.
  • Linux users making use of the Evolution or Akonadi clients in combination with the OpenChange server will have access to functions that have, in a convenient single application environment, been comparatively lacking within the open source space.

There are solutions available, but they often rely on making several different and sometimes diverse components work together. The result should help resolve a genuine need within the open source space, and will provide the compatibility required to communicate and work with existing Windows users.

From an administrator's perspective, configuring and using the OpenChange server and clients is less convenient than similar endeavors in the Windows environment and with the functions offered by Group Policy.

The profile, user, and other information stored within the Active Directory on Windows will obviously be supported by the Active Directory support within Samba4.


Summary

Making the migration from a client perspective to using the Exchange protocol with a mail-client solution, such as Evolution or Akonadi, is a simple proposition. It is not a complex process; for a large number of installations and migrations, it should be relatively straightforward. Some companies are already using Evolution as a solution for allowing Linux users to access and communicate with other Exchange users.

Currently, the interface, stability, and functions offered by the OpenChange server project are not up to the same level as what is offered within the client environment. Since the project is still under development, you should consider the maturity and availability of the project compared to other available solutions. Overall, the project shows considerable promise as a solution in terms of supporting Outlook and other Exchange clients and as an all-around solution for managing and handling e-mail and collaboration tools without having to separately set up the different components.

Eventually, the OpenChange server and the Samba project on which it relies will be complete, but it is difficult to recommend the project in its current state.


Resources

Learn

Get products and technologies

Discuss

About the author

Martin Brown has been a professional writer for more than eight years. He is the author of numerous books and articles across a range of topics. His expertise spans myriad development languages and platforms -- Perl, Python, Java, JavaScript, Basic, Pascal, Modula-2, C, C++, Rebol, Gawk, Shellscript, Windows, Solaris, Linux, BeOS, Mac OS X and more -- as well as Web programming, systems management and integration. He is a regular contributor to ServerWatch.com, LinuxToday.com and IBM developerWorks, and a regular blogger at Computerworld, The Apple Blog and other sites, as well as a Subject Matter Expert (SME) for Microsoft.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source
ArticleID=430789
ArticleTitle=Saving money with open source, Part 3: The OpenChange solution offers great promise
publish-date=09292009
author1-email=mc@mcslp.com
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers