+1 (binding) On Mon, Sep 23, 2013 at 5:22 PM, Raymond Feng <enjoyj...@gmail.com> wrote: > +1 from me. > > Thanks, > Raymond > > Sent from my iPhone 5 > >> On Sep 23, 2013, at 5:44 AM, Jim Jagielski <j...@jagunet.com> wrote: >> >> 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 >
-- Best Regards, -- Alex --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org