Differences between revisions 1 and 23 (spanning 22 versions)
Revision 1 as of 2014-12-18 00:33:25
Size: 12032
Comment:
Revision 23 as of 2015-01-08 14:00:37
Size: 11711
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
=== A. Abstract === = Apache Tinkerpop Proposal =
{{http://www.tinkerpop.com/docs/3.0.0-SNAPSHOT/images/tinkerpop-logo.png}}
Line 3: Line 4:
TinkerPop is a graph computing framework written in Java -- 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). == A. Abstract ==
Line 5: Line 6:
=== B. Proposal === [[http://tinkerpop.com|TinkerPop]] is a graph computing framework written in Java. A [[http://en.wikipedia.org/wiki/Graph_%28mathematics%29|graph]] 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 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 [[http://markorodriguez.com/2013/01/09/on-graph-computing/|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 with TinkerPop-enabled algorithms. For many, TinkerPop is seen as the [[http://en.wikipedia.org/wiki/Java_Database_Connectivity|JDBC]] of the graph computing community.
Line 7: Line 8:
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. == B. Proposal ==
Line 9: Line 10:
=== C. Background === TinkerPop was formed in 2009 and is currently in the milestone series of 3.0.0. From the start, 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, the license was changed to Apache2. The TinkerPop team is composed of developers, evangelists, and representatives from graph system vendors (see [[http://www.tinkerpop.com/docs/3.0.0-SNAPSHOT/#tinkerpop-contributors|TinkerPop Contributors]] for more information). TinkerPop has done its best to remain vendor agnostic and works closely with all vendors to ensure that the constructs within TinkerPop are able to accommodate the requirements of the underlying graph system. To date, 12 "TinkerPop recognized" graph system vendors provide 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.
Line 11: Line 12:
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. == C. Background ==
Line 13: Line 14:
=== D. Rationale === TinkerPop has had steady, active development since 2009 when it was founded. 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 style that can be readily adopted within the programming constructs of the developer's native language --- both 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.
Line 15: Line 16:
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. == D. Rationale ==
Line 17: Line 18:
=== E. Initial Goals === 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 the 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. 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.
Line 19: Line 20:
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. == E. Initial Goals ==
Line 21: Line 22:
=== F. Current Status === The goal of this proposal is to migrate 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 has a vendor-neutral, stable home for the future
Line 23: Line 28:
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. == F. Current Status ==
Line 25: Line 30:
=== G. Meritocracy === TinkerPop is planning to release TinkerPop 3.0.0.GA early 2015. We would like to release TinkerPop 3.0.0.GA at the Apache Software Foundation.
Line 27: Line 32:
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. == G. Meritocracy ==
Line 29: Line 34:
=== H. Community === TinkerPop already has an established community that values meritocracy. Anyone is welcome to contribute to 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 as committers. Moreover, TinkerPop is a business friendly community. It provides a forum where vendors collaborate, via individual representatives, by contributing ideas, code and content.
Line 31: Line 36:
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).
We believe the values of the community align well with the ASF, and we are willing to adapt our practices when necessary.
Line 34: Line 38:
=== I. Core developers === == H. Community ==
Line 36: Line 40:
The primary developers are Marko A. Rodriguez (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. The [[https://groups.google.com/forum/#!forum/gremlin-users|TinkerPop mailing list]] 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 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.
Line 38: Line 42:
=== J. Alignment === == I. Core developers ==
Line 40: Line 44:
TinkerPop is licensed Apache2. The OLAP reference implementation that distributes with 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 has the legal support of a software foundation. We believe The Apache Foundation to be a great home for TinkerPop. The initial committer list is small, and we hope to grow that into a larger, vibrant community at the Apache Software Foundation.
Line 42: Line 46:
=== K. Known Risks & Abandoned projects === == J. Alignment ==
Line 44: Line 48:
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. TinkerPop is licensed Apache2. The OLAP reference implementation that distributes with TinkerPop is based on [[http://hadoop.apache.org|Hadoop]] and [[http://giraph.apache.org|Giraph]]. 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 Software Foundation to be a great home for TinkerPop.
Line 46: Line 50:
=== L. Inexperience with Open Source === == K. Known Risks & Abandoned projects ==
Line 48: Line 52:
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. TinkerPop is currently at TinkerPop 3.0.0.M6. There is a significant amount of code developed since TinkerPop's inception. We have done our best to secure CLAs from contributors. To date did not have any legal or political issues. TinkerPop has 12 official graph vendors that maintain or support a TinkerPop implementation for their system. If, lets say, 75% of those vendors decide against providing a TinkerPop interface, then this would be detrimental to TinkerPop's efforts. With that, it is very important that TinkerPop remain neutral and engaged with vendors.
Line 50: Line 54:
=== M. Homogeneous Developers === == L. Inexperience with Open Source ==
Line 52: Line 56:
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. The primary developers of TinkerPop have been producing TinkerPop open source code and releases 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, we see 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.
Line 54: Line 58:
=== N. Reliance on Salaried Developers === == M. Homogeneous Developers ==

The initial set of committers all hail from different employers.

== N. Reliance on Salaried Developers ==
Line 58: Line 66:
=== O. Relationships with Other Apache Projects === == O. Relationships with Other Apache Projects ==
Line 60: Line 68:
TinkerPop currently leverages Hadoop, Giraph, and in the near future, will integrate with Spark. Internally, the project leverages Maven3, Apache Configuration, and Apache Commons. TinkerPop currently leverages Hadoop, Giraph, and in the near future, will integrate with [[https://spark.apache.org/|Spark]]. Internally, the project leverages Maven3, Apache Configuration, and Apache Commons.
Line 62: Line 70:
=== P. An Excessive Fascination with the Apache Brand === == P. An Excessive Fascination with the Apache Brand ==
Line 64: Line 72:
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. 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 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 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 [[http://www.tinkerpopbook.com/|TinkerPop book]] 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.
Line 66: Line 74:
=== Q. Documentation === == Q. Documentation ==
Line 69: Line 77:
 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/
Line 73: Line 78:
=== R. Initial Source === || 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/ ||
Line 75: Line 82:
TinkerPop is currently hosted on GitHub.
 https://github.com/tinkerpop/tinkerpop3
== R. Initial Source ==
Line 78: Line 84:
=== S. Source & Intellectual Property Submission Plan === TinkerPop is currently hosted on GitHub: https://github.com/tinkerpop/.
Line 80: Line 86:
There are no known claims to violations of intellectual property. The following repositories would like to be migrated to ASF.
Line 82: Line 88:
=== T. External Dependencies === || TinkerPop3 || https://github.com/tinkerpop/tinkerpop3 ||
|| Blueprints (TinkerPop2) || https://github.com/tinkerpop/blueprints ||
|| Pipes (TinkerPop2) || https://github.com/tinkerpop/pipes ||
|| Frames (TinkerPop2 || https://github.com/tinkerpop/frames ||
|| Gremlin (TinkerPop2) || https://github.com/tinkerpop/gremlin ||
|| Rexster (TinkerPop2) || https://github.com/tinkerpop/rexster ||
Line 84: Line 95:
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. == S. Source & Intellectual Property Submission Plan ==
Line 86: Line 97:
=== U. Cryptography === TinkerPop has required CLAs from contributors in the past to ensure solid IP provenance. 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 trademark as well as the commissioned artwork for TinkerPop logos and the http://tinkerpop.com and http://tinkerpop.org domains.

== T. External Dependencies ==

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 ==
Line 90: Line 109:
=== 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.
== V. Required Resources ==
Line 96: Line 113:
We currently have 2 mailing lists:
 Gremlin-Users (public user forum): https://groups.google.com/forum/#!forum/gremlin-users
 TinkerPop-Contributors (private contributors forum): <private>
TinkerPop requests the following mailing list:

|| User Mailing List || users@tinkerpop.incubator.apache.org ||
|| Developer Mailing List || dev@tinkerpop.incubator.apache.org ||
|| Private Mailing List || private@tinkerpop.incubator.apache.org ||
|| Commits Mailing List || commits@tinkerpop.incubator.apache.org ||
Line 102: Line 122:
TinkerPop uses GitHub for its source control. TinkerPop will use subversion for it’s website and requests:

 * https://svn.apache.org/repos/asf/incubator/tinkerpop
Line 106: Line 128:
TinkerPop's GitHub account is: https://github.com/tinkerpop/tinkerpop3 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.
Line 110: Line 136:
TinkerPop uses GitHub's issue tracker for tracking issues: https://github.com/tinkerpop/tinkerpop3/issues Please help us setup a JIRA instance for both issue tracking and code review (TINKERPOP).
Line 112: Line 138:
=== AA. Initial Committers === == AA. Initial Committers and Affiliations ==
Line 114: Line 140:
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-SNAPSHOT/#_graph_developers
|| Marko A. Rodriguez (2009) || Aurelius ||
|| Stephen Mallette (2011) || Nidomics ||
|| James Thornton (2013) || Electric Speed ||
Line 117: Line 144:
=== BB. Affiliations === == BB. Sponsors ==
Line 119: Line 146:
Marko A. Rodriguez (2009) -- Aurelius
Peter Neubauer (2009) -- Mapillary
Joshua Shinavier (2009) -- Rensselaer Polytechnic Institute
Ketrina Yim (2009) -- Self-employed
Stephen Mallette (2011) -- Nidomics
Pierre De Wilde (2011) -- Retired
Derrick Wiebe (2011) -- XNLogic
Luca Garulli (2012) -- OrientDB
Matthias Bröcheler (2012) -- Aurelius
Bryn Cooke (2013) -- Self-employed
James Thornton (2013) --
Sridhar Ramachandran (2013) -- LambdaZen
Nicholas Quinn (2013) -- Objectivity
Xavier Sanchez (2013) -- Sparsity Technologies
Daniel Kuppitz (2014) -- Self-employed
Michael Pollmeier (2014) -- Unknown
Jean-Baptiste Musso (2014) -- Self-employed
Bob Briody (2014) -- Aurelius
Mike Personick (2014) -- Bigdata
Michael Hackstein (2014) -- ArangoDB
Michael McMahon (2014) -- FoundationDB
Ryan Webb (2014) -- Johns Hopkins Applied Physics Laboratory
Avery Ching (2014) -- Facebook
Kendall Clark (2014) -- Clark & Parsia
Michael Grove (2014) -- Clark & Parsia

=== 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
 * Champion: David Nalley
 * Mentors: Rich Bowen, Matt Franklin, Daniel Gruno, David Nalley, Hadrian Zbarcea
 * Sponsoring Entity: We request the Incubator to sponsor this project.

Apache Tinkerpop Proposal

http://www.tinkerpop.com/docs/3.0.0-SNAPSHOT/images/tinkerpop-logo.png

A. Abstract

TinkerPop is a graph computing framework written in Java. A graph 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 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 for more information). Once the core interfaces are implemented, the underlying graph system can be queried using the graph traversal language Gremlin and processed with TinkerPop-enabled algorithms. For many, TinkerPop is seen as the JDBC of the graph computing community.

B. Proposal

TinkerPop was formed in 2009 and is currently in the milestone series of 3.0.0. From the start, 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, the license was changed to Apache2. The TinkerPop team is composed of developers, evangelists, and representatives from graph system vendors (see TinkerPop Contributors for more information). TinkerPop has done its best to remain vendor agnostic and works closely with all vendors to ensure that the constructs within TinkerPop are able to accommodate the requirements of the underlying graph system. To date, 12 "TinkerPop recognized" graph system vendors provide 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 has had steady, active development since 2009 when it was founded. 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 style that can be readily adopted within the programming constructs of the developer's native language --- both 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 the 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. 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 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 has a vendor-neutral, stable home for the future

F. Current Status

TinkerPop is planning to release TinkerPop 3.0.0.GA early 2015. We would like to release TinkerPop 3.0.0.GA at the Apache Software Foundation.

G. Meritocracy

TinkerPop already has an established community that values meritocracy. Anyone is welcome to contribute to 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 as committers. Moreover, 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 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 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.

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 is licensed Apache2. The OLAP reference implementation that distributes with TinkerPop is based on Hadoop and Giraph. 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 Software Foundation to be a great home for TinkerPop.

K. Known Risks & Abandoned projects

TinkerPop is currently at TinkerPop 3.0.0.M6. There is a significant amount of code developed since TinkerPop's inception. We have done our best to secure CLAs from contributors. To date did not have any legal or political issues. TinkerPop has 12 official graph vendors that maintain or support a TinkerPop implementation for their system. If, lets say, 75% of those vendors decide against providing a TinkerPop interface, then this would be detrimental to TinkerPop's efforts. With that, it is very important that TinkerPop remain neutral and engaged with vendors.

L. Inexperience with Open Source

The primary developers of TinkerPop have been producing TinkerPop open source code and releases 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, we see 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 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 interested in The Apache Software Foundation for the legal support and protection it can offer our developers. 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 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 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 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/.

The following repositories would like to be migrated to ASF.

TinkerPop3

https://github.com/tinkerpop/tinkerpop3

Blueprints (TinkerPop2)

https://github.com/tinkerpop/blueprints

Pipes (TinkerPop2)

https://github.com/tinkerpop/pipes

Frames (TinkerPop2

https://github.com/tinkerpop/frames

Gremlin (TinkerPop2)

https://github.com/tinkerpop/gremlin

Rexster (TinkerPop2)

https://github.com/tinkerpop/rexster

S. Source & Intellectual Property Submission Plan

TinkerPop has required CLAs from contributors in the past to ensure solid IP provenance. 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 trademark as well as the commissioned artwork for TinkerPop logos and the http://tinkerpop.com and http://tinkerpop.org domains.

T. External Dependencies

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 requests the following mailing list:

User Mailing List

users@tinkerpop.incubator.apache.org

Developer Mailing List

dev@tinkerpop.incubator.apache.org

Private Mailing List

private@tinkerpop.incubator.apache.org

Commits Mailing List

commits@tinkerpop.incubator.apache.org

X. Subversion Directory

TinkerPop will use subversion for it’s website and requests:

Y. Git Repository

TinkerPop wishes to have the following created:

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.

TinkerPopProposal (last edited 2015-01-08 14:00:37 by MarkoRodriguez)