+1 (binding)
On Tue, Oct 1, 2013 at 6:03 PM, Raminder Singh <rsand...@gmail.com> wrote: > +1 (non-binding). > > Thanks > Raminder > > On Sep 30, 2013, at 3:27 PM, Dave <snoopd...@gmail.com> wrote: > > > I would like to call for a new vote on Usergrid, a multi-tenant > > Backend-as-a-Service stack for web & mobile applications based on RESTful > > APIs, as an Apache Incubator podling. > > > > The original proposal has been revised to name Dave Johnson as the > Champion > > and to bring Jim Jagielski back in as a Mentor and to add John Lewis > > Mcgibbney as a Mentor. I also add some text to the Initial Committers > > section and a new Interested Contributors section to list those who have > > expressed interest in contributing. > > > > Here is a link to the revised 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 Status == > > > > > > === 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.com/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 == > > > > Below are the initial committers for the project. This list will be used > by > > the mentors to setup initial accounts. The podling will learn how to > > recruit additional committers during the incubation period and all > > interested contributors are encouraged to show up and start contributing > > once the podling has infrastructure in place. > > > > * Alberto Leal <albert...@gmail.com> (Globo.com) > > * 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> (Easemob, Inc.) > > * Sungju Jin <sun...@softwaregeeks.org> (Korea Telecom) > > * Tim Anglade <timangl...@gmail.com> (Apigee) > > * Todd Nine <todd.n...@gmail.com> (Apigee) > > > > > > == Interested Contributors == > > > > Below are the people who have expressed interested in contributing to > > Usergrid via the Apache Software Foundation: > > * C.S.Nirmal J. Fernando <nirmal070...@gmail.com> (WSO2) > > * Dulitha Rasanga Wijewantha <dulit...@gmail.com> (WSO2) > > * Imesh Gunaratne <im...@apache.org> (WSO2) > > * Niranjan Karunanandham <niranjan.k...@gmail.com> (WSO2) > > > > > > == Affiliations == > > > > * Apigee > > * Easemob, Inc. > > * Korea Telecom > > * Globo.com > > * The Last Pickle > > > > > > == Sponsors == > > > > > > === Champion === > > > > * Dave Johnson <snoopd...@apache.org> > > > > > > === Nominated Mentors === > > > > * Jake Farrell <jfarr...@apache.org> > > * Jim Jagielski <j...@apache.org> > > * Dave Johnson <snoopd...@apache.org> > > * Lewis John Mcgibbney <lewis.mcgibb...@gmail.com> > > * Luciano Resende <lrese...@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 > > -- Best Regards, -- Alex