Given the feedback received so far I think the Rave proposal is in good shape so
I'd like to bring up the vote for accepting Rave into the Incubator.
The proposal is at: http://wiki.apache.org/incubator/RaveProposal and also
copied as text below.
Please vote.
[ ] +1 Accept Rave into the incubator
[ ] +0 Don't care'
[ ] -1 Reject for the following reason:
I'll close the vote at Tuesday morning 1st March CET to accommodate for the
coming weekend. That's a little over 5 days from now.
Regards,
Ate
----- COPY OF PROPOSAL FROM http://wiki.apache.org/incubator/RaveProposal -----
= Apache Rave Proposal =
== Abstract ==
Apache Rave is A new WEb And SOcial Mashup Engine. It will provide an
out-of-the-box as well as an extendible lightweight Java platform to host, serve
and aggregate (Open)Social Gadgets and services through a highly customizable
and Web 2.0 friendly front-end.
Rave is targeted as engine for internet and intranet portals and as building
block to provide context-aware personalization and collaboration features for
multi-site/multi-channel (mobile) oriented and content driven websites and
(social) network oriented services and platforms.
For the [[http://www.opensocial.org/|OpenSocial]] container and services the
(Java) [[http://shindig.apache.org|Apache Shindig]] will be integrated. At a
later stage further generalization is envisioned to also transparently support
[[http://www.w3.org/TR/widgets/|W3C Widgets]] using
[[http://incubator.apache.org/wookie/|Apache Wookie]].
== Proposal ==
The reason for starting Rave is to bring together and combine several existing
projects and teams currently working towards more or less the same or
overlapping goals but each in their own small(er) target audience and community.
The goal for Rave is to become a lightweight and open-standards based extendible
platform for using, integrating and hosting !OpenSocial and W3C Widget related
features, technologies and services.
It will also provide strong context-aware personalization, collaboration and
content integration capabilities and a high quality out-of-the-box installation
as well as be easy to integrate in other platforms and solutions.
The initial features for Rave will at least be based on the current capabilities
from the contributing external projects, for which they will provide the
necessary code contributions.
However, the code base for Rave will be built anew with strong focus on
generalization, customization and extendibility to support the intended
multi-purpose adoption and integration.
The contributing external projects will start using and switch to the new Rave
based solution as soon as the initial features become available to ensure the
continued participation and interest from their side as well as their own
communities.
==== The intended initial features include: ====
'''Core Features'''
1. Advanced !OpenSocial compliance and optional features support
1. !OpenSocial persistence and SPI (Service Provider Interface) implementation
1. Self-service application administration including security, gadget
management and page templates
1. User and group management with full privacy model
1. Gadget repository with life-cycle management (install/update/remove) and
extended meta data (categories, comments, ratings, etc.)
1. Dynamic and highly customizable front-end engine (skins, pages, tabs,
layouts, navigation)
1. Full OAuth support
1. Support for security restrictions on both Gadgets and page/tag/layout
customizations
1. Set of common and general purpose Gadgets to be usable out-of-the-box
1. Support for inter-gadget messaging with examples
'''Extensible Features'''
1. Pluggable persistence
1. Pluggable security model with example modules for authentication and
authorization
1. Support for !OpenSocial extensions not (yet) defined in the specification
1. Support for other (non-standard, yet) pluggable container services and
extensions
Beyond these initial features the vision and scope for Rave goes much further
and includes integrating and providing other highly desired/needed features like:
* native W3C Widgets support through
[[http://incubator.apache.org/wookie|Apache Wookie]]
* pluggable and extendible content integration and management services
* space extensions and management features, like
http://wiki.opensocial.org/index.php?title=Space_extension
* context aware features and extensions integration for personalized and
social network and (mobile) device oriented sites and channels
* enhanced client-side widget messaging, coordination and co-location support
like using [[http://www.openajax.org|OpenAjax]] Hub and Registry
* space, page and Gadget based linking, navigation, coordination and
collaboration
* inline widget rendering, like
http://issues.apache.org/jira/browse/SHINDIG-1402
* [[http://activitystrea.ms/|Activity Streams]] support
* integration with other social networks like with
[[http://www.w3.org/2005/Incubator/federatedsocialweb/|W3C Federated Social Web
Incubator Group]], [[http://onesocialweb.org/|OneSocialWeb]] and
[[http://ostatus.org/|OStatus]]
* integration with [[http://incubator.apache.org/wave/|Apache Wave]]
* runtime services monitoring, reporting and configuration/life-cycle
management support
== Background ==
The plan for starting a project like Apache Rave was initially proposed at an
[[http://wiki.apache.org/portals/MeetupAtlanta2010|ApacheCON meetup]] November
2010 in Atlanta and
[[http://docs.opensocial.org/download/attachments/720955/Apache+SocialSite+2+proposal.pdf|in
more detail]] at the first
[[http://docs.opensocial.org/pages/viewpage.action?pageId=720955|European
OpenSocial Event]] December 2010 in Utrecht (The Netherlands).
This resulted in participants from [[http://www.collab-ogce.org/|Pervasive
Technology Institute Indiana University]],
[[http://www.mitre.org/about/index.html|The MITRE Corporation]],
[[http://www.surfnet.nl/en/Thema/coin/|SURFnet SURFConext]],
[[http://www.oss-watch.ac.uk/|OSS Watch]], [[http://www.onehippo.com/|Hippo]]
and other individuals to come together and discuss the possibilities to
collaborate and work together on this joined effort, resulting in this proposal
for the Apache Rave project.
== Rationale ==
The reason for the Apache Rave proposal is that there is a clear need for a more
lightweight collaborative and social network oriented integration and services
platform, portal if you like, which is easier to use, extend and manage than the
more heavy weight J2EE / Portal / Portlet standards based solutions.
The !OpenSocial, WC3 Widgets and similar related standards are much more
"network" and collaboration oriented and lighter weight in their definition,
implementation and integration requirements, and are moving much more rapidly
and agile forward.
Several open-source projects already have stepped into this arena, converting
over or starting from scratch, to create new and lightweight solutions based on
these emerging standards.
In most cases these new implementations are still at the early stages, and much
of the basic work is duplicated as is the effort to build up communities and
attract developers.
The Apache Rave contributing projects are all building on the same concepts
(!OpenSocial), have the same or very similar functional needs with regards to
Gadget handling, service handling, back-end integration, front-end rendering,
code maintenance, etc.
The rationale for Apache Rave is to combine these efforts and work and
collaborate together on a common base solution and to get out of each own "silo".
This joined effort than can benefit everyone, both on technical implementation
and feature realization and provide a much wider and stronger community perspective.
The initiating projects and individuals on this joined effort have their
existing code based licensed under the ASL 2.0, or will do so as part of this
project. Participants include long time users, committers and members of the
Apache Software Foundation. That, and the strong alignment with existing Apache
projects like Shindig and Wookie, and the strong belief in the Apache "way" with
focus on collaboration and community, makes starting the Rave project at Apache
the logical thing to do.
The external projects providing the initial code contributions all fully support
the goal to come up with a '''new''' base solution to replace their own project
base line solution.
Apache Rave will not be started from one of these initial code contributions
directly, but be build from scratch where selected features and implementations
might be cherry picked from the code contributions where applicable.
Each of the code contribution projects are willing to give up their current
implementation and replace that with the new solution from Apache Rave, even if
no part of their existing implementation details would "survive".
== Current Status ==
=== Community ===
This project will form a new community, made up initially of the contributors
listed below. However, from our experience at the !ApacheCon, we believe that
this project will quickly draw interest and its community will broaden easily.
The proposers have worked well together so far, in producing this proposal and
clarifying design approaches, and are keen to continue this in a more open venue.
=== Code ===
Three initial codebases that implement parts of the scope of this project have
been offered to this project. All are, or will be, Apache licensed, and grants
can be provided. All three of these codebases will be imported into Apache SVN,
each into separate sandboxes.
A followup codebase donation is planned, providing a context aware mapping
engine and content integration features, under the same conditions as for the
initial codebases.
== Initial Goals ==
The initial goal will be to produce a single usable codebase from the three
imported codebases, and to get this to a suitable state where contributing
parties can use it within their own products/projects.
This will be done by starting with a fresh, clean repository and then, on a
feature-by-feature basis, cherry-picking the best code for that feature from the
three codebases.
== Known Risks ==
Any project joining the Incubator is going to have risks - aspects to it that
could lead the project to fail. In this section, the risks that have been noted
for the Rave project are discussed.
=== Three Code Bases ===
Working with three initial code bases will be a challenge. However, we are
hoping that it will be less of a challenge than starting with none!
All parties contributing code have agreed that they are prepared to participate
in this project even if none of their contributed code is incorporated in the
final product, recognising that for each feature, it will be necessary to pick
the best code for the job, rather than the code that one participant is most
attached to.
=== Speed of Development ===
Initially at least, this project is dependent upon contributions made on company
time. For this approach to succeed, the project must deliver a workable system
in a timeframe acceptable to those companies. The initial parties have the
intention of releasing a first version within 6 months after starting the
Incubator. Failure to do so could prevent the project reaching critical mass,
and could prevent the project from being in a position to attract new developers.
=== Inexperience with Community Development ===
None of the participants have worked together before this project was conceived.
Some participants have released open source code, but not done development 'in
the open'.
There will clearly be some learning in how to participate together in this
project, in a meritocratic way, as a newly formed community. However, we do have
in our mix folks that are experienced in open source development, including
existing Apache committers and Apache members, as a consequence of which we
believe we have enough experience to work with the challenges of forming a new
community.
=== Reliance on Salaried Developers ===
At present, the vast majority of contributors will be doing so as a part of
their day jobs. Therefore, as already alluded to, there is a risk that the
project won't gain enough traction to be of use to their employers. However,
given the centrality of these codebases to the participating companies, it is
clearly in their best interests to transition to an openly developed alternative.
=== Other Risks ===
Of the other risks commonly raised regarding incubator proposals, none seem
particularly pertinent to this project.
The project is no less likely to be orphaned than any other new podling. Given
the multi-company support it has easily gained, it would seem to be quite the
opposite.
Given the range of organisations putting themselves behind this proposal, there
is no obvious risk of over-dependence on one contributing organisation.
The participants are attracted to Apache due to its governance model, and
proximity to similar projects, e.g. Apache Shindig. This affinity is clearly
shown by the fact that the original group who formed this proposal met at
!ApacheCon.
== Documentation ==
Details for the initial contributed code can be seen here:
* MITRE: [[http://code.google.com/p/osec|OpenSocial Enterprise Container]]
* SURFnet: [[https://portal.surfconext.nl|SURFConext Portal]];
[[https://wiki.surfnetlabs.nl/display/surfconextdev/Technical+Design|SURFconext
technical design]]
* [[http://www.collab-ogce.org|OGCE]]
[[http://www.collab-ogce.org/ogce/index.php/OGCE_Gadget_Container|OGCE Gadget
Container]]
Because this project will create new code, we will not have any documentation on
first starting. It is likely however that partial documentation can be reused
from either codebases.
== Initial Source ==
The initial source will be made up of three contributions, namely:
* [[http://code.google.com/p/osec/source|MITRE OpenSocial Enterprise Container
- Source]]
* SURFnet SURFconext Portal - This source will be brought into the Incubator
as SURFnets contribution
* OGCE: Gadget Container code is part of the
[[http://sourceforge.net/projects/ogce/develop|OGCE SourceForge Site]]. See
[[http://www.collab-ogce.org/ogce/index.php/Portal_download|the portal download
page]] for SVN instructions.
== Source and Intellectual Property Submission Plan ==
==== Hippo ====
The code to be offered by Hippo is already open source and Apache Licensed.
==== The MITRE Corporation ====
The code offered by The MITRE Corporation is already open source and Apache
Licensed.
==== SURFnet SURFConext Portal ====
This source will be brought into the Incubator as SURFnets contribution; initial
project members have already been given access for evaluation purposes.
==== Open Gateway Computing Environments ====
The OGCE will contribute its Gadget Container code, which is Apache licensed and
available from !SourceForge, with current dependencies and their licenses
described below.
Other OGCE software efforts are not covered by this incubator proposal and are
not included in the code contribution.
== Dependencies on other Apache Projects ==
* Apache Shindig
* Apache Tomcat
* Apache Tiles
* Apache !HttpComponents
* Apache Commons
* Apache Log4J
* Apache Maven
* Apache Ant
== Cryptography ==
There is no cryptography in the code at this time.
OGCE has requirements to support security for Computational Grids and Clouds.
Although the code will not have any cryptographic implementations, in the future
there will be dependencies on external cryptographic libraries. Before
committing any cryptographic dependencies, the process listed at
http://www.apache.org/dev/crypto.html will be followed.
== Required Resources ==
=== Mailing lists ===
* rave-dev
* rave-commits
* rave-private (moderated subscriptions)
=== Subversion Directory ===
* http://svn.apache.org/repos/asf/incubator/rave
=== Issue Tracking ===
We intend to make use of Jira for issue tracking.
Proposed JIRA key: JIRA-RAVE
=== Other Resources ===
None right now.
== Initial Committers ==
Names of initial committers with affiliation and current ASF status:
* Ate Douma (Hippo), Apache Member, id: ate
* Unico Hommes (Hippo), Apache Committer, id: unico
* Ard Schrijvers (Hippo), Apache Committer, id: ard
* Woonsan Ko (Hippo), Apache Committer, id: woonsan
* Matt Franklin (MITRE, osec)
* Jesse Ciancetta (MITRE, osec)
* Tony Carlucci (MITRE, osec)
* Ross Gardler (OSS Watch), Apache Member, id: rgardler
* Sander van der Waal (OSS Watch)
* Scott Wilson (University of Bolton), Apache Committer, id: scottbw
* Hadrian Zbarcea (independent), Apache Member, id: hadrian
* Marlon Pierce (Pervasive Technology Institute Indiana University, OGCE)
* Raminderjeet Singh (Pervasive Technology Institute Indiana University, OGCE)
* Zhenhua Guo (Pervasive Technology Institute Indiana University, OGCE)
* Suresh Marru (Pervasive Technology Institute Indiana University, OGCE)
* Niels van Dijk (SURFNET, SURFConext)
* Maarten Kremers (SURFNET, SURFConext)
* Bas Zoetekouw (SURFNET, SURFConext)
* Joost van Dijk (SURFNET, SURFConext)
* Okke Harsta (Zilverline, SURFConext)
== Sponsors ==
=== Champion ===
* Ate Douma
=== Nominated Mentors ===
* Ate Douma
* Sylvain Wallez
* Upayavira
* Ross Gardler
* Hadrian Zbarcea
=== Sponsoring Entity ===
* Apache Incubator Project
== Appendix A: External Dependencies ==
Here's the list of identified external dependencies for each of the initial code
contributions:
==== MITRE OpenSocial Enterprise Container ====
* ''Build Time/Test Dependencies''
'''Apache Licensed'''
* Jakarta ORO
* Apache log4j
* cglib
* !EasyMock
* Google Guice
* h2datasource (MITRE Developed)
* Objenesis
* Spring Framework Test
* servlet-api
'''BSD Licensed'''
* YUI Compressor
* YUI Compressor Ant Task
* JUnit
'''MPL && EPL Licensed'''
* H2 Database Engine
'''Other Licenses'''
* ASM: http://asm.ow2.org/license.html
* Cobertura: http://cobertura.sourceforge.net/license.html
* ''Runtime Dependencies''
'''Apache Licensed'''
* Apache Commons
* Apache Taglibs
* Google Collections
* Jackson
* Apache log4j
* Shindig
* Spring Framework
* Spring Security
* Apache Tiles
* Google Guice
* h2datasource (MITRE Developed)
'''MPL && EPL Licensed'''
* H2 Database Engine
'''EPL Licensed'''
* !EclipseLink
* javax.persistence API
* AspectJ
'''BSD-style Licensed'''
* !FreeMarker: http://freemarker.sourceforge.net/docs/app_license.html
'''CDDL Licensed'''
* JSTL
* !JavaMail
'''MIT Licensed'''
* SLF4J
'''Other Licenses'''
* AOP Alliance: http://aopalliance.sourceforge.net/
==== SURFnet SURFConext portal ====
''Dependencies and licenses of all dependencies of the COIN portal (excluded the
shindig dependencies)''
'''Apache Software License, Version 1.1'''
* cglib:cglib-nodep:jar:2.2:compile
'''Apache Software License, Version 2.0'''
* org.codehaus.jackson:jackson-mapper-lgpl:jar:1.5.5:compile
* org.springframework:spring-core:jar:3.0.3.RELEASE:compile
* org.springframework:spring-orm:jar:3.0.3.RELEASE:compile
* org.springframework:spring-jdbc:jar:3.0.3.RELEASE:compile
* org.springframework:spring-tx:jar:3.0.3.RELEASE:compile
* org.springframework:spring-context:jar:3.0.3.RELEASE:compile
* org.springframework:spring-aop:jar:3.0.3.RELEASE:compile
* commons-dbcp:commons-dbcp:jar:1.2.2:compile
* commons-pool:commons-pool:jar:1.3:compile
* commons-codec:commons-codec:jar:1.4:compile
* org.springframework:spring-webmvc:jar:3.0.3.RELEASE:compile
* org.springframework:spring-asm:jar:3.0.3.RELEASE:compile
* org.springframework:spring-beans:jar:3.0.3.RELEASE:compile
* org.springframework:spring-context-support:jar:3.0.3.RELEASE:compile
* org.springframework:spring-expression:jar:3.0.3.RELEASE:compile
* org.springframework:spring-web:jar:3.0.3.RELEASE:compile
* commons-collections:commons-collections:jar:3.1:compile
* org.codehaus.jackson:jackson-mapper-asl:jar:1.5.3:compile
* org.codehaus.jackson:jackson-core-asl:jar:1.5.3:compile
* org.apache.httpcomponents:httpclient:jar:4.1-alpha2:compile
* org.apache.httpcomponents:httpcore:jar:4.1-beta1:compile
* commons-logging:commons-logging:jar:1.1.1:compile
* org.easymock:easymock:jar:2.5.2:compile
* org.objenesis:objenesis:jar:1.0:compile
* org.apache.commons:commons-io:jar:1.3.2:compile
* javax.validation:validation-api:jar:1.0.0.GA:compile
* org.hibernate:hibernate-validator:jar:4.0.2.GA:compile
* javax.xml.stream:stax-api:jar:1.0-2:compile
'''GNU Lesser General Public License'''
* c3p0:c3p0:jar:0.9.1.2:compile
'''Dual license of the MPL and the LGPL'''
* javassist:javassist:jar:3.8.0.GA:compile
'''BSD License'''
* org.hsqldb:hsqldb:jar:1.8.0.10:compile
'''GPL-2.0'''
* mysql:mysql-connector-java:jar:5.1.10:compile
'''Public Domain'''
* aopalliance:aopalliance:jar:1.0:compile
'''LPGL v2.1'''
* org.hibernate:hibernate-core:jar:3.3.2.GA:compile
* org.hibernate:hibernate-annotations:jar:3.4.0.GA:compile
* org.hibernate:ejb3-persistence:jar:1.0.2.GA:compile
* org.hibernate:hibernate-commons-annotations:jar:3.1.0.GA:compile
'''BSD license'''
* antlr:antlr:jar:2.7.6:compile
* dom4j:dom4j:jar:1.6.1:compile
* org.hamcrest:hamcrest-core:jar:1.1:compile
'''COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0'''
* javax.transaction:jta:jar:1.1:compile
* javax.mail:mail:jar:1.4.3:compile
* javax.activation:activation:jar:1.1:compile
* javax.servlet:jstl:jar:1.2:compile
* javax.xml.bind:jaxb-api:jar:2.1:compile
* com.sun.xml.bind:jaxb-impl:jar:2.1.3:compile
'''MIT license'''
* org.slf4j:slf4j-api:jar:1.5.8:compile
* org.slf4j:slf4j-log4j12:jar:1.5.8:compile log4j:log4j:jar:1.2.14:compile
* org.mockito:mockito-core:jar:1.8.5:compile
==== OGCE Gadget Container ====
'''Apache Software License, Version 2.0'''
* OpenAJAX
* Commons-codec
* Commons-logging
* Commons-fileupload
* Commons-collections
* Commons-digester
* Commons-el
* Commons-lang
* Tomcat Catalina
* Google-collections
* Xalan
* Xerces dom3-xml-apis and dom3-xercesImpl
* Tomcat annotations-api
* commons-beanutils
* commons-io
* openid4java
* axiom-api
* openxri-client, openxri-syntax
* jug
* stax-api
* Guice
* cilogon-portal-servlet (also have BSD & NCSA Licenses)
'''MIT'''
* Facebook Java API
* slf4j (3 jars: simple, api, and jdk14)
* xmlsec
'''BSD'''
* Dom4j
* Antlr
'''CDDL'''
* JSTL
'''GPL V3'''
* EXT-JS v2.2
'''GPL v2'''
* Trimpath v1.0.38
* Rhino JS 1.7R1 (Also has MPL1.1 license)
* Sun Jersey (Also has CDDI license)
* mysql-connector-jar
'''LGPL'''
* Hibernate
* !C3P0
* JBoss Javassist (Also has MPL License)
* htmlparser (also has CPL License)
'''Common Public License, v1'''
* Junit, junit-addons
'''Sun Binary'''
* Servlet API
* activation
'''EPL'''
* higgins-configuration-api
* higgins-sts-api
* higgins-sts-common
* higgins-sts-server-token-handler
* higgins-sts-spi
'''Other'''
* Google !FriendConnect:
http://code.google.com/apis/friendconnect/docs/terms.html
* TMT JS: http://www.massimocorner.com/license.htm
* JSON: http://www.json.org/license.html
* H2: http://www.h2database.com/html/license.html
* icu4j: http://source.icu-project.org/repos/icu/icu/trunk/license.html
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org