+1
Hi Marko,
Thanks for your proposal. I followed and used tinkerpop for a long time
and it is indeed a brilliant open source project. I think I understand
the motivation to move the project governance to the ASF and it makes
sense. I volunteer to be a mentor, should the project be accepted (which
I am confident of, knowing the merits of your project). You'll need at
least 3 mentors and a champion as well (do you have any ASF member in
mind for that role?). The proposal needs a tiny bit of work as well.
Good luck,
Hadrian
On 12/17/2014 02:09 PM, Marko Rodriguez wrote:
Hello,
My name is Marko A. Rodriguez and am a co-founder of TinkerPop
(http://tinkerpop.com). There has been positive pressure on us (both
internally and externally) to move TinkerPop to The Apache Foundation.
This email contains our proposal and I, on behalf of TinkerPop, thank
you for spending your time reading it.
Take care,
Marko.
http://markorodriguez.com
------------------------------------
*A. Abstract*
TinkerPop is a graph computing framework written in Java --
http://tinkerpop.com <http://tinkerpop.com/>. TinkerPop started in
2009 and is currently in the milestone series of 3.0.0. Graph system
vendors such as in-memory graph libraries, OLTP graph databases, and
OLAP graph processors can provide a TinkerPop implementation
(http://markorodriguez.com/2013/01/09/on-graph-computing/). Once the
core TinkerPop interfaces are implemented, the underlying graph system
can be queried using the graph traversal language Gremlin. TinkerPop
was designed to be used at any scale and as such, can be leveraged by
both single-server and multi-machine compute clusters. For many,
TinkerPop is seen as the JDBC of the graph computing community
(http://en.wikipedia.org/wiki/Java_Database_Connectivity).
*B. Proposal*
Since its inception in 2009, TinkerPop has been open source, free to
use. Initially the license was BSD, but as of TinkerPop3, the license
is Apache2. The TinkerPop team is composed of developers as well as
representatives from numerous graph system vendors
(http://www.tinkerpop.com/docs/3.0.0-SNAPSHOT/#tinkerpop-contributors). TinkerPop
has done its best to remain vendor agnostic and works closely with
vendors to ensure that the constructs within TinkerPop are able to
accommodate the requirements of the underlying graph system. To date,
over 12 graph system vendors provide TinkerPop implementations. We
believe that by joining The Apache Foundation, our vendors, users, and
contributors will feel more comfortable in terms of legal protected,
in terms of wider-adoption, and in terms of project stability.
*C. Background*
TinkerPop was founded in 2009 and has had steady, active development
since. Over the years, the Gremlin query language within TinkerPop has
been adopted by various JVM languages and as such, there exists
Gremlin-Groovy, Gremlin-Scala, Gremlin-Clojure, Gremlin-JavaScript,
and the like. In many ways, Gremlin is seen as a traversal language
style that can be readily adopted by developers --- on and off the
JVM. TinkerPop is not bound to the JVM in that developers wishing to
interact with a TinkerPop-enabled graph system can leverage Gremlin
Server which provides "over the wire" communication as well as the
entry point for non-JVM language bindings. TinkerPop is being used is
production graph-based applications around the world and is only
getting better with age.
*D. Rationale*
The graph computing space has grown over the years to encompass
numerous graph database and graph processing systems. TinkerPop was
created as a unifying framework for interoperability, language
standardization, and data model standardization. This framework makes
it simple to "plug and play" the back-end graph implementation without
affecting the developer's code. This is analogous to the way in which
JDBC allows users to swap relational databases while keeping the same
programming interface. TinkerPop also brings together OLTP systems
(graph databases) and OLAP systems (graph processors) by providing a
single query language, Gremlin, for executing graph algorithms
transparently over either type of system. Finally, TinkerPop unifies
single-machine systems and distributed systems, presenting an
identical user experience within the boundaries of the computational
space and time constraints of the underlying graph system.
*E. Initial Goals*
The goal of this proposal is to migrate TinkerPop to The Apache
Foundation to 1.) get more exposure to the project and 2.) legally
protect the developers and contributors of TinkerPop.
*F. Current Status*
TinkerPop is planning to release TinkerPop 3.0.0.GA early 2015 --
January or February. We would like to release TinkerPop 3.0.0.GA under
The Apache Foundation.
*G. Meritocracy*
Anyone is welcome to join TinkerPop as a contributor. If an individual
provides successful code updates, documentation updates, etc. then
they are asked to join TinkerPop contributors. Once inside TinkerPop,
they are able to voice their opinions/thoughts on the direction of the
project. Moreover, TinkerPop actively seeks vendors who leverage
TinkerPop in their offering to place a representative on TinkerPop
contributors who can speak on behalf of their organization as it
relates to the requirements of their graph system. Every year or so,
we list inactive members and request their permission to purge them
from TinkerPop contributors. In this way, we try and keep the
TinkerPop contributors to the most active, participating members.
*H. Community*
There are 25 TinkerPop contributors which, of those, 12 are
representatives from the various graph system vendors in the market
today. The TinkerPop mailing list has over 1500+ subscribers with a
flow of approximately 10 emails a day
(https://groups.google.com/forum/#!forum/gremlin-users
<https://groups.google.com/forum/#%21forum/gremlin-users>).
*I. Core developers*
The primary developers are Marko A. Rodriguez
(http://markorodriguez.com <http://markorodriguez.com/>) and Stephen
Mallette (http://stephen.genoprime.com/). Over the years, numerous
individuals have come and gone from TinkerPop. Other significant
contributors include Peter Neubauer, Joshua Shinavier, James Thornton,
Matthias Bröcheler, Daniel Kuppitz, Bryn Cooke, and others. Note that
there are numerous individuals that participate in the TinkerPop
ecosystem by providing language bindings and system implementations.
While not contributing to the core codebase per se, they support
TinkerPop via their software and lecture outreach.
*J. Alignment *
TinkerPop is licensed Apache2. The OLAP reference implementation that
distributes with TinkerPop is based on Hadoop
(http://hadoop.apache.org <http://hadoop.apache.org/>) and Giraph
(http://giraph.apache.org <http://giraph.apache.org/>). There has been
a push from vendors and commercial organizations interested in
ensuring TinkerPop has the legal support of a software foundation. We
believe The Apache Foundation to be a great home for TinkerPop.
*K. Known Risks & Abandoned projects*
TinkerPop is currently at TinkerPop 3.0.0.M6. By joining The Apache
Foundation, there is a significant amount of code and time that has
passed since TinkerPop's inception. However, we have done our best to
secure CLAs from contributors and have never gotten into a legal or
political issue.
*L. Inexperience with Open Source*
The primary developers of TinkerPop have been providing TinkerPop
source and releases open source and in full public view since 2009 via
both our GitHub repository and our public mailing lists. We pride
ourselves in professional software, documentation, and aesthetics.
With its integration to numerous graph systems in the market,
TinkerPop is truly a masterpiece in a open source technology ---
working with both open source and commercial entities to ensure a
solid, respected project.
*M. Homogeneous Developers*
The contributors to TinkerPop run the full gamut of software
engineering expertise. From low-level data serialization to high-level
server interactions, TinkerPop has contributors able to work at the
requisite level. The codebase is complex as it deals with numerous
area of software engineering including: distributed computing, open
standards, language bindings, query language compilers, OLTP
databases, OLAP processors, etc. Over the years, we have gathered a
significant level of talent and as a whole, have all grown as engineers.
*N. Reliance on Salaried Developers*
TinkerPop is open source and no individual is paid for their
contributions except for our logo designer. All the logos and
documentation graphics are released Apache2.
*O. Relationships with Other Apache Projects*
TinkerPop currently leverages Hadoop, Giraph, and in the near future,
will integrate with Spark. Internally, the project leverages Maven3,
Apache Configuration, and Apache Commons.
*P. An Excessive Fascination with the Apache Brand*
TinkerPop is primarily interested in The Apache Foundation for the
legal support and protection it can offer our developers and users.
Numerous large software organizations have urged TinkerPop to join a
foundation so that they may more easily provide contributors from
their organization and moreover, maintain confidence in building
products atop TinkerPop. With that said, TinkerPop does respect The
Apache Foundation brand and believes that by joining The Apache
Foundation, we will further boost the recognition and prestige of our
product. Finally, note that a TinkerPop book is slated for 2015
(http://www.tinkerpopbook.com/). Combining The Apache Foundation and a
long awaited book should ensure a new uptake of contributors, users,
and promoters.
*Q. Documentation*
TinkerPop takes pride in its documentation:
AsciiDoc: http://www.tinkerpop.com/docs/3.0.0-SNAPSHOT/
JavaDoc (core): http://www.tinkerpop.com/javadocs/3.0.0-SNAPSHOT/core/
JavaDoc (full): http://www.tinkerpop.com/javadocs/3.0.0-SNAPSHOT/full/
*R. Initial Source*
TinkerPop is currently hosted on GitHub.
https://github.com/tinkerpop/tinkerpop3
*S. Source & Intellectual Property Submission Plan*
There are no known claims to violations of intellectual property.
*T. External Dependencies *
TinkerPop relies on open source and commercial vendors. We maintain
representatives from the various graph system projects on TinkerPop
contributors. These vendors, in turn, provide TinkerPop adaptors to
their technology and in fact, some of them provide TinkerPop as the
sole interface to their system.
*U. Cryptography*
None.
*V. Required Resources*
The only resource we see moving forward and if Apache wishes, is to
fund our logo designer when we need a logo. We currently spend about
$500 a year on logos. Please look through our documentation to see how
much we love giving character to our work. If this is not something
that Apache can do, then we will continue funding the creation of our
artwork as we have done in the past.
*W. Mailing Lists*
We currently have 2 mailing lists:
Gremlin-Users (public user forum):
https://groups.google.com/forum/#!forum/gremlin-users
<https://groups.google.com/forum/#%21forum/gremlin-users>
TinkerPop-Contributors (private contributors forum): <private>
*X. Subversion Directory*
TinkerPop uses GitHub for its source control.
*Y. Git Repository*
TinkerPop's GitHub account is: https://github.com/tinkerpop/tinkerpop3
*Z. Issue Tracking*
TinkerPop uses GitHub's issue tracker for tracking issues:
https://github.com/tinkerpop/tinkerpop3/issues
*AA. Initial Committers*
TinkerPop's contributors are listed here and all those that provide
source code commits have signed a CLA.
http://www.tinkerpop.com/docs/3.0.0.M6/#_graph_developers
*BB. Affiliations *
None.
*CC. Sponsors*
IBM (Kelvin Lawrence and Todd Moore) were the primary proponents of
pushing TinkerPop to join The Apache Foundation. The vendors that
support TinkerPop are listed here:
http://www.tinkerpop.com/docs/3.0.0.M6/#_graph_vendors