Skip to main content
Microsoft 365

Open sourcing Exchange Web Services (EWS) Java API

Victor Boctor is a principal architect on the Exchange team.

Our last release of Exchange Web Services Java API was in January 2013 (see blog post). Since then, we’ve received feedback about several issues with our model for supporting the Java client APIs. These issues include:

  • License is restrictive. It doesn’t allow sharing of source code modifications except with Microsoft.
  • Hard to contribute. The project doesn’t utilize collaboration platforms like CodePlex or GitHub to facilitate the process for contributing bugs, reports, patches, and other kinds of contributions.
  • Release cycle. There should be a more regular release rhythm, with more fixes and improvements.

Based on this feedback, we decided to do the work to make EWS Java API a true open source project. To accomplish that, we made the following changes for this release (1.3):

  • open source initiative approved licenseWe released under MIT license (approved by Open Source Initiative and friendly for usage in Open Source and Commercial products).
  • We released source code on GitHub via ews-java-api project, which will be leveraged as the primary platform for development of the project.
  • We welcome contributions from the community via GitHub issues, pull requests, and more.

These improvements enable the Exchange community of Java developers to contribute and help drive the project. You will also be able to leverage the latest dev or stable releases as you need them to enable your scenarios.

Some of the other modifications for the 1.3 release—so far—include:

  • Moving to use Maven for build system.
  • Fetching dependencies via Maven Central Repository.
  • Leveraging Maven to generate documentation site as part of build.
  • Javadoc fixes.
  • Using Markdown rather than Microsoft Word for the “Getting Started” guide.

These improvements should enable you to effectively collaborate on the project. So go ahead and submit your private fixes as GitHub pull requests to make your contributions to the 1.3 release and beyond!

We’ve also made available an Office 365 REST API with OAuth 2.0 support and an Android SDK that uses these REST APIs. This new API is recommended for developers who are targeting Office 365 customers, and you can continue to use the EWS Java API if your customers have on-premises Exchange, or the functionality you need isn’t yet offered as part of the REST API.

Thank you for your interest in Exchange. We welcome any feedback you have on our APIs and look forward to your using and improving them.

—Victor Boctor, Twitter: @vboctor