incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Jagielski <...@jaguNET.com>
Subject Re: [VOTE] Usergrid BaaS Stack for Apache Incubator
Date Tue, 24 Sep 2013 11:43:06 GMT
Sanjiva has expressed interest in helping out as a mentor,
but I'm not sure if he's officially asking. If he does, I'm a
big +1 on adding him. If you are also interested, that would
give Usergrid a nice solid 4 mentors, which I think is pretty
much on the mark.

On Sep 23, 2013, at 9:49 PM, Jake Farrell <jfarrell@apache.org> wrote:

> Jim
> Do you need any additional mentors for this? 
> 
> -Jake
> 
> 
> On Mon, Sep 23, 2013 at 12:15 PM, Jim Jagielski <jim@jagunet.com> wrote:
> Did you see what you replied too?? "propose a vote" and
> the subject sez [VOTE]. :)
> 
> On Sep 23, 2013, at 12:03 PM, Sanjiva Weerawarana <sanjiva@wso2.com> wrote:
> 
> > Are you going to start a VOTE thread?
> >
> > +1 in any case :-).
> >
> >
> > On Mon, Sep 23, 2013 at 6:14 PM, Jim Jagielski <jim@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 ===
> >> * private@usergrid.incubator.apache.org (moderated)
> >> * dev@usergrid.incubator.apache.org
> >> * commits@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 <albertonb@gmail.com> (Globo.com)
> >> * Alex Karasulu <akarasulu@apache.org> (Apigee)
> >> * Dave Johnson <snoopdave@apache.org> (Apigee)
> >> * Ed Anuff <ed@anuff.com> (Apigee)
> >> * Nate McCall <zznate.m@gmail.com> (The Last Pickle)
> >> * Rod Simpson <rod@rodsimpson.com> (Apigee)
> >> * Scott Ganyo <scottganyo@apache.org> (Apigee)
> >> * Shaozhuang Liu <stliu@hibernate.org>
> >> * Sungju Jin <sungju@softwaregeeks.org> (Korea Telecom)
> >> * Tim Anglade <timanglade@gmail.com> (Apigee)
> >> * Todd Nine <todd.nine@gmail.com> (Apigee)
> >> * Jim Jagielski <jim@apache.org> (RedHat)
> >>
> >>
> >> == Affiliations ==
> >>
> >> * Apigee
> >> * Korea Telecom
> >> * Globo.com
> >> * The Last Pickle
> >>
> >>
> >> == Sponsors ==
> >>
> >> === Champion ===
> >> Jim Jagielski <jim@apache.org>
> >>
> >> === Nominated Mentors ===
> >> * Alex Karasulu <akarasulu@apache.org>
> >> * Dave Johnson <snoopdave@apache.org>
> >>
> >> === Sponsoring Entity ===
> >> Incubator PMC
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> >> For additional commands, e-mail: general-help@incubator.apache.org
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> >> For additional commands, e-mail: general-help@incubator.apache.org
> >>
> >>
> >
> >
> > --
> > Sanjiva Weerawarana, Ph.D.
> > Founder, Chairman & CEO; WSO2, Inc.;  http://wso2.com/
> > email: sanjiva@wso2.com; phone: +94 11 763 9614; cell: +94 77 787 6880 | +1
> > 650 265 8311
> > blog: http://sanjiva.weerawarana.org/
> >
> > Lean . Enterprise . Middleware
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Mime
View raw message