incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael McCandless <>
Subject Re: [PROPOSAL] Accept Wave for incubation
Date Fri, 26 Nov 2010 09:42:49 GMT


On Tue, Nov 23, 2010 at 3:16 PM, Dan Peterson <> wrote:
> Hello all,
> We'd like to propose Wave for entry into the ASF incubator.
> The draft proposal is available at:
> (for your convenience, a snapshot is also copied below)
> A wave is a hosted, live, concurrent data structure for rich communication.
> It can be used like email, chat, or a document. 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).
> As a result of the recent Wave Summit, beyond growing a few new committers,
> we've put together the following proposal for migrating the community into
> the ASF incubator. More details on the summit & Wave in a Box progress in
> this blogpost:
> We are looking forward to your feedback and suggestions.
> By the way, if you're looking to learn more about the technology related to
> wave, you can see the videos and presentations from the recent Wave Summit
> in:
> Kind regards,
> -Dan, on behalf of the Wave Community
> P.S. For those on the wave-protocol Google Group (that aren't yet on
>, please participate in this discussion
> by sending a message to general-subscribe at incubator dot apache dot org
> 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 list):
>  * 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 to.
>  * Basic authentication, configurable to delegate to other systems.
>  * Federation, allowing separate Wave in a Box servers to communicate with
> each other using the Wave Federation Protocol (
>  * Robots, using the Wave Robots API, (
> 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 box.
> = 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 products.
> We are confident that with the community-centric development environment
> fostered by the Apache Software Foundation, WIAB will thrive.
> = Initial Goals =
> The initial goals of the project are:
>  1.  To migrate the codebase from 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 project.
>  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, with
> conversations hosted at 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
> 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.
> = 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) (
> or a wiki
>  * code review on
>  * 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) /
>  * David Hearnden (Google)
>  * David Wang (Google)
>  * Ian Roughley (Novell) /
>  * 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
>  * Ben Laurie
>  * Upayavira
>  * Brian W. Fitzpatrick (emeritus on the Incubator PMC)
> == Sponsoring Entity ==
> The Apache Incubator.

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

View raw message