incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Darren Hague <>
Subject Re: [VOTE] Accept ESME into the Apache Incubator
Date Mon, 17 Nov 2008 14:25:42 GMT
Bertrand Delacretaz wrote:
> On Sun, Nov 16, 2008 at 8:12 PM, Darren Hague <> wrote:
>> ...I think that now is the right time for a vote, so please vote +1 to accept
>> ESME into the Apache Incubator, or -1 (with comments) if you think ESME
>> should not be in the Apache Incubator in its present form....
> Could you please copy the proposal from
> here in this thread? As
> that wiki page might change later, this helps documenting what we
> voted on.
Good idea. Here is the proposal, last changed on 8th November:


Enterprise Social Messaging Experiment (ESME) is a secure and highly 
scalable microsharing and micromessaging platform that allows people to 
discover and meet one another and get controlled access to other sources 
of information, all in a business process context.


We propose to move future development of ESME to the Apache Software 
Foundation in order to build a broader user and developer community. We 
hope to encourage contributions to and use of ESME, especially as an 
enterprise-grade text messaging platform for use behind the corporate 


Adopting social networking concepts such as tags and groups, ESME 
provides the business communications framework that allows for the 
fastest and most reliable way of discovering the best solution to 
everyday problems for people working in peer and extended networks. It 
reduces the risk of applying suboptimal solutions by making it easy to 
find the right people at the right time with the expertise for a given 
situation by allowing the participation of mobile workers, integrating 
with existing systems, and providing for contextually appropriate 
document attachments.

The ESME architecture has been devised to meet the business requirements 
associated with reliability and scalability. The use of the Scala 
programming language and the Lift web framework on the server provides 
rapid development capability as well as browser push functionality 
("Comet") as standard. The open server side architecture allows other 
messaging environments - internal (Alerts, Enterprise Services, etc.) as 
well as public (Twitter, external web-services, etc.) - to be consumed 
as messaging sources. An event-driven actions framework within ESME 
allows users to filter their information flow as well as to forward ESME 
messages to other systems via HTTP or email.

The ESME server is written in Scala and uses the Lift web framework to 
produce a browser-based user interface and also to expose a REST API. 
This allows for other clients, and an Adobe Flex/Air client using the 
REST API is a part of the project. Search functionality and textual 
analysis is provided by using the Compass wrapper for Lucene.

The use of Adobe Flex/AIR on the client assures that business users are 
given a user interface that meets their needs regarding functionality 
without clutter. ESME's open architecture enables the possibility of 
other client technologies such as Symbian S60 mobile, SAP Web Dynpro, 
RIM BlackBerry <> and Apple 
iPhone as examples.

The alpha version of ESME is currently "live" at [WWW] and the AIR client is also available to 
download from the same address. This version was presented in front of 
around 5,000 developers at the Demo Jam events during SAP's Tech-Ed 
conferences in Las Vegas and Berlin.

ESME focuses primarily on usage in enterprise settings where the use of 
open-source software is often controversial. Our decision to move to 
Apache will help further the use of open-source software in corporate 
settings especially as it has already been architected for inclusion in 
SAP environments.


ESME has attracted a great deal of media and end-user attention based on 
its unique feature-set and the underlying technology (see [WWW] We believe that 
ESME's vision is unique in the area of microsharing.

The ESME project team is interested in joining the Apache Software 
Foundation for several reasons:


      To help the project attract contributors and service providers who
      will feel more comfortable with the licensing coming through a
      respected, well known and established organization such as Apache.


      To facilitate the growth of a broader community of users. The
      project currently lacks sufficiently clear direction, leadership,
      and process; we believe the project will benefit greatly from
      Incubator mentorship.

As the only open-source micro-messaging ("Twitter-like") project which 
is both enterprise-oriented and targeted at the Java platform, we think 
the ESME project is an ideal fit for the Apache Software Foundation.

    Current Status


Since the project's inception, its development has been coordinated 
through collaborative decision-making on the mailing list, through daily 
scrum calls, via Twitter and using open discussion on ESME itself. The 
ESME community encourages suggestions and contributions from any 
potential users and developers. The ESME team has no leader: it operates 
by consensus among a set of core contributors aided by a larger group of 
allies who help the project in any way they can. All of the core 
developers are committers to the current repository; new committers are 
granted access once they have demonstrated an understanding of ESME and 
have at least a proof-of-concept of their patch working.


Many members of the team are SAP Mentors, i.e. professionals who "are 
role models who differentiate themselves through the high quality and 
frequency of their community contributions, their perspectives, 
attitudes, and interaction styles. They are subject-matter experts who 
are passionate about SAP and share their opinions and insights with the 
community" (Source: [WWW] 
In addition, team member David Pollak runs the Lift project, and is an 
active member of the Lift and Scala communities.

The important role that the community plays is also evident in the 
number of available ESME clients (ABAP, VBA, Java, Javascript, etc.) 
that were contributed by the community and which are either available in 
the Google Code repository ([WWW] 
or on the ESME blog ([WWW]

      Core Developers

David Pollak (most of the Scala code) Darren Hague (some Java, Scala and 
JavaScript <> code) Mrinal 
Wadhwa (most of the AIR/Flex code, some HTML) Thomas Jung (most of ABAP 
code) Athavan Raja (some of the ABAP code) Vassil Dichev (some Scala 
code) Dick Hirsch (VBA & JavaScript 
<> code) Anne Kathrine 
Petter√łe (some HTML)


ESME aligns well with ASF projects utilizing J2EE infrastructure such as 
Tomcat. Of particular relevance are projects such as Lucene and Maven. 
Key libraries used include Lift and Compass, both of them 
Apache-licensed projects. ESME does not use any GPL code.

Although ESME originated within the SAP community and has SAP-specific 
extensions, the core server code is and will continue to be designed to 
run on any J2EE-compliant server. SAP- (or other vendor-) specific 
extensions will be implemented as modular plug-ins, so as not to create 
a dependency on SAP or any other vendor.


The ESME codebase is Apache 2.0 licensed, and currently hosted at Google 

    Known Risks / Avoiding the Warning Signs

      Orphaned Products

Most of the active developers aim to become Apache committers and have a 
long term interest in developing and maintaining the code.

Most of the Scala and Lift knowledge for the ESME server currently 
resides with David Pollak. If David were to leave the project, this 
would significantly affect the pace of server-side development. However, 
Darren Hague, Vassil Dichev, Mrinal Wadhwa and others have all spent 
time working with the server code and could continue the work in David's 
absence, albeit more slowly. In addition, we hope that joining the 
Apache Software Foundation will help bring in more developers who may be 
interested in using ESME to learn or polish their Scala & Lift skills. 
In time, this would mitigate the project's dependence on David's 
knowledge. Another mitigating factor is that the Scala and Lift 
communities have active and helpful mailing lists for any queries that 
the ESME team may have.

      Inexperience with Open Source

As a lead developer, David Pollak has significant experience with 
open-source projects including Lift, Social Fabric, and others. His 
guidance has been extremely useful in ensuring we use libraries with 
Apache-compatible licenses. Although many members of the team have no 
prior open source committer experience, they have become familiar with 
the open source approach through their involvement with ESME, which was 
community-based from the start, and moved source control and issue 
tracking into the open on Google Code in September. Moving to the Apache 
Software Foundation would enable the team to learn more about open 
source project governance and to correct bad habits such as a tendency 
to use our private Google group for discussion and a tendency not to 
record minutes during our team conference calls.

      Homogenous Developers

The ESME project team consists of more than just developers. As a result 
of our focus on the enterprise, the individuals involved range from 
process experts, UI designers, bloggers and marketing gurus to Java 
developers, Scala developers and ABAP developers who are joined by a 
common desire to bring microsharing to the enterprise.

The current list of committers includes developers from several 
different companies plus many independent volunteers. The committers are 
geographically distributed across the U.S., Europe, and Asia, and they 
are all adept at working in a distributed environment.

      Reliance on Salaried Developers

Some of the initial committers are salaried developers employed by SAP. 
Like everyone involved in the project, however, they work on ESME in 
their own time, and SAP does not own any of the ESME code. The remaining 
developers are individual volunteers who are passionate about technology 
and the ESME vision.

      Relationships with Other Apache Products

ESME uses Maven for its builds, and the current stable release is 
deployed on Tomcat at [WWW]; when running in 
developer/test mode, it uses Derby as the database; Lucene is used for 
the search engine, wrapped by the Apache-licensed Compass library. A 
closer association between ESME and Apache OFBiz may also be of 
interest, since ESME has already proven its ability to integrate well 
with SAP and other ERP systems. A tighter integration in this area could 
prove beneficial to both projects.

      An Excessive Fascination with the Apache Brand

The ESME team will strive to avoid inadvertent abuse of the Apache brand 
and will work with the Incubator to ensure the brand policies are 
respected. Although the impact of the Apache brand cannot be ignored, it 
is more a valuable by-product of joining the Apache Software Foundation 
than an aim in itself: our primary motivation is to enable ESME to 
benefit from the Apache Incubator's experience with the diverse projects 
with which it has been involved. This would provide us with direction 
and help identify ways to improve our processes.

      Maturity of the Lift Framework

The Lift framework, used heavily by the ESME server, has not yet reached 
version 1.0 and has been subject to breaking changes in the API; in 
order to get support from the Lift developer community, ESME needs to be 
built using the nightly builds of Lift. However, we expect that the API 
will become stable at the end of 2008 when the Lift 1.0 release 
candidate becomes available.










      Initial Source

Originally hosted on Assembla, the code is currently hosted on a 
Google-Code Subversion server.


All dependencies have Apache compatible licenses.

      Source and Intellectual Property Submission Plan

ESME has already been released under the Apache 2.0 license.

      External Dependencies

The dependencies all have Apache compatible licenses. These include BSD, 
CDDL, CPL, MPL and MIT licensed dependencies. .

      Required Resources

        Mailing lists


      <esme-dev AT incubator DOT apache DOT org>


      <esme-commits AT incubator DOT apache DOT org>


      <esme-user AT incubator DOT apache DOT org>

        Subversion Directory



        Issue Tracking


      Initial Committers


      David Pollak feeder.of.the.bears at


      Darren Hague d.hague at


      Vassil Dichev vdichev at


      Mrinal Wadhwa mrinal.wadhwa at



      Darren Hague (SAP)


      Thomas Jung (SAP)


      Dick Hirsch (Siemens SIS)


      Anne Kathrine Petter√łe (Pearl Consulting)




      J. Aaron Farr Champion (and Mentor) for the project, (as defined
      in [WWW]



      J. Aaron Farr


      Bertrand Delacretaz


      Daniel Kulp


      Gianugo Rabellino


      Sylvain Wallez

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message