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.
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.
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:
- Basic protocol — Provides the main messaging interface, and the ability to send and receive messages and to manage the folders on a remote server.
- 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.
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 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 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.
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.
Learn
-
Check out Part 1
to learn how to use the Ubuntu operating system and Part 2
to tap into the power of OpenOffice.
-
Learn more about OpenChange.
-
Get information about installing and using the OpenChange server.
-
Learn about the Samba project.
-
Get more details about the Samba4 project.
- In the Red Hat News,
"Fedora 11:
OpenChange" discusses how OpenChange is an important interoperability feature included
in the upcoming release of Fedora V11.
-
Learn all about the history and evolution of the OpenChange project.
-
In the developerWorks Linux zone,
find more resources for Linux developers, and browse our most popular articles and tutorials.
- Visit the developerWorks
Lotus Symphony zone
for loads of information and resources on IBM's office productivity
software.
-
To listen to interesting interviews and discussions for software developers, check out developerWorks podcasts.
-
Stay current with developerWorks' Technical events and webcasts.
-
Follow developerWorks on Twitter.
-
Check out upcoming conferences, trade shows, webcasts, and other Events around the world that are of interest to IBM open source developers.
-
Visit the developerWorks Open source zone for extensive how-to information, tools, and project updates to help you develop with open source technologies and use them with IBM's products.
-
Watch and learn about IBM and open source technologies and product functions with the no-cost developerWorks On demand demos.
Get products and technologies
-
Download the OpenChange MAPI Library.
-
Get the Gnome Evolution messaging client.
-
Get Akonadi, a broker between a range of PIM clients.
-
Innovate your next open source development project with IBM trial software, available for download or on DVD.
- Download
IBM product evaluation versions
or explore
the online trials in the IBM SOA Sandbox and get your hands on application development tools and middleware products from
DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
Discuss
-
Participate in developerWorks blogs and get involved in the developerWorks community.
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)





