Return-Path: X-Original-To: apmail-incubator-general-archive@www.apache.org Delivered-To: apmail-incubator-general-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C74BAF8D8 for ; Tue, 1 Oct 2013 15:49:51 +0000 (UTC) Received: (qmail 82514 invoked by uid 500); 1 Oct 2013 15:49:42 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 82294 invoked by uid 500); 1 Oct 2013 15:49:42 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Delivered-To: moderator for general@incubator.apache.org Received: (qmail 76683 invoked by uid 99); 1 Oct 2013 15:04:18 -0000 X-ASF-Spam-Status: No, hits=-0.5 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of rsandhu1@gmail.com designates 209.85.219.43 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=NAVUi3BD2WH0WAXmjKaHof0VyRYUBWFXYfnpqW780N4=; b=lFBjQs3HAXUXEW8iPUPNeIf9ES26Jv0QDVfmvuOXLH3tsKBi7n0dWs92qpl3BXHDg4 WMvOFOyYqAQW6BEj3BFa9ZUEN2XDi46gD00aegcg7mg4O2Ly580LWD6rxKXEskjfg8Ew lMPXErOYu4/vszWyJO/poG7C4Beu/Ko/K3QDMwENGQ2+iflBtXHkuFWZlW1VcbxcFtZq Y9y5ErIJxlI9GRyFiFEHrKrDT6r2S6aha8fEFUiC3ykhMculq1WwFGrXQEmkZ13Q9QDV wzvB2Tt+Or52S2hI8CLW0ueKmb7A+VtXor7bX6ARZAmjrENuOVqhl/HF2TcaZTvb4OdQ HKtQ== X-Received: by 10.60.33.74 with SMTP id p10mr26293334oei.18.1380639830703; Tue, 01 Oct 2013 08:03:50 -0700 (PDT) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\)) Subject: Re: [VOTE] Usergrid BaaS Stack for Apache Incubator (revised proposal) From: Raminder Singh In-Reply-To: Date: Tue, 1 Oct 2013 11:03:58 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: <5439B9A8-9ADB-462F-9AEC-2A2FCCCE9DD9@gmail.com> References: To: general@incubator.apache.org X-Mailer: Apple Mail (2.1508) X-Virus-Checked: Checked by ClamAV on apache.org +1 (non-binding).=20 Thanks Raminder On Sep 30, 2013, at 3:27 PM, Dave 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. >=20 > 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. >=20 > Here is a link to the revised proposal: > https://wiki.apache.org/incubator/UsergridProposal >=20 > It is also pasted below: >=20 >=20 > =3D Usergrid Proposal =3D >=20 > =3D=3D Abstract =3D=3D >=20 > Usergrid is a multi-tenant Backend-as-a-Service stack for web & mobile > applications, based on RESTful APIs. >=20 >=20 > =3D=3D Proposal =3D=3D >=20 > Usergrid is an open-source Backend-as-a-Service (=93BaaS=94 or = =93mBaaS=94) > 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. >=20 > 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. >=20 > 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. >=20 >=20 > =3D=3D Background =3D=3D >=20 > 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. >=20 > 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. >=20 > 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. >=20 >=20 > =3D=3D Rationale =3D=3D >=20 > 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. >=20 > 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. >=20 > 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. >=20 >=20 > =3D=3D Initial Goals =3D=3D >=20 > 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: >=20 > * 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 >=20 >=20 > =3D=3D Current Status =3D=3D >=20 >=20 > =3D=3D=3D Meritocracy =3D=3D=3D >=20 > 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=92s 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. >=20 >=20 > =3D=3D=3D Community =3D=3D=3D >=20 > We have a public Google Group for support here: > https://groups.google.com/forum/?hl=3Den#!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=3Dall. 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=3Dusergrid&source=3Dcc. >=20 > 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. >=20 >=20 > =3D=3D=3D Core Developers =3D=3D=3D >=20 > 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. >=20 >=20 > =3D=3D=3D Alignment =3D=3D=3D >=20 > 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: >=20 > * Apache Cassandra > * Apache Tomcat > * Apache Commons > * Apache ZooKeeper > * Apache Shiro > * Apache Amber > * Apache Thrift > * Apache ActiveMQ > * Apache HttpClient > * Apache Lucene > * Apache JClouds >=20 > Besides these direct alignments, Usergrid also complements Apache = Cordova > and could provide several advantages to the mobile application = developer > community they serve. >=20 >=20 > =3D=3D Known Risks =3D=3D >=20 > =3D=3D=3D Orphaned products =3D=3D=3D > 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. >=20 >=20 > =3D=3D=3D Inexperience with Open Source =3D=3D=3D >=20 > 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: >=20 > * Apache > * Cassandra (& Hector) > * Lucene > * Hibernate > * CouchDB > * PhoneGap > * jQuery >=20 > 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. >=20 >=20 > =3D=3D=3D Homogenous Developers =3D=3D=3D >=20 > The core development team for Usergrid is a geographically and > technologically diverse group. Apigee=92s 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. >=20 >=20 > =3D=3D=3D Reliance on Salaried Developers =3D=3D=3D >=20 > Most of the principal developers are paid by their employers to = contribute, > but not all. Throughout the life of the project, we=92ve 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. >=20 >=20 > =3D=3D=3D Relationships with Other Apache Products =3D=3D=3D >=20 > 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. >=20 >=20 > =3D=3D=3D A Excessive Fascination with the Apache Brand =3D=3D=3D >=20 > 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. >=20 >=20 > =3D=3D Documentation =3D=3D >=20 > Information on Usergrid can be found at: > https://developers.apigee.com/app-services. >=20 >=20 > =3D=3D Initial Source =3D=3D >=20 > All initial sources can be found here: https://github.com/usergrid >=20 >=20 > =3D=3D Source and Intellectual Property Submission Plan =3D=3D >=20 > The IP transfer for Usergrid is trivial due to it's single source and > existing ASLv2 licensing. >=20 >=20 > =3D=3D External Dependencies =3D=3D >=20 > 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. >=20 >=20 > =3D=3D Cryptography =3D=3D >=20 > Not relevant to Usergrid since all code dealing with cryptography = already > comes from the JDK or from dependencies on Apache Software. >=20 >=20 > =3D=3D Required Resources =3D=3D >=20 >=20 > =3D=3D=3D Mailing lists =3D=3D=3D >=20 > * private@usergrid.incubator.apache.org (moderated) > * dev@usergrid.incubator.apache.org > * commits@usergrid.incubator.apache.org >=20 >=20 > =3D=3D=3D Subversion Directory =3D=3D=3D >=20 > 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). >=20 >=20 > =3D=3D=3D Issue Tracking =3D=3D=3D >=20 > JIRA Usergrid (USERGRID) >=20 >=20 > =3D=3D=3D Other Resources =3D=3D=3D > None. >=20 >=20 > =3D=3D Initial Committers =3D=3D >=20 > 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. >=20 > * Alberto Leal (Globo.com) > * Dave Johnson (Apigee) > * Ed Anuff (Apigee) > * Nate McCall (The Last Pickle) > * Rod Simpson (Apigee) > * Scott Ganyo (Apigee) > * Shaozhuang Liu (Easemob, Inc.) > * Sungju Jin (Korea Telecom) > * Tim Anglade (Apigee) > * Todd Nine (Apigee) >=20 >=20 > =3D=3D Interested Contributors =3D=3D >=20 > Below are the people who have expressed interested in contributing to > Usergrid via the Apache Software Foundation: > * C.S.Nirmal J. Fernando (WSO2) > * Dulitha Rasanga Wijewantha (WSO2) > * Imesh Gunaratne (WSO2) > * Niranjan Karunanandham (WSO2) >=20 >=20 > =3D=3D Affiliations =3D=3D >=20 > * Apigee > * Easemob, Inc. > * Korea Telecom > * Globo.com > * The Last Pickle >=20 >=20 > =3D=3D Sponsors =3D=3D >=20 >=20 > =3D=3D=3D Champion =3D=3D=3D >=20 > * Dave Johnson >=20 >=20 > =3D=3D=3D Nominated Mentors =3D=3D=3D >=20 > * Jake Farrell > * Jim Jagielski > * Dave Johnson > * Lewis John Mcgibbney > * Luciano Resende >=20 >=20 > =3D=3D=3D Sponsoring Entity =3D=3D=3D >=20 > Incubator PMC --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org For additional commands, e-mail: general-help@incubator.apache.org