incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Mattmann <mattm...@apache.org>
Subject Re: [VOTE] Usergrid BaaS Stack for Apache Incubator
Date Thu, 26 Sep 2013 15:04:23 GMT
+1 from me (binding).

G'luck!

Cheers,
Chris


-----Original Message-----
From: Jim Jagielski <jim@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 ===
> * 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
>



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


Mime
View raw message