+1 from me (binding). G'luck!
Cheers, Chris -----Original Message----- From: Jim Jagielski <j...@jagunet.com> Reply-To: "general@incubator.apache.org" <general@incubator.apache.org>, "general@incubator.apache.org" <general@incubator.apache.org> Date: Monday, September 23, 2013 5:44 AM To: "general@incubator.apache.org" <general@incubator.apache.org> Subject: [VOTE] Usergrid BaaS Stack for Apache Incubator >After a useful and successful proposal cycle, I would like to propose >a VOTE on accepting Usergrid, a multi-tenant Backend-as-a-Service >stack for web & mobile applications based on RESTful APIs, as an Apache >Incubator podling. > >Voting to run for 72+ hours... > >Here is a link to the proposal: > https://wiki.apache.org/incubator/UsergridProposal > >It is also pasted below: > >= Usergrid Proposal = > >== Abstract == > >Usergrid is a multi-tenant Backend-as-a-Service stack for web & mobile >applications, based on RESTful APIs. > > >== Proposal == > >Usergrid is an open-source Backend-as-a-Service (³BaaS² or ³mBaaS²) >composed >of an integrated distributed NoSQL database, application layer and client >tier with SDKs for developers looking to rapidly build web and/or mobile >applications. It provides elementary services (user registration & >management, data storage, file storage, queues) and retrieval features >(full >text search, geolocation search, joins) to power common app features. > >It is a multi-tenant system designed for deployment to public cloud >environments (such as Amazon Web Services, Rackspace, etc.) or to run on >traditional server infrastructures so that anyone can run their own >private >BaaS deployment. > >For architects and back-end teams, it aims to provide a distributed, >easily >extendable, operationally predictable and highly scalable solution. For >front-end developers, it aims to simplify the development process by >enabling them to rapidly build and operate mobile and web applications >without requiring backend expertise. > > >== Background == > >Developing web or mobile applications obviously necessitates writing and >maintaining more than just front-end code. Even simple applications can >implicitly rely on server code being run to store users, perform database >queries, serve images and video files, etc. Developing and maintaining >such >backend services requires skills not always available or expected of app >development teams. Beyond that, the proliferation of apps inside of >companies leads to the creation of many different, ad-hoc, unequally >maintained backend solutions created by employees and contractors alike >and >hosted on a wide variety of environments. This is causing poor resource >usage, operational issues, as well as security, privacy & compliance >concerns. > >In response to this problem, companies have long tried to standardize >their >server-side stack or unify them behind an ESB or API strategy. >Backends-as-a-Service follow a similar approach but their unique >characteristic is strongly tying 1) a persistence tier (typically a >database), 2) a server-side application tier delivering a set of common >services and 3) a set of client-side application interface mechanisms. For >example, a BaaS could package 1) MongoDB with 2) a node.js application >that >offers access through 3) WebSockets. In the case of Usergrid, the trifecta >is 1) Cassandra, 2) Java + Jersey and 3) a RESTful API. > >The Backend-as-a-Service approach has steadily gained popularity in the >last >few years with cloud providers such Parse.com, Stackmob.com and >Kinvey.com, >each operating tens of thousands of apps for tens of thousands of >developers. The trend has already reached large organizations as well, >with >global companies such as Korea Telecom internally building a privately-run >BaaS platform. But so far, there have been limited options for developers >that want a non-proprietary, open option for hosting and providing these >services themselves, or for enterprise and government users who want to >provide these capabilities from their own data centers, especially on a >very >large scale. > > >== Rationale == > >The issue this proposal deals with is implicit in the name. >Backend-as-a-Service platforms are usually offered solely as proprietary >cloud services. They are typically closed sourced, hosted on public >clouds, >and require subscription payment. Usergrid opens the playing field, by >making a fully-featured BaaS platform freely available to all. This >includes >developers that previously could not afford them, such as mobile >enthusiasts, small boutiques, and cost-sensitive startups. This also >includes large companies that benefit from a reference implementation they >can deploy in trust, or extend to their needs without losing time writing >less-vetted, less-performant boilerplate functionality. > >Usergrid has been open source since 2011 and has grown as an independent >project, garnering 11 primary committers, 35 total contributors, 260+ >participants on its mailing list, with 3,700+ commits, 200+ external >contributions, 350+ stars and 100+ forks on Github, not to mention several >large scale production deployments at major global companies in the media, >retail, telecommunication and government spaces. > >The Apache Software Foundation's "Way", by putting community before the >code, will help Usergrid establish a vibrant, more diverse community to >provide these features freely to downstream users. The incubation process >will help build this community and clear out the cobwebs, while vetting >the >IP to provide a pristine ASLv2 licensed product to users. Under such >conditions, our hope is that Usergrid will have a brighter future, and >provide better assurances as an independent organic open source project, >instead of continuing forward as a project sponsored by a handful of >companies. > > >== Initial Goals == > >We have no serious codebase concerns at the present moment. Besides >vetting >the IP by making sure the dependencies are Apache License 2.0 compatible, >our main initial concern is to grow community and keep adding features to >make Usergrid as robust as possible. However some logistics based goals >include: > > * Move the existing code base to Apache > * Integrate with the Apache development process > * Ensure all dependencies are compliant with Apache License 2.0 > * Set up open-source docs and website > * Incremental development and releases per Apache Guidelines > > >== Current Statusi == > >=== Meritocracy === >The project team's goals have always been to grow the community by >encouraging contributors to participate. The project has grown steadily >and >smoothly from the efforts of the original creator and project founder (Ed >Anuff) to a small circle of committers (at Apigee), to a distributed, >multi-vendor community (Apigee and Korea Telecom) that also includes >outside >committers (Globo and others), as well as non-salaried committers. >Together >we discuss the project¹s goals and roadmap openly, making drastic yet >positive changes to the project's direction based on everyone's input. Our >goal is to drive further community diversification in a way that only a >foundation-sponsored project can achieve, rather than what a vendor-led >project can accomplish. > > >=== Community === >We have a public Google Group for support here: >https://groups.google.com/forum/?hl=en#!forum/usergrid with over 250 >active >participants, 367 threads and new messages every day. Usergrid also has an >active community on Github issues (with over 200 discussions): >https://github.com/apigee/usergrid-stack/issues?state=all. Some of these >users have contributed their open applications back to the community or >have >built their own new SDKs for Usergrid found here on Github: >https://github.com/search?q=usergrid&source=cc. > >Expanding and nurturing the Usergrid community is our primary concern and >one of the main reasons for the decision to apply for incubation. >Usergrid >has been developed openly on Github for many years and has enjoyed active >developer participation by a committers from all over the globe. However, >due to the disparate nature and wide variety of the Github repos that >comprise the Usergrid project (the Usergrid-stack, 8 separate SDKs, the >Admin Portal, and various samples), it has been challenging to grow a >unified community. Bringing the entire project under the umbrella of >Apache >will promote a unification of the Usergrid community and enable all >developers to collaborate on the project. > >=== Core Developers === >The core developers include Apache Committers, PMC Members, and Members of >the ASF. The developers, some of whom have have been involved with the >Apache Incubator and Apache Lucene as PMC members, are active mentors and >have participated in and contributed to several projects: i.e. Apache, >Lucene, Cassandra, Hibernate, Directory, Wicket, Commons, Roller, MINA, >Karaf, Felix, Cloud Stack, HCatalog, and Commons projects. Many of them >are >also active in Open-source beyond code, and have positions on the >committees >or organization such as OSCON. > > >=== Alignment === >The initial code base leverages several Apache Software Foundation >products. >Usergrid leverages Apache Cassandra for its scalable data store, and uses >Maven for its build system. Almost half of Usergrid's dependencies are >Apache dependencies: > > * Apache Cassandra > * Apache Tomcat > * Apache Commons > * Apache ZooKeeper > * Apache Shiro > * Apache Amber > * Apache Thrift > * Apache ActiveMQ > * Apache HttpClient > * Apache Lucene > * Apache JClouds > >Besides these direct alignments, Usergrid also complements Apache Cordova >and could provide several advantages to the mobile application developer >community they serve. > > >== Known Risks == > >=== Orphaned products === >There are now at least two vendors running Usergrid in product. Apigee is >an >established startup with a large, diversified customer roster and Korea >Telecom is a major, national telecommunications company. The continuity of >Usergrid, as an open-source, vendor-independent product are in the >interest >of all parties. Beyond the vendors, Globo.com and many others large >companies have been relying on Usergrid for critical applications and as >such they are committed to contributing to the effort. > >=== Inexperience with Open Source === >The Usergrid project has been open source and under the ALv2 for 2 years >on >Github and many of its contributors came with previous open-source >experience, (as referenced above), including active members of these >communities: > > * Apache > * Cassandra (& Hector) > * Lucene > * Hibernate > * CouchDB > * PhoneGap > * jQuery > >Development in this open forum has resulted in a growing community of >contributors, and the Usergrid project is now ready and eager to embrace >and >learn from Apache's wealth of experience. Usergrid would like to embrace >an >even greater culture of open participation as witnessed on so many Apache >projects. > >=== Homogenous Developers === >The core development team for Usergrid is a geographically and >technologically diverse group. Apigee¹s team is itself distributed, with >contributors based in each timezone in the continental US. Additional >regular contributors have joined us from India, Asia, Oceania, South >America, the Middle East and Europe. While roughly half of our core >developers come from a Java background, the other half is comprised of >iOS, >Ruby, and JavaScript developers. > >=== Reliance on Salaried Developers === >Most of the principal developers are paid by their employers to >contribute, >but not all. Throughout the life of the project, we¹ve seen passionate, >personal commitment from all parties, as evidenced by our commit >distribution on weekends >(https://github.com/apigee/usergrid-stack/graphs/punch-card). We also >believe, given the growing interest in mobile API services and the range >of >individuals and corporations that are eager to participate, that >non-salaried contributions will grow. We know the "The Apache Way" will >help >us further accelerate this process. > >=== Relationships with Other Apache Products === >There's much potential for collaboration with Apache Cordova and, of >course, >the Cassandra community because of the underlying foundations of >Usergrid's >scalability. In the future there may be more interactions with any of the >communities that Usergrid has direct dependencies to. > >=== A Excessive Fascination with the Apache Brand === >Although we are aware of the strength of the Apache brand, we are >primarily >interested in the transforming power of the Apache Way to help guide >Usergrid towards a more diversified and meritocratic community. To that >end, >the brand's primary benefit for us is to help to attract more participants >and diversify the community. Having several committers, PMC participants, >and members of Apache as developers on Usergrid, there's little >infatuation >with the brand, and the Usergrid community is actively conscious of this >not >being a driver for joining the Apache community. > > >== Documentation == > >Information on Usergrid can be found at: >https://developers.apigee.com/app-services. > > >== Initial Source == > >All initial sources can be found here: https://github/usergrid > > >== Source and Intellectual Property Submission Plan == > >The IP transfer for Usergrid is trivial due to it's single source and >existing ASLv2 licensing. > > >== External Dependencies == > >Most dependencies are Apache compatible licenses (Category A). A small set >of Category B licenses, like the CDDL exists. For more details please see >Dependency Licenses. > > >== Cryptography == > >Not relevant to Usergrid since all code dealing with cryptography already >comes from the JDK or from dependencies on Apache Software. > > >== Required Resources == > >=== Mailing lists === > * priv...@usergrid.incubator.apache.org (moderated) > * d...@usergrid.incubator.apache.org > * comm...@usergrid.incubator.apache.org > >=== Subversion Directory === >We prefer to use Git as our source control system: >git://git.apache.org/usergrid/. If possible, we would like to keep >leveraging the extremely useful github facilities for workflow using a >process much like that employed by the Apache Cordova project (documented >here http://wiki.apache.org/cordova/ContributorWorkflow). > >=== Issue Tracking === >JIRA Usergrid (USERGRID) > >=== Other Resources === >None. > > >== Initial Committers == > > * Alberto Leal <albert...@gmail.com> (Globo.com) > * Alex Karasulu <akaras...@apache.org> (Apigee) > * Dave Johnson <snoopd...@apache.org> (Apigee) > * Ed Anuff <e...@anuff.com> (Apigee) > * Nate McCall <zznat...@gmail.com> (The Last Pickle) > * Rod Simpson <r...@rodsimpson.com> (Apigee) > * Scott Ganyo <scottga...@apache.org> (Apigee) > * Shaozhuang Liu <st...@hibernate.org> > * Sungju Jin <sun...@softwaregeeks.org> (Korea Telecom) > * Tim Anglade <timangl...@gmail.com> (Apigee) > * Todd Nine <todd.n...@gmail.com> (Apigee) > * Jim Jagielski <j...@apache.org> (RedHat) > > >== Affiliations == > > * Apigee > * Korea Telecom > * Globo.com > * The Last Pickle > > >== Sponsors == > >=== Champion === >Jim Jagielski <j...@apache.org> > >=== Nominated Mentors === > * Alex Karasulu <akaras...@apache.org> > * Dave Johnson <snoopd...@apache.org> > >=== Sponsoring Entity === >Incubator PMC > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org >For additional commands, e-mail: general-h...@incubator.apache.org > > >--------------------------------------------------------------------- >To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org >For additional commands, e-mail: general-h...@incubator.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org