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 13:36:14 GMT
All done. Thx!
On Sep 24, 2013, at 9:24 AM, Sanjiva Weerawarana <sanjiva@wso2.com> wrote:

> Yes I was volunteering to mentor .. please add me.
> 
> Sanjiva.
> 
> 
> On Tue, Sep 24, 2013 at 5:13 PM, Jim Jagielski <jim@jagunet.com> wrote:
> 
>> 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
>> 
>> 
> 
> 
> -- 
> 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


Mime
View raw message