Enthusiastically +1 to welcome TinkerPop to the Incubator.


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/#!forum/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.




--
Rich Bowen - rbo...@rcbowen.com - @rbowen
http://apachecon.com/ - @apachecon

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

Reply via email to