+1
From the conversation with Marko, he intended to submit this as a
formal vote, but didn't use the regular voting template.
Voting will remain open until at least January 15, 2015 18:00 ET.
Cheers,
Hadrian
On 01/09/2015 11:35 AM, Marko Rodriguez wrote:
Hello everyone,
Over the last 2 weeks, TinkerPop's proposal has been worked on with
support from:
* David Nalley (champion)
* Rich Bowen (mentor)
* Hadrian Zbarcea (mentor)
* Daniel Gruno (mentor)
* Marko Rodriguez (submitting on behalf of TinkerPop)
We feel it is now in prime shape from submission to vote. Enjoy!.
(URL to wiki version: https://wiki.apache.org/incubator/TinkerPopProposal)
A. Abstract
TinkerPop <http://tinkerpop.com/> is a graph computing framework
written in Java. A graph
<http://en.wikipedia.org/wiki/Graph_%28mathematics%29> is a data
structure composed of vertices and edges and is useful for modeling
complex domains with arbitrary relations (edges, links, lines) between
entities (vertices, objects, dots). TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> provides a core API that
graph system vendors can implement. There are various types of graph
systems including in-memory graph libraries, OLTP graph databases, and
OLAP graph processors (see On Graph Computing
<http://markorodriguez.com/2013/01/09/on-graph-computing/> for more
information). Once the core interfaces are implemented, the underlying
graph system can be queried using the graph traversal language Gremlin
and processed withTinkerPop
<https://wiki.apache.org/incubator/TinkerPop>-enabled algorithms. For
many, TinkerPop <https://wiki.apache.org/incubator/TinkerPop> is seen
as the JDBC
<http://en.wikipedia.org/wiki/Java_Database_Connectivity> of the graph
computing community.
B. Proposal
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> was formed in
2009 and is currently in the milestone series of 3.0.0. From the
start, TinkerPop <https://wiki.apache.org/incubator/TinkerPop> has
provided its software open source and free to use for which ever
reason (commercial or otherwise). Initially the license was BSD, but
as of TinkerPop3 <https://wiki.apache.org/incubator/TinkerPop3>, the
license was changed to Apache2. The TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> team is composed of
developers, evangelists, and representatives from graph system vendors
(see TinkerPop Contributors
<http://www.tinkerpop.com/docs/3.0.0-SNAPSHOT/#tinkerpop-contributors> for
more information). TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> has done its best to
remain vendor agnostic and works closely with all vendors to ensure
that the constructs within TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> are able to accommodate
the requirements of the underlying graph system. To date, 12
"TinkerPop <https://wiki.apache.org/incubator/TinkerPop> recognized"
graph system vendors provide TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> implementations. We
believe that by joining The Apache Software 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 <https://wiki.apache.org/incubator/TinkerPop> has had
steady, active development since 2009 when it was founded. Over the
years, the Gremlin query language within TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> has been adopted by
various JVM languages and as such, there exists Gremlin-Groovy,
Gremlin-Scala, Gremlin-Clojure, Gremlin-JavaScript
<https://wiki.apache.org/incubator/JavaScript>, and the like. In many
ways, Gremlin is seen as a traversal style that can be readily adopted
within the programming constructs of the developer's native language
--- both on and off the JVM. TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> is not bound to the JVM
in that developers wishing to interact with a TinkerPop
<https://wiki.apache.org/incubator/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
<https://wiki.apache.org/incubator/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
<https://wiki.apache.org/incubator/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 the JDBC
allows users to swap relational databases while keeping the same
programming interface. TinkerPop
<https://wiki.apache.org/incubator/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. The seamless
support of single-machine systems and distributed systems provides an
identical end-user experience within the boundaries of the space and
time constraints of the underlying graph system.
E. Initial Goals
The goal of this proposal is to migrate TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> to The Apache Software
Foundation to
1. get more exposure to the project
2. legally protect the developers and contributors of the project
3.
ensure that TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> has a
vendor-neutral, stable home for the future
F. Current Status
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> is planning to
release TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> 3.0.0.GA early 2015. We
would like to release TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> 3.0.0.GA at the Apache
Software Foundation.
G. Meritocracy
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> already has an
established community that values meritocracy. Anyone is welcome to
contribute to TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> and voice their
opinions/thoughts on the direction of the project. If an individual
provides beneficial pull requests, documentation updates, theoretical
ideas, etc. then they are asked to join TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> as committers. Moreover,
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> is a business
friendly community. It provides a forum where vendors collaborate, via
individual representatives, by contributing ideas, code and content.
We believe the values of the community align well with the ASF, and we
are willing to adapt our practices when necessary.
H. Community
The TinkerPop mailing list
<https://groups.google.com/forum/#%21forum/gremlin-users> has 1500+
subscribers with a flow of approximately 10 emails a day. In addition
to the initial committers there are about two dozen folks that have
contributed code to the project, and 1/2 of those are from Graph
vendors. Note that there are individuals that participate in the
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> ecosystem by
providing language bindings and system implementations. While not
contributing to the core codebase per se, they supportTinkerPop
<https://wiki.apache.org/incubator/TinkerPop> via their software and
lecture outreach.
I. Core developers
The initial committer list is small, and we hope to grow that into a
larger, vibrant community at the Apache Software Foundation.
J. Alignment
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> is licensed
Apache2. The OLAP reference implementation that distributes with
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> is based on
Hadoop <http://hadoop.apache.org/> and Giraph
<http://giraph.apache.org/>. There has been a push from vendors and
commercial organizations interested in ensuring TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> has the legal support of
a software foundation. We believe The Apache Software Foundation to be
a great home for TinkerPop <https://wiki.apache.org/incubator/TinkerPop>.
K. Known Risks & Abandoned projects
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> is currently
at TinkerPop <https://wiki.apache.org/incubator/TinkerPop> 3.0.0.M6.
There is a significant amount of code developed since TinkerPop
<https://wiki.apache.org/incubator/TinkerPop>'s inception. We have
done our best to secure CLAs from contributors. To date did not have
any legal or political issues. TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> has 12 official graph
vendors that maintain or support a TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> implementation for their
system. If, lets say, 75% of those vendors decide against providing a
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> interface,
then this would be detrimental to TinkerPop
<https://wiki.apache.org/incubator/TinkerPop>'s efforts. With that, it
is very important that TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> remain neutral and
engaged with vendors.
L. Inexperience with Open Source
The primary developers of TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> have been producing
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> open source
code and releases in full public view since 2009 via both our GitHub
<https://wiki.apache.org/incubator/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, we see TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> as a masterpiece in the
open source space. We are working with both open source and commercial
entities to ensure a solid, respected product.
M. Homogeneous Developers
The initial set of committers all hail from different employers.
N. Reliance on Salaried Developers
TinkerPop <https://wiki.apache.org/incubator/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 <https://wiki.apache.org/incubator/TinkerPop> currently
leverages Hadoop, Giraph, and in the near future, will integrate with
Spark <https://spark.apache.org/>. Internally, the project leverages
Maven3, Apache Configuration, and Apache Commons.
P. An Excessive Fascination with the Apache Brand
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> is interested
in The Apache Software Foundation for the legal support and protection
it can offer our developers. Numerous large software organizations
have urged TinkerPop <https://wiki.apache.org/incubator/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 <https://wiki.apache.org/incubator/TinkerPop>.
With that said, TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> does respect the Apache
Software Foundation brand and believes that by joining The Apache
Software Foundation, we will further boost the recognition and
prestige of our product. Finally, note that a TinkerPop book
<http://www.tinkerpopbook.com/> is slated for 2015. Combining the
Apache Software Foundation and a long awaited book should ensure a new
uptake of contributors, users, vendors, and promoters.
Q. Documentation
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> takes pride in
its documentation:
AsciiDoc <https://wiki.apache.org/incubator/AsciiDoc>
http://www.tinkerpop.com/docs/3.0.0-SNAPSHOT/
JavaDoc <https://wiki.apache.org/incubator/JavaDoc> (core)
http://www.tinkerpop.com/javadocs/3.0.0-SNAPSHOT/core/
JavaDoc <https://wiki.apache.org/incubator/JavaDoc> (full)
http://www.tinkerpop.com/javadocs/3.0.0-SNAPSHOT/full/
R. Initial Source
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> is currently
hosted on GitHub <https://wiki.apache.org/incubator/GitHub>:
https://github.com/tinkerpop/.
The following repositories would like to be migrated to ASF.
TinkerPop3 <https://wiki.apache.org/incubator/TinkerPop3>
https://github.com/tinkerpop/tinkerpop3
Blueprints (TinkerPop2 <https://wiki.apache.org/incubator/TinkerPop2>)
https://github.com/tinkerpop/blueprints
Pipes (TinkerPop2 <https://wiki.apache.org/incubator/TinkerPop2>)
https://github.com/tinkerpop/pipes
Frames (TinkerPop2 <https://wiki.apache.org/incubator/TinkerPop2>
https://github.com/tinkerpop/frames
Gremlin (TinkerPop2 <https://wiki.apache.org/incubator/TinkerPop2>)
https://github.com/tinkerpop/gremlin
Rexster (TinkerPop2 <https://wiki.apache.org/incubator/TinkerPop2>)
https://github.com/tinkerpop/rexster
S. Source & Intellectual Property Submission Plan
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> has required
CLAs from contributors in the past to ensure solid IP provenance.
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> plans to
submit a Software Grant for the content in the following repositories:
https://github.com/tinkerpop/tinkerpop3
We plan to transfer to the ASF the TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> trademark as well as the
commissioned artwork for TinkerPop
<https://wiki.apache.org/incubator/TinkerPop> logos and the
http://tinkerpop.com <http://tinkerpop.com/> and http://tinkerpop.org
<http://tinkerpop.org/> domains.
T. External Dependencies
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> relies on a
number of open source dependencies. We believe these to comply with
the third-party licensing guidelines. If any dependencies are unfit,
we will make the necessary changes.
U. Cryptography
None.
V. Required Resources
W. Mailing Lists
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> requests the
following mailing list:
User Mailing List
us...@tinkerpop.incubator.apache.org
<mailto:us...@tinkerpop.incubator.apache.org>
Developer Mailing List
d...@tinkerpop.incubator.apache.org
<mailto:d...@tinkerpop.incubator.apache.org>
Private Mailing List
priv...@tinkerpop.incubator.apache.org
<mailto:priv...@tinkerpop.incubator.apache.org>
Commits Mailing List
comm...@tinkerpop.incubator.apache.org
<mailto:comm...@tinkerpop.incubator.apache.org>
X. Subversion Directory
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> will use
subversion for it’s website and requests:
*
https://svn.apache.org/repos/asf/incubator/tinkerpop
Y. Git Repository
TinkerPop <https://wiki.apache.org/incubator/TinkerPop> wishes to have
the following created:
*
https://git-wip-us.apache.org/repos/asf/incubator-tinkerpop.git
And to have all of these mirrored to Github with integration taken
care of.
Z. Issue Tracking
Please help us setup a JIRA instance for both issue tracking and code
review (TINKERPOP).
AA. Initial Committers and Affiliations
Marko A. Rodriguez (2009)
Aurelius
Stephen Mallette (2011)
Nidomics
James Thornton (2013)
Electric Speed
BB. Sponsors
* Champion: David Nalley
* Mentors: Rich Bowen, Matt Franklin, Daniel Gruno, David Nalley,
Hadrian Zbarcea
* Sponsoring Entity: We request the Incubator to sponsor this project.
---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org