incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Upayavira">
Subject Re: [VOTE] Accept Wave into the incubator
Date Tue, 30 Nov 2010 23:12:51 GMT
 Away from PC all day. A definite +1 from me.


On Mon, 29 Nov 2010 22:52 -0800, "Dan Peterson"
<> wrote:

Hi everyone,

Please vote on the acceptance of Wave into the Apache incubator.

The proposal is available
at: [1]
(for your convenience, a snapshot is also copied below)

The earlier discussion thread can be found
at: [2]

The vote options:

[ ] +1 Accept Wave for incubation

[ ] +0 Don't care

[ ] -1 Reject for the following reason:

The vote is open for 72 hours.



Apache Wave Proposal (Apache Incubator)

= Abstract =

Apache Wave is the project where wave technology is developed at
Apache. Wave in a Box (WIAB) is the name of the main product at
the moment, which is a server that hosts and federates waves,
supports extensive APIs, and provides a rich web client. This
project also includes an implementation of the Wave Federation
protocol, to enable federated collaboration systems (such as
multiple interoperable Wave In a Box instances).

= Proposal =

A wave is a hosted, live, concurrent data structure for rich
communication. It can be used like email, chat, or a document.

WIAB is a server that hosts waves. The best analogy for this is a
mail server with a web client. WIAB is comprised of a few
high-level components: the client and the server. They have the
following major functionality (though this is not an exhaustive

 * Client
  *A dynamic web client for users to create, edit, and search
waves. Users can access this client by directly visiting the
server in a browser.
  * Gadgets provide the ability to insert, view, and modify the
UI -- exposing the Wave Gadgets API
  * A console client that can create and edit waves via a
command-line-like interface.
 * Server
  * Hosts and stores waves. WIAB comes with a default storage
mechanism. The administrators of the server may configure it to
use alternative storage mechanisms.
  * Indexing, allowing for searching the waves a user has access
  * Basic authentication, configurable to delegate to other
  * Federation, allowing separate Wave in a Box servers to
communicate with each other using the Wave Federation Protocol
  * Robots, using the Wave Robots API,
([5] may
interact with waves on a WIAB instance.

= Background =

Wave expresses a new metaphor for communication: hosted
conversations. This was created by Lars and Jens Rasmussen after
observation of people's use of many separate forms of
communication to get something done, e.g, email, chat, docs,
blogs, twitter, etc.

The vision has always been to better the way people communicate
and collaborate. Building open protocols and sharing code
available in an open and free way is a critical part of that
vision. Anyone should be able to bring up their own wave server
and communicate with others (much like SMTP).

We hope this project will allow everyone to easily gain the
benefits of Wave with a standard implementation of Wave – in a

= Rationale =

Wave has shown it excels at small group collaboration when hosted
by Google. Although Wave will not continue as a standalone Google
product, there is a lot of interest from many organizations in
both running Wave and building upon the technology for new

We are confident that with the community-centric development
environment fostered by the Apache Software Foundation, WIAB will

= Initial Goals =

The initial goals of the project are:

 1.  To migrate the codebase from [6] and
integrate the project with the ASF infrastructure (issue
management, build, project site, etc).
 1.  To quickly reach a state where it is possible to continue
the development of the Wave In a Box implementation under the ASF
 1.  To add new committers to the project and grow the community
in "The Apache Way".

= Current Status =

The open source Wave in a Box project has existed in various
forms for approximately 16 months (starting out life as the
FedOne open source project).

FedOne began in July 2009 in order to accelerate adoption of the
wave federation protocol, and serve as a proof of concept that a
non-Google implementation of the wave federation protocol could
interoperate with the Google production instance. It worked.
FedOne's existence lead to a prototype by Novell that
demonstrated federation between Google Wave and Novell Pulse (now
known as Vibe). In addition, in May of 2010, SAP unveiled a
prototype version of SAP StreamWork that federated with both
Novell Pulse and Google Wave. All three systems interoperated,
sharing real-time state, and gadget updates. In May 2010 Google
released significantly more code (including the cross-browser
rich text editor) to connect with other components that were
built from scratch, resulting in a simple web client.

The project has grown over the last year to include many Google
and non-Google contributions.  The project has picked up steam in
recent months as the direction of the standalone Google Wave
product has shifted.  At this time the Wave in a Box project
enjoys very active development, with new features and
functionality being added almost daily. The first Wave Protocol
Summit was recently held and included developers from a variety
of countries, companies, and organizations.

The code base is a mixture of mature core code from Google Wave,
and somewhat immature integration code forming WIAB. WIAB is
quickly becoming highly functional and is already in a very
"demoable" state.  The development mailing lists are  very active
indicating wide community support.  We recognize that now is a
good time to migrate to the Apache Foundation while the codebase
and community is a manageable size.  Assuming the current
momentum continues, we expect strong growth in the code and
community in the near future.

== Meritocracy ==

The initial set of committers includes many Google employees, and
there is an active and growing community outside Google
contributing to WIAB already today. Google culture itself
encourages meritocracy, and the community has always grown – and
will continue to grow – in this fashion.

As shown by the initial committers list below, several members
from outside of Google have already demonstrated interest, skill,
and commitment to contributing to the project.  These individuals
have been recognized on those merits by the initial committers.
Their selection as the first wave of new committers is a sign of
the burgeoning meritocracy.

== Community ==

Wave currently has a healthy community around
[7], with conversations hosted at
[8] We plan to move
this community to the Apache Software Foundation incubator.

== Core Developers ==

The initial committers comes from a variety of backgrounds and
includes many from Google. There are a few existing Apache
committers amongst this initial group.  We anticipate early
future committers coming from places like Novell, SAP, companies
related to the US Navy's usage of wave, startups in the wave
ecosystem, and many independent individuals.

== Alignment ==

The developers of WIAB want to work with the Apache Software
Foundation because Apache has proven to provide a strong
foundation with good infrastructure and support for developing
projects in an open community.  As WIAB continues to grow, the
community will look to both reuse available Apache projects as
well as look for opportunities to contribute back to the larger
Apache community.

= Known Risks =

== Orphaned products ==

Wave is a new means for communication, and thus it is still
maturing. While the initial implementation (Google Wave) did not
gain sufficient traction for it to continue as a standalone
Google product, there are other related projects (e.g. Novell
Vibe, SAP StreamWork), and several startups in the space that are
continuing to build on the technology. In addition, the US Navy
has contracted with four companies as part of evaluating using
wave technology on every ship. The community itself is still
growing, with several new contributors recently added.

== Inexperience with Open Source ==

The initial committers have varying degrees of experience with
open source projects. Many from the community are familiar with
open source.

== Homogeneous Developers ==

The initial set of developers does include many from Google.
However, the project has accepted many patches from independent
individuals, and some have already gained committership. Several
companies have expressed interest and forty individuals
participated in the Wave Summit.

== Reliance on Salaried Developers ==

Following Google's change of focus for Wave in August, some of
Wave's Google developers have chosen to continue working on Wave,
but it is imperative that we continue to grow the community
larger in the coming months.

== Relationships with Other Apache Products ==

We currently use the following libraries from Apache
 * Commons CLI
 * Commons Codec
 * Commons HttpClient
 * Commons Logging
 * Velocity
 * Ant

We've also contributed the Wave Gadget implementation into the
Apache Shindig project.

= Documentation =

Entry point for documentation of all the specs and designs.

Wave Robots API

Wave Gadgets API

= Initial Source =

The initial source will come from
[12] This
consists of the Java code necessary for the client and server.
These are already open source repositories licensed under the
Apache Public License.

= Source and Intellectual Property Submission Plan =

Beginning with the initial unveiling, Google published a liberal
patent license:

Subject to the terms and conditions of this License, Google and
its affiliates hereby grant to you a perpetual, worldwide,
non-exclusive, no-charge, royalty-free, irrevocable (except as
stated in this License) patent license for patents necessarily
infringed by implementation of this specification. If you
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the
implementation of the specification constitutes direct or
contributory patent infringement, then any patent licenses for
the specification granted to you under this License shall
terminate as of the date such litigation is filed.


== Trademarks ==

Google retains all rights to the trademarks "GOOGLE WAVE" and the
wave design logo, neither of which will be used in the Apache
Wave project.

= External Dependencies =

In addition to the previously mentioned Apache dependencies, the
initial code relies on the following libraries that have Apache
compatible licenses:

antlr, aopalliance, asm, bouncycastle, cglib, dom4j, emma, gson,
guava, guice, gwt, gxp, hamcrest, jackson, jdom, jetty, jline,
jmock, joda_time, jsr305, junit, libidn, mockito, mongo-driver,
oauth, protobuf, protobuf-format-java, protostuff,
stringtemplate, websocket, whack, xpp3

= Cryptography =

We use standard crypto library methods available in*. Wave federation plans to uses encryption for
sending deltas to remote Wave servers.

= Required Resources =

==  Mailing lists ==

 * wave-dev
 * wave-commits
 * wave-private

It is possible that if the project does grown to include many sub
project that we would split the mailing list up by sub project.
Again we have flexibility.

== Subversion Directory ==


== Issue Tracking ==

Please help us setup a JIRA instance for both issue tracking and
code review.

== Other Resources ==

 * a wiki (for the sites pages)
([15] or a wiki
 * code review on [17]
 * a server to run a dogfood instance
 * continuous build bot

= Initial Committers =

 * Alex North (Google)
 * Anthony Watkins (SESI)
 * Christian Ohler (Google)
 * Dan Danilatos (Google)
 * Dan Peterson (Google) / [18]
 * David Hearnden (Google)
 * David Wang (Google)
 * Ian Roughley (Novell) / [19]
 * James Purser
 * Joseph Gentle
 * Lennard de Rijk
 * Michael MacFadden (Solute)
 * Soren Lassen (Google)
 * Tad Glines
 * Torben Weis (University Duisburg-Essen)

= Sponsors =

== Champion ==

 * Paul Lindner

== Nominated Mentors ==

 * Santiago Gala
 * Upayavira
 * Andrus Adamchik
 * Vincent Siveton
 * Ben Laurie

== Sponsoring Entity ==

The Apache Incubator.

  You received this message because you are subscribed to the
  Google Groups "Wave Protocol" group.
  To post to this group, send email to
  To unsubscribe from this group, send email to
  For more options, visit this group at



  • Unnamed multipart/alternative (inline, 7-Bit, 0 bytes)
View raw message