incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sam Ruby <>
Subject [VOTE] KabukiProposal
Date Mon, 23 Jan 2006 13:30:57 GMT

Contents of proposal reproduced below:

## page was renamed from AjaxProposal
= Kabuki, an AJAX Toolkit Proposal =

== 0. Rationale ==

While the term AJAX (Asynchronous Javascript and XML) has only recently 
been coined, the underlying web standards and technologies (JavaScript 
a.k.a. ECMAScript, DOM, XML, SOAP, and so on) have been around for 
years. Although the term is used in a variety of ways, AJAX typically 
describes techniques towards developing interactive applications on the 
web client including asynchronous messaging, use of XML grammar in 
client-side applications, incremental page updates, and improved user 
interface controls. AJAX applications combine the rich UI experience of 
programmed clients with the low-cost lifecycle management of web-based 

AJAX has raised awareness of the high potential of web applications, it 
has encouraged companies to adopt rich web-based interfaces over 
traditional "fat" clients, and it has spawned development activity to 
create toolkits and abstractions to make AJAX-style development easier 
and more powerful. This is an important trend for open source. The 
client itself can be composed entirely of open-source parts, such as 
Mozilla's Firefox or KDE's Konqueror, and does not require any 
particular operating system, helping to make a more level playing field
for all development. More importantly, AJAX is back-end agnostic as 
transactions are done over HTTP. Keeping the client open forces vendors 
to keep the communication channel open as well, and this can only 
continue as long as the client technology keeps pace with proprietary 
alternatives. The open, standards based communications channel is what 
drives many technologies inside Apache, so success of the open client is 
vital to Apache. The mission of this project is to encourage innovation 
around enterprise-strength client runtimes and tools and build a
community which can select and nurture a select set which will be most 
beneficial to the web.

== 0.1 Criteria ==

=== Meritocracy: ===

Apache was chosen for an incubator primarily because of the guidance the 
community can provide.

=== Community: ===

The contributed work was inspired by open source development but needs a 
strong and diverse community to validate its mission and carry it 
forward. A primary objective of the project is to build a vibrant 
community of users and active contributors.

=== Core Developers: ===

All of the initial committers are members of the Zimbra development 
teams. All developers have worked on open source projects before and 
have experience and understanding of open source principles.

=== Alignment: ===

The Zimbra AJAX Development Toolkit provides a rich client library, 
similar in style to traditional object-oriented widget libraries like 
Eclipse's SWT. This toolkit hides implementation details and browser 
quirks and makes web development more accessible to the enterprise 
developer. It provides

  * User interface development
  * Network communications (both synchronous and asynchronous)
  * SOAP programming
  * XML document creation and manipulation
  * UI event handling and management

For further information, please see the Zimbra AjaxTK whitepaper:

The intial proposal also contained Eclipse tooling for the Kabuki 
components, this part of the original proposal is currently a proposed 
project at

== 0.2 Warning signs ==

=== Orphaned products: ===

The initial committers are users of this toolkit and have a long-term 
interest in use and maintenance of the code.

=== Inexperience with open source: ===

Several of the commiters are very experienced in Open Source 
environment. All efforts will be made to ensure that the work done and 
momentum will be in strict adherence to open source guidelines.

=== Homogenous developers: ===

As noted above, the initial list of developers consists primarily of 
paid employees of the donating company.

The current list of committers includes developers who are experienced 
with working in a distributed environment, and with resolving technical 

=== Reliance on salaried developers: ===

The initial set of committers are salaried developers. Through the 
incubation process, more diversity will hopefully be achieved in many 
aspects, including reliance on salaried developers.

=== No ties to other Apache products: ===

The initial codebase will be licensed under the Apache License 2.0. 
While there are no direct build dependencies on other Apache projects, 
the development of AJAX clients will often be driven by Apache 
middleware and will have a positive impact on the open source movement 
as described in the "Rationale" section.

=== A fascination with the Apache brand: ===

The committers are intent on developing a strong open source community. 
  We believe that the Apache Software Foundation's emphasis on community 
development makes it the most suitable choice.

== 1. Scope of the subprojects ==

The initial scope of the project will include client-side widgets and 
other utilities from the Zimbra AjaxTK, as described in 0.1. In 
addition, the Kabuki project will also include server-side 
infrastructure to facilitate the AJAX programming model.  Such 
server-side components may include resource aggregation and delivery, 
user authorization, application event notification, etc. Since XML is 
used for communication and HTTP is used as the transport, the 
client-side toolkit is not tied to any particular programming language.

== 2. Identify the initial source from which the subprojects are to be 
populated ==

The Zimbra AjaxTK is available today in open source, and can be 
downloaded at (See Zimbra 
Ajax Toolkit Download).  (A snapshot of the AJAX toolkit code is also 
available via

== 2.1 External Dependencies of the project ==


== 3. Identify the ASF resources to be created ==

== 3.1 mailing list(s) ==

  * kabuki-ppmc
  * kabuki-dev
  * kabuki-commits
  * kabuki-user

== 3.2 Subversion repository ==


== 3.3 Bugzilla ==


== 4. Identify the initial set of committers: ==

  * Andy Clark (Zimbra)
  * Conrad Damon (Zimbra)
  * Ross Dargahi (Zimbra)
  * Roland Schemers (Zimbra)
  * Parag Shah (Zimbra)
  * Greg Solovyev (Zimbra)
  * Martin Marinschek

== 5. Identify Apache sponsoring individual ==

We request that the Apache Incubator PMC sponsor the Kabuki AJAX Toolkit 
Framework as an incubating project, with the eventual goal of graduation 
as a TLP. The initial contributors feel the scope of the project doesn't 
clearly overlap with any existing TLP, and is broad enough to justify 
eventual TLP status.

Champion: Sam Ruby

  * Andy Clark (Zimbra)
  * Paul Freemantle (WSO2)
  * Sam Ruby (IBM)
  * Sanjiva Weerawarana (WSO2)

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

View raw message