incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Subject Re: [PROPOSAL] Thrift
Date Thu, 31 Jan 2008 04:11:54 GMT
On Jan 29, 2008 2:44 AM, Upayavira <uv@odoko.co.uk> wrote:

> Sorry I didn't post in response to your original mail - I was in the
> middle of a laptop failure (now recovered with no harm done).
>
> I'm certainly in favour of this as a project. My main concern is that it
> is already relatively mature, which will make it harder to draw a
> broader community. Also, making one community around five-odd languages
> will be interesting.
>
> However, I see these as things to be sorted during incubation, and am
> therefore supportive of this project, and have volunteered to be a
> mentor.
>
> In response to Martijn's comment about needing another mentor, it is
> recommended to have three, but not required. What _is_ required is to
> get at least three votes from Incubator PMC members for the proposal when
> put to a vote.
>

If mentoring help is still needed, count me in.

Cheers,
Matthieu


>
> Regards, Upayavira
>
> On Mon, 2008-01-28 at 21:23 -0800, Mark Slee wrote:
> > Hi everyone,
> >
> > Unless my mail filters are playing tricks on me, haven't seen any
> > feedback on the incubator list since sending this proposal out last
> > week. Hopefully that's a good thing, meaning no one's opposed. =)
> >
> > Anyone have feedback? If no objections are voiced, when would it be
> > appropriate for us to move forward with a VOTE thread on this?
> >
> > Cheers,
> > Mark
> >
> > -----Original Message-----
> > From: Mark Slee [mailto:mslee@facebook.com]
> > Sent: Wednesday, January 23, 2008 6:07 PM
> > To: general@incubator.apache.org
> > Cc: thrift@publists.facebook.com
> > Subject: [PROPOSAL] Thrift
> >
> > Hi all,
> >
> > We've just posted the Apache Incubator proposal for Thrift onto the
> > Wiki:
> > http://wiki.apache.org/incubator/ThriftProposal
> >
> > For those who prefer reading Wiki markup directly, it is copied below.
> >
> > Cheers,
> > Mark
> >
> > = Thrift Proposal =
> >
> > == Abstract ==
> > Thrift is a framework for efficient cross-language data serialization,
> > RPC, and server programming.
> >
> > == Proposal ==
> > Thrift is a software library and set of code-generation tools designed
> > to expedite development and implementation of efficient and scalable
> > backend services. Its primary goal is to enable efficient and reliable
> > communication across programming languages by abstracting the portions
> > of each language that tend to require the most customization into a
> > common library that is implemented in each language. Specifically,
> > Thrift allows developers to define datatypes and service interfaces in a
> > single language-neutral file and generate all the necessary code to
> > build RPC clients and servers.
> >
> > == Background ==
> > Thrift was initially developed at Facebook starting in 2006 to power RPC
> > and data logging for a number of backend services for the site, such as
> > Search and News Feed. The package was designed for open source, and was
> > released in early 2007. Since then, a number of other developers have
> > submitted patches to the project and become de facto owners of major
> > parts. Support for many languages has been developed entirely outside of
> > Facebook.
> >
> > == Rationale ==
> > The need for high performance, reliable communication across different
> > programming languages seems to be growing more and more common in modern
> > programming, particularly when writing software for the web.
> > Historically, this problem has forced developers to standardize on one
> > language/framework or adopt heavier-weight systems, such as CORBA or
> > SOAP. These systems tend to make tradeoffs that aren't always ideal for
> > the use case. SOAP, for example, may be ideal for calling across
> > disparate web services, but is unnecessarily verbose for service calls
> > on an intranet.
> >
> > Most of these systems also require developers to learn the particulars
> > of their type systems, especially when dealing with containers or
> > objects. One of the primary goals of Thrift is to allow developers to
> > program across languages while still using the standard idioms and style
> > in each language. Custom type systems also makes code reuse more
> > difficult. Thrift allows developers to avoid creating unnecessary
> > wrapper interfaces by operating directly on native types.
> >
> > == Initial Goals ==
> > Though the bulk of Thrift's initial development is complete, there are
> > still some large areas for future development. Some areas we hope to
> > focus on in Apache:
> >
> >  * Better log storage/replay
> >  * Meta-data serialization
> >  * Higher-performance serialization, standard C extension model across
> > Python/PHP/etc.
> >  * Extending the abstraction to a multi-client that can fan-out across
> > multiple servers
> >
> > == Current Status ==
> > === Meritocracy ===
> > Though initial development was done at Facebook, Thrift was intended to
> > be released as an open source project from its inception. Since release,
> > many developers have adopted the framework and submitted significant
> > patches. Large portions of the codebase are now managed by those most
> > familiar with and responsible for them. Any potentially controversial
> > change is discussed on the public mailing list
> > (http://lists.pub.facebook.com/mailman/listinfo/thrift/) and good
> > suggestions are frequently implemented.
> >
> > === Community ===
> > Thrift is currently in use across a number of organizations, and we
> > expect this to grow as Thrift becomes a relevant and useful tool for
> > building more open source projects.
> >
> > === Core Developers ===
> > Thrift currently has developers across many organizations (e.g.
> > Facebook, Powerset, ReCaptcha, AmieStreet), many of whom are
> > contributors to other open source projects.
> >
> > === Alignment ===
> > Thrift is designed to integrate cleanly with other projects. We think
> > this is a particularly good fit for Apache due to integration potential
> > with other projects, specifically Hadoop/Hbase.
> >
> > == Known Risks ==
> > === Orphaned Products ===
> > Thrift is already deployed into production at multiple large websites
> > that are frequently iterating on the featureset. There's no realistic
> > chance of it becoming orphaned.
> >
> > === Inexperience with Open Source ===
> > The project has already been open source for nearly a year and has
> > attracted many developers already. Part of the reason to join Apache is
> > to make the project work even better as open source by removing some
> > obstacles, such as Facebook hosting the SVN, and putting the resources
> > all in a truly open space, being able to have more committers, etc. Most
> > of the core developers have a history of working with open source tools.
> >
> > === Homogenous Developers ===
> > The current set of developers work across a variety of organizations.
> > Naturally, most are websites with significant backend structure (and
> > hence a need for Thrift), but the problems they are solving are diverse,
> > and many don't work in the same programming languages.
> >
> > === Reliance on Salaried Developers ===
> > Thrift is a "means to an end." None of the developers (to my knowledge)
> > working on Thrift are salaried specifically to work on Thrift. Rather,
> > Thrift is useful in building other projects, which may or may not be for
> > salary. Realistically, it is likely that a decent portion of work on
> > Thrift will be done by someone at a company, but not specifically tasked
> > with working on Thrift. So long as the tool is relevant and useful, this
> > should result in developers contributing time both at work and
> > personally.
> >
> > === Relationships with Other Apache Projects === Thrift has already been
> > introduced into the Hbase project. (See
> > https://issues.apache.org/jira/browse/HADOOP-2389) Since Thrift is a
> > development tool, it is designed and well-suited for use in other
> > projects. As a start, we definitely plan to continue integration work
> > with Hbase.
> >
> > === An Excessive Fascination with the Apache Brand === Thrift has
> > already attracted a stable base of developers. The reasons for joining
> > Apache are not to advertise the project, but rather to demonstrate the
> > commitment to open source by divorcing the trunk from any one
> > corporation and pursuing further integration with other Apache projects.
> >
> > == Documentation ==
> > Existing page:
> > http://developers.facebook.com/thrift/
> >
> > Mailing list (with archives):
> > http://lists.pub.facebook.com/mailman/listinfo/thrift/
> >
> > == Initial Source ==
> > Currently hosted by Facebook:
> > http://svn.facebook.com/svnroot/thrift/
> >
> > == Source and Intellectual Property Submission Plan == All code
> > currently hosted in the Facebook public SVN folder will be contributed.
> >
> > == External Dependencies ==
> > All dependencies (libevent, Boost) have Apache compatible licenses.
> >
> > == Cryptography ==
> > None
> >
> > == Required Resources ==
> > === Mailing lists ===
> >  * thrift-dev
> >  * thrift-private
> >
> > === Subversion Directory ===
> > https://svn.apache.org/repos/asf/incubator/thrift
> >
> > We'd also be interested in using git to store the repo. Does apache have
> > infrastucture set up to support that? It'd make it easier for
> > non-committer developers to work on patches, checkpoint commits, etc.
> >
> > === Issue Tracking ===
> > Bugzilla Thrift
> >
> > == Initial Committers ==
> >  * Mark Slee (mcslee at facebook dot com)
> >  * Aditya Agarwal (aditya at facebook dot com)
> >  * Marc Kwiatkowski (marc at facebook dot com)
> >  * David Reiss (david at facebook dot com)
> >  * James Wang (jwang at facebook dot com)
> >  * Chris Piro (cpiro at facebook dot com)
> >  * Ben Maurer (bmaurer at andrew dot cmu dot edu)
> >  * Kevin Clark (kevin at powerset dot com)
> >  * Jake Luciani (jakers at gmail dot com)
> >
> > == Affiliations ==
> >  * People with Facebook email addresses - Facebook
> >  * Ben Maurer - ReCaptcha
> >  * Kevin Clark - Powerset
> >
> > == Sponsors ==
> > === Champion ===
> >  * Doug Cutting
> >
> > === Mentors ===
> >  * Paul Querna
> >  * Upayavira
> >
> > === Sponsoring Entity ===
> >  * Incubator
> >
> >
> > ---------------------------------------------------------------------
> > 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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message