From 78117711cee8a05d1833ba1f2debf5affcda9d45 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Wed, 10 Nov 2021 21:02:39 +0800 Subject: [PATCH 01/27] Create APACHE_PROPOSAL.md --- APACHE_PROPOSAL.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 APACHE_PROPOSAL.md diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md new file mode 100644 index 0000000000..be1960213b --- /dev/null +++ b/APACHE_PROPOSAL.md @@ -0,0 +1,17 @@ +# [New Podling Proposal of HugeGraph](https://cwiki.apache.org/confluence/display/INCUBATOR/New+Podling+Proposal) + +## Abstract + +HugeGraph will be a graph database with high performance and scalability. + +## Proposal + +HugeGraph is to provide an large-scale graph database, which achieves availability and balance between performance and cost in the scenario of 100+ billion data, and has complete HTAP capabilities in an internal system. + +### Background + +Graph databases are good at dealing with relational analysis, but relational databases are generally not good at due to slow join performance, especially in the case of large-scale data with multiple dimensions and deep association relationships. HugeGraph was born in Baidu, the dominant search engine company in China, used to solve the large-scale graph analysis requirements of anti-fraud and protection from black market attacks. + +### Rationale + +In the industry, graph databases can generally handle 1-billion-scale graphs, there is a lack of systems for processing 100-billion-scale graphs, and some graph databases may only support online query (OLTP), and some graph platforms only support graph computing (OLAP). HugeGraph supports both online query and graph computing in the scenario of 100+ billion data. From 0cab65e723c1023dd9a1b7381855151399ae7c3f Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Sun, 14 Nov 2021 22:04:38 +0800 Subject: [PATCH 02/27] Update APACHE_PROPOSAL.md --- APACHE_PROPOSAL.md | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index be1960213b..13f3a9a44d 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -14,4 +14,36 @@ Graph databases are good at dealing with relational analysis, but relational dat ### Rationale -In the industry, graph databases can generally handle 1-billion-scale graphs, there is a lack of systems for processing 100-billion-scale graphs, and some graph databases may only support online query (OLTP), and some graph platforms only support graph computing (OLAP). HugeGraph supports both online query and graph computing in the scenario of 100+ billion data. +In the industry, graph databases can generally handle 1-billion-scale graphs, there is a lack of systems for processing 100-billion-scale graphs, and some graph databases may only support online query (OLTP), some graph platforms only support graph computing (OLAP). HugeGraph supports both online query and graph computing in the scenario of 100+ billion data. + +### Initial Goals + +None + +### Current Status + +#### Meritocracy + +HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project now has 30+ contributors from many companies, some of them become committers, and has hundreds of known users around the world. We have set up the PMC Team and Committer Team, contributions are welcomed and highly valued, new contributors are guided and reviewed by existed PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. + +#### Community + +Baidu has been building a community around users and developers for the last three years, now we make use of GitHub as code hosting and community communication. There are 10+ contributors from non-Baidu companies like 360, Kedaxunfei, Huyazhibo. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. + +#### Core Developers + +The core developers are already very experienced open source developers, they have managed the hugegraph community for three years, and they are contributors of Linux kernel, OpenStack, Ceph, RocksDB, Apache TinkerPop, Apache Hadoop and Apache Groovy. + +#### Alignment + +HugeGraph is compliance to [Apache TinkerPop 3](https://tinkerpop.apache.org/) framework, various complicated graph queries can be accomplished through [Gremlin](https://tinkerpop.apache.org/gremlin.html), a powerful graph traversal language. The TinkerPop ecosystem based on Java is relatively mature in terms of graph databases, we use Java language which is develop efficient and stable to develop upper-level components like graph engine, graph computing, graph api and graph tools; and we manage storage through JNI which is able to freely manage memory and execute efficiently. + +### Known Risks + +#### Project Name + +We have checked that the name is [suitable](https://github.com/hugegraph/hugegraph/issues/1646) and the project has legal permission to continuing using its current name. There is no one else found using this name through Google search. + +#### Relationship with Titan/Janus Graph + +In the early stage of the project, we referred to the storage structure of Titan/Janus Graph, some folks thought that HugeGraph was forked from Titan/Janus. In fact, HugeGraph is not based on its code, completely self-developed, and addressed many new challenges. Of course, we are still inspired by and thank for Titan/Janus. From 8e3ec446c18b3d7bc2cac42ce76995525d115921 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Mon, 15 Nov 2021 16:51:17 +0800 Subject: [PATCH 03/27] add part 3 --- APACHE_PROPOSAL.md | 170 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 169 insertions(+), 1 deletion(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 13f3a9a44d..78442117f9 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -6,7 +6,7 @@ HugeGraph will be a graph database with high performance and scalability. ## Proposal -HugeGraph is to provide an large-scale graph database, which achieves availability and balance between performance and cost in the scenario of 100+ billion data, and has complete HTAP capabilities in an internal system. +HugeGraph is to provide an large-scale graph database, which achieves availability and balance between performance and cost in the scenario of 100+ billion data, and has complete HTAP capabilities in an internal system. ### Background @@ -47,3 +47,171 @@ We have checked that the name is [suitable](https://github.com/hugegraph/hugegra #### Relationship with Titan/Janus Graph In the early stage of the project, we referred to the storage structure of Titan/Janus Graph, some folks thought that HugeGraph was forked from Titan/Janus. In fact, HugeGraph is not based on its code, completely self-developed, and addressed many new challenges. Of course, we are still inspired by and thank for Titan/Janus. + +### Documentation + +HugeGraph documentation is provided on https://hugegraph.github.io/hugegraph-doc/ in Simplified Chinese, the complete English version of the documentation is being prepared. + +### Initial Source + +This project consists of 2 core sub-projects and 8 complementary sub-projects, all of them are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018. The address of 10 existed git repositories are as follows: + +1. The graph database repository `hugegraph`, core sub-project, including graph server, graph engine and graph storage: https://github.com/hugegraph/hugegraph +2. The graph computing repository `hugegraph-computer`, core sub-project, including graph computing and graph algorithm s: https://github.com/hugegraph/hugegraph-computer +3. `hugegraph-common`: https://github.com/hugegraph/hugegraph-common +4. `hugegraph-client`: https://github.com/hugegraph/hugegraph-client +5. `hugegraph-doc`: https://github.com/hugegraph/hugegraph-doc +6. `hugegraph-loader`: https://github.com/hugegraph/hugegraph-loader +7. `hugegraph-tools`: https://github.com/hugegraph/hugegraph-tools +8. `hugegraph-rpc`: https://github.com/hugegraph/hugegraph-rpc +9. `hugegraph-hubble`: https://github.com/hugegraph/hugegraph-hubble +10. `hugegraph-test`: https://github.com/hugegraph/hugegraph-test + +### Source and Intellectual Property Submission Plan + +The codes are currently under Apache License Version 2.0 and have been verified to there is no intellectual property or license issues before being released to open source by Baidu in 2018. Baidu will provide SGA and all committers will sign ICLA after HugeGraph is accepted into the Incubator. + +#### External Dependencies: + +As all dependencies are managed using Apache Maven, none of the external libraries need to be packaged in a source distribution. All dependencies have Apache compatible licenses except MySQL (GPL-2.0), we will remove MySQL dependencies in future. + +HugeGraph has the following external [dependencies](https://github.com/hugegraph/hugegraph/issues/1632): + +- Apache License + + - HttpClient + - HttpCore + +- Apache License 2.0 + + - Annotations for Metrics + - ansj_seg + - Apache Cassandra + - Apache Commons + - Apache Groovy + - Apache HttpClient + - Apache HttpCore + - Apache Ivy + - Apache Log4j + - Apache Thrift + - Apache TinkerPop + - Apache Yetus + - Bean Validation API + - Caffeine cache + - CLI + - Sofa + - ConcurrentLinkedHashMap + - Data Mapper for Jackson + - DataStax Java Driver for Apache Cassandra + - Disruptor Framework + - error-prone annotations + - exp4j + - fastutil + - Findbugs + - Google Android Annotations Library + - Gson + - Guava + - Hibernate Validator Engine + - HPPC Collections + - htrace-core4 + - IKAnalyzer + - io.grpc + - J2ObjC Annotations + - Jackson + - Java Agent for Memory Measurements + - Java Concurrency Tools Core Library + - JavaPoet + - javatuples + - jcseg-core + - jffi + - JJWT + - jnr + - Joda + - jraft + - JSON.simple + - JVM Integration for Metrics + - Lucene + - LZ4 and xxHash + - Metrics + - mmseg4j-core + - Netty + - Ning-compress-LZF + - nlp-lang + - Objenesis + - OHC core + - OpenTracing + - perfmark + - proto-google-common-protos + - sigar + - snappy-java + - stream-lib + - swagger + - Thrift Server implementation backed by LMAX Disruptor + - jieba for java + - Java Native Access + - HanLP + - SnakeYAML + +- BSD License + + - ANTLR 3 + - ASM + - Chinese to Pinyin + - Hamcrest + - JLine + - jcabi + - PostgreSQL JDBC Driver - JDBC 4.2 + + - Protocol Buffers + - StringTemplate + +- CDDL + GPL License + + - Grizzly + - Jersey + +- CDDL + GPLv2 License + + - glassfish + - Java Servlet API + - javax.ws.rs-api + - jersey-inject-hk2 + - JSR 353 (JSON Processing) Default Provider + +- Commercial License + + - TrueLicense + +- Eclipse Distribution License + + - Eclipse Collections + - JUnit + +- ISC/BSD License + + - jBCrypt + +- LGPL 2.1 + MPL 1.1 + Apache License 2.0 + + - Javassist + +- MIT License + + - Animal Sniffer Annotations + - Mockito + - SLF4J + - Jedis + - high-scale-lib + - jnr-x86asm + +- GPL License + + - MySQL Connector/J + - Checker Qual + - word + - JBoss Logging 3 + - jnr-posix + +#### Cryptography + +None From f795d01f92410f9fd4b3ec4ddf0b016e524e1bbc Mon Sep 17 00:00:00 2001 From: zhoney Date: Tue, 16 Nov 2021 16:01:37 +0800 Subject: [PATCH 04/27] Update APACHE_PROPOSAL.md add Orphaned products ~ A Excessive Fascination --- APACHE_PROPOSAL.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 78442117f9..06eae6b8b6 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -44,10 +44,34 @@ HugeGraph is compliance to [Apache TinkerPop 3](https://tinkerpop.apache.org/) f We have checked that the name is [suitable](https://github.com/hugegraph/hugegraph/issues/1646) and the project has legal permission to continuing using its current name. There is no one else found using this name through Google search. +#### Orphaned products + +Due to the relatively small number of contributors, the project has a relatively small risk of becoming an orphan. However, the contributors have been operating in the spirit of open source for 3 years, and continue to develop new contributors to participate. + +#### Inexperience with Open Source: + +HugeGraph has been open sourced on GitHub for 3 years, during which contributors submitted code and documents in full compliance with open source specifications and requirements + +#### Length of Incubation: + +Expect to enter incubation in 6 months and graduate in about 2 years + +#### Homogenous Developers: + +The current list of committers includes developers from several different companies plus many independent volunteers. The committers are geographically concentrated in China now. They are experienced with working in a distributed environment in other open source project, e.g. OpenStack. + +#### Reliance on Salaried Developers: + +Most of the developers are paid by their employer to contribute to this project, but given some volunteer developers and the committers' sense of ownership for the code, the project would continue without issue if no salaried developers contributed to the project. + #### Relationship with Titan/Janus Graph In the early stage of the project, we referred to the storage structure of Titan/Janus Graph, some folks thought that HugeGraph was forked from Titan/Janus. In fact, HugeGraph is not based on its code, completely self-developed, and addressed many new challenges. Of course, we are still inspired by and thank for Titan/Janus. +#### A Excessive Fascination with the Apache Brand: + +Although we expect that the Apache brand may help attract more contributors, our interest in starting this project is based on the factors mentioned in the fundamentals section. We are interested in joining ASF to increase our connections in the open source world. Based on extensive collaboration, it is possible to build a community of developers and committers that live longer than the founder. + ### Documentation HugeGraph documentation is provided on https://hugegraph.github.io/hugegraph-doc/ in Simplified Chinese, the complete English version of the documentation is being prepared. From 9659e2f513d138a071c7668a3a4909638d7880c1 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Tue, 16 Nov 2021 20:17:43 +0800 Subject: [PATCH 05/27] add part 4 --- APACHE_PROPOSAL.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 06eae6b8b6..12edb55ec8 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -239,3 +239,69 @@ HugeGraph has the following external [dependencies](https://github.com/hugegraph #### Cryptography None + +### Required Resources + +#### Mailing lists: + +- hugegraph-dev: [dev@hugegraph.incubator.apache.org](mailto:dev@hugegraph.incubator.apache.org) for development and users discussions. +- hugegraph-private: [private@hugegraph.incubator.apache.org](mailto:private@hugegraph.incubator.apache.org) for PPMC discussions. +- hugegraph-commits: [commits@hugegraph.incubator.apache.org](mailto:commits@hugegraph.incubator.apache.org) for commits / [pull requests](https://github.com/hugegraph/hugegraph/pulls) and other notifications like code review comments. + +#### [Subversion Directory:](https://cwiki.apache.org/confluence/display/INCUBATOR/New+Podling+Proposal#subversion-directory) + +None + +#### [Git Repositories:](https://cwiki.apache.org/confluence/display/INCUBATOR/New+Podling+Proposal#git-repositories) + +1. `hugegraph`: https://github.com/hugegraph/hugegraph.git +2. `hugegraph-computer`: https://github.com/hugegraph/hugegraph-computer.git +3. `hugegraph-common`: https://github.com/hugegraph/hugegraph-common.git +4. `hugegraph-client`: https://github.com/hugegraph/hugegraph-client.git +5. `hugegraph-doc`: https://github.com/hugegraph/hugegraph-doc.git +6. `hugegraph-loader`: https://github.com/hugegraph/hugegraph-loader.git +7. `hugegraph-tools`: https://github.com/hugegraph/hugegraph-tools.git +8. `hugegraph-rpc`: https://github.com/hugegraph/hugegraph-rpc.git +9. `hugegraph-hubble`: https://github.com/hugegraph/hugegraph-hubble.git +10. `hugegraph-test`: https://github.com/hugegraph/hugegraph-test.git + +#### Issue Tracking: + +We choose JIRA HugeGraph (HUGEGRAPH), and the community would like to continue using [GitHub Issues](https://github.com/hugegraph/hugegraph/issues). + +#### Other Resources: + +- The community has already choosed [GitHub actions](https://github.com/hugegraph/hugegraph/actions) as continuous integration tools. +- The community has already used [codecov](https://github.com/marketplace/codecov) to check code coverage. +- The community has already used [mvn repository](https://mvnrepository.com/search?q=hugegraph) as binary package release platform. + +### Initial Committers + +- 李章梅, Jermy Li (javaloveme at gmail dot com) +- 李凝瑞, linary (liningrui at vip dot qq dot com) +- 张义, zhoney (zhangyi89817 at 126 dot com) +- 金子威, imbajin (0x00 at imbajin.com) +- 章炎, zyxxoo (1318247699 at qq dot com) +- 刘楠科, liunanke (liunanke at baidu dot com) +- 赵聪, coderzc (zc1217zc at 126 dot com) +- 郭守敬, ShouJing (1075185785 at qq dot com) +- 李小彪, lxb1111 (13703287619 at 163 dot com) +- 黄海平, hhpcn (954872405 at qq dot com) +- 江小叶, kidleaf-jiang (kidleaf at 163 dot com) + +### Sponsors + +#### Champion: + +- 姜宁, Willem Ning Jiang (ningjiang at apache dot org) + +#### Nominated Mentors: + +- 潘娟 +- 代立冬 +- 黄向东 +- 李钰(待确认) + +#### Sponsoring Entity: + +We are expecting the Apache Incubator could sponsor this project. From b6699cb71304cff1b0eb3de6c0bc3f353159838b Mon Sep 17 00:00:00 2001 From: zhoney Date: Wed, 17 Nov 2021 11:38:10 +0800 Subject: [PATCH 06/27] improve part3 --- APACHE_PROPOSAL.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 12edb55ec8..ac48fc16da 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -44,17 +44,21 @@ HugeGraph is compliance to [Apache TinkerPop 3](https://tinkerpop.apache.org/) f We have checked that the name is [suitable](https://github.com/hugegraph/hugegraph/issues/1646) and the project has legal permission to continuing using its current name. There is no one else found using this name through Google search. -#### Orphaned products +#### Relationship with Titan/Janus Graph + +In the early stage of the project, we referred to the storage structure of Titan/Janus Graph, some folks thought that HugeGraph was forked from Titan/Janus. In fact, HugeGraph is not based on its code, completely self-developed, and addressed many new challenges. Of course, we are still inspired by and thank for Titan/Janus. -Due to the relatively small number of contributors, the project has a relatively small risk of becoming an orphan. However, the contributors have been operating in the spirit of open source for 3 years, and continue to develop new contributors to participate. +### Orphaned products + +Due to about 10+ committers, the project has a relatively small risk of becoming an orphan. However, the contributors have been operating in the spirit of open source for 3 years, and continue to develop new contributors to participate. #### Inexperience with Open Source: -HugeGraph has been open sourced on GitHub for 3 years, during which contributors submitted code and documents in full compliance with open source specifications and requirements +HugeGraph has been open sourced on GitHub for 3 years, during which committers submitted code and documents in full compliance with open source specifications and requirements. #### Length of Incubation: -Expect to enter incubation in 6 months and graduate in about 2 years +Expect to enter incubation in 4 months and graduate in about 2 years. #### Homogenous Developers: @@ -64,9 +68,9 @@ The current list of committers includes developers from several different compan Most of the developers are paid by their employer to contribute to this project, but given some volunteer developers and the committers' sense of ownership for the code, the project would continue without issue if no salaried developers contributed to the project. -#### Relationship with Titan/Janus Graph +#### Relationships with Other Apache Products: -In the early stage of the project, we referred to the storage structure of Titan/Janus Graph, some folks thought that HugeGraph was forked from Titan/Janus. In fact, HugeGraph is not based on its code, completely self-developed, and addressed many new challenges. Of course, we are still inspired by and thank for Titan/Janus. +HugeGraph follows the Apache TinkerPop specification, uses Apache Cassandra as the storage backend, and uses Apache Commons, Apache HttpClient, and Apache HttpCore to implement the framework and basic functions. #### A Excessive Fascination with the Apache Brand: From a0434338157830dfec550c70f926fa9921aa3f57 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Wed, 17 Nov 2021 12:51:29 +0800 Subject: [PATCH 07/27] tiny improve --- APACHE_PROPOSAL.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index ac48fc16da..804e8e5576 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -6,11 +6,11 @@ HugeGraph will be a graph database with high performance and scalability. ## Proposal -HugeGraph is to provide an large-scale graph database, which achieves availability and balance between performance and cost in the scenario of 100+ billion data, and has complete HTAP capabilities in an internal system. +HugeGraph is to provide an large-scale graph database, in the scenario of 100+ billion data which achieves availability and balance between performance and cost, and has complete HTAP capabilities in an internal system. ### Background -Graph databases are good at dealing with relational analysis, but relational databases are generally not good at due to slow join performance, especially in the case of large-scale data with multiple dimensions and deep association relationships. HugeGraph was born in Baidu, the dominant search engine company in China, used to solve the large-scale graph analysis requirements of anti-fraud and protection from black market attacks. +Graph databases are good at dealing with relational analysis, but relational databases are generally at a disadvantage due to slow join performance, especially in the case of large-scale graph with multiple dimensions and deep association relationships. HugeGraph was born in Baidu, the dominant search engine company in China, used to solve the large-scale graph analysis requirements of anti-fraud and protection from black market attacks. ### Rationale @@ -70,7 +70,7 @@ Most of the developers are paid by their employer to contribute to this project, #### Relationships with Other Apache Products: -HugeGraph follows the Apache TinkerPop specification, uses Apache Cassandra as the storage backend, and uses Apache Commons, Apache HttpClient, and Apache HttpCore to implement the framework and basic functions. +HugeGraph follows the Apache TinkerPop specification, uses Apache Cassandra and Apache HBase as one of the storage backends, and uses Apache Commons, Apache HttpClient, and Apache HttpCore to implement the basic functions. #### A Excessive Fascination with the Apache Brand: From c5b91ee2c9d09fcea6d0940f7aa9194da3c3fb2a Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Wed, 17 Nov 2021 14:17:04 +0800 Subject: [PATCH 08/27] tiny improve --- APACHE_PROPOSAL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 804e8e5576..467ff27632 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -70,7 +70,7 @@ Most of the developers are paid by their employer to contribute to this project, #### Relationships with Other Apache Products: -HugeGraph follows the Apache TinkerPop specification, uses Apache Cassandra and Apache HBase as one of the storage backends, and uses Apache Commons, Apache HttpClient, and Apache HttpCore to implement the basic functions. +HugeGraph follows the Apache TinkerPop specification, uses Apache Commons, Apache HttpClient, and Apache HttpCore to implement the basic functions. Users can choose Apache Cassandra or Apache HBase as one of the storage backends of HugeGraph. #### A Excessive Fascination with the Apache Brand: From 35fac7276e5d1e1f1844214ec073f8a218704754 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Wed, 17 Nov 2021 14:42:04 +0800 Subject: [PATCH 09/27] improve dependencies license --- APACHE_PROPOSAL.md | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 467ff27632..e48730508d 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -169,6 +169,7 @@ HugeGraph has the following external [dependencies](https://github.com/hugegraph - OHC core - OpenTracing - perfmark + - picocli - proto-google-common-protos - sigar - snappy-java @@ -180,6 +181,10 @@ HugeGraph has the following external [dependencies](https://github.com/hugegraph - HanLP - SnakeYAML +- Apache License 2.0 + GPLv2 License + + - RocksDB JNI + - BSD License - ANTLR 3 @@ -189,7 +194,6 @@ HugeGraph has the following external [dependencies](https://github.com/hugegraph - JLine - jcabi - PostgreSQL JDBC Driver - JDBC 4.2 - - Protocol Buffers - StringTemplate @@ -206,7 +210,7 @@ HugeGraph has the following external [dependencies](https://github.com/hugegraph - jersey-inject-hk2 - JSR 353 (JSON Processing) Default Provider -- Commercial License +- Commercial License + AGPL License - TrueLicense @@ -219,6 +223,14 @@ HugeGraph has the following external [dependencies](https://github.com/hugegraph - jBCrypt +- LGPL License + + - JBoss Logging 3 + +- LGPL + GPL License License + + - jnr-posix + - LGPL 2.1 + MPL 1.1 + Apache License 2.0 - Javassist @@ -232,13 +244,14 @@ HugeGraph has the following external [dependencies](https://github.com/hugegraph - high-scale-lib - jnr-x86asm +- GPL + MIT License + + - Checker Qual + - GPL License - MySQL Connector/J - - Checker Qual - word - - JBoss Logging 3 - - jnr-posix #### Cryptography From 521880c73011cad60f61605424f06a5b7128bdd2 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Wed, 17 Nov 2021 17:42:24 +0800 Subject: [PATCH 10/27] tiny improve --- APACHE_PROPOSAL.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index e48730508d..80c586cdf6 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -8,9 +8,11 @@ HugeGraph will be a graph database with high performance and scalability. HugeGraph is to provide an large-scale graph database, in the scenario of 100+ billion data which achieves availability and balance between performance and cost, and has complete HTAP capabilities in an internal system. +We believe that bringing HugeGraph into Apache Software Foundation could advance the development of a stronger and more diverse open source community. + ### Background -Graph databases are good at dealing with relational analysis, but relational databases are generally at a disadvantage due to slow join performance, especially in the case of large-scale graph with multiple dimensions and deep association relationships. HugeGraph was born in Baidu, the dominant search engine company in China, used to solve the large-scale graph analysis requirements of anti-fraud and protection from black market attacks. +Graph databases are good at dealing with relational analysis, but relational databases are generally at a disadvantage due to slow join performance, especially in the case of large-scale graph with multiple dimensions and deep association relationships. HugeGraph was born at Baidu, the dominant search engine company in China, used to solve the large-scale graph analysis requirements of anti-fraud and protection from black market attacks. ### Rationale @@ -24,15 +26,15 @@ None #### Meritocracy -HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project now has 30+ contributors from many companies, some of them become committers, and has hundreds of known users around the world. We have set up the PMC Team and Committer Team, contributions are welcomed and highly valued, new contributors are guided and reviewed by existed PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. +HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies, some of them become committers, and has hundreds of known users around the world. We have set up the PMC Team and Committer Team, contributions are welcomed and highly valued, new contributors are guided and reviewed by existed PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. #### Community -Baidu has been building a community around users and developers for the last three years, now we make use of GitHub as code hosting and community communication. There are 10+ contributors from non-Baidu companies like 360, Kedaxunfei, Huyazhibo. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. +Baidu has been building a community around users and developers for the last 3 years, now we make use of GitHub as code hosting and community communication. The most of core developers are from Baidu, there are 10+ contributors from non-Baidu companies like 360, Iflytek and Huya. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. #### Core Developers -The core developers are already very experienced open source developers, they have managed the hugegraph community for three years, and they are contributors of Linux kernel, OpenStack, Ceph, RocksDB, Apache TinkerPop, Apache Hadoop and Apache Groovy. +The core developers are already experienced open source developers, they have operated the HugeGraph Community for 3 years, and they are contributors of Linux kernel, OpenStack, Ceph, RocksDB, Apache TinkerPop, Apache Hadoop and Apache Groovy. #### Alignment @@ -46,11 +48,11 @@ We have checked that the name is [suitable](https://github.com/hugegraph/hugegra #### Relationship with Titan/Janus Graph -In the early stage of the project, we referred to the storage structure of Titan/Janus Graph, some folks thought that HugeGraph was forked from Titan/Janus. In fact, HugeGraph is not based on its code, completely self-developed, and addressed many new challenges. Of course, we are still inspired by and thank for Titan/Janus. +In the early stage of the project, we referred to the storage structure of Titan/Janus Graph, some folks thought that HugeGraph was forked from Titan/Janus. In fact, HugeGraph is not based on its code, it's completely self-developed, and addressed many new challenges. Of course, we are still inspired by and thank for Titan/Janus. ### Orphaned products -Due to about 10+ committers, the project has a relatively small risk of becoming an orphan. However, the contributors have been operating in the spirit of open source for 3 years, and continue to develop new contributors to participate. +Due to only about 10 committers, the project has a relatively small risk of becoming an orphan. However, the committers have been operating the HugeGraph Community for 3 years in the spirit of open source, and continue to develop new contributors to participate. #### Inexperience with Open Source: @@ -62,7 +64,7 @@ Expect to enter incubation in 4 months and graduate in about 2 years. #### Homogenous Developers: -The current list of committers includes developers from several different companies plus many independent volunteers. The committers are geographically concentrated in China now. They are experienced with working in a distributed environment in other open source project, e.g. OpenStack. +The current list of developers from several different companies plus many independent volunteers, but the most of committers are from Baidu. The developers are geographically concentrated in China now. They are experienced with working in a distributed environment in other open source project, e.g. OpenStack. #### Reliance on Salaried Developers: @@ -82,7 +84,7 @@ HugeGraph documentation is provided on https://hugegraph.github.io/hugegraph-doc ### Initial Source -This project consists of 2 core sub-projects and 8 complementary sub-projects, all of them are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018. The address of 10 existed git repositories are as follows: +This project consists of 2 core sub-projects and 8 complementary sub-projects, all of them are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018, the codes are already under Apache License Version 2.0. The git address of sub-project repositories are as follows: 1. The graph database repository `hugegraph`, core sub-project, including graph server, graph engine and graph storage: https://github.com/hugegraph/hugegraph 2. The graph computing repository `hugegraph-computer`, core sub-project, including graph computing and graph algorithm s: https://github.com/hugegraph/hugegraph-computer @@ -317,7 +319,7 @@ We choose JIRA HugeGraph (HUGEGRAPH), and the community would like to continue u - 潘娟 - 代立冬 - 黄向东 -- 李钰(待确认) +- 李钰 #### Sponsoring Entity: From 51dcb390f9ba20af837ba1c569c73f05d046f608 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Wed, 17 Nov 2021 18:08:06 +0800 Subject: [PATCH 11/27] tiny improve --- APACHE_PROPOSAL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 80c586cdf6..9c9fe2b12c 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -2,7 +2,7 @@ ## Abstract -HugeGraph will be a graph database with high performance and scalability. +HugeGraph is a graph database with high performance and scalability. ## Proposal From 753c248e903ad797889ea6d812d423f73ec0cafb Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Wed, 17 Nov 2021 23:47:35 +0800 Subject: [PATCH 12/27] choose GitHub Issues for Issue Tracking --- APACHE_PROPOSAL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 9c9fe2b12c..167d5ee692 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -286,7 +286,7 @@ None #### Issue Tracking: -We choose JIRA HugeGraph (HUGEGRAPH), and the community would like to continue using [GitHub Issues](https://github.com/hugegraph/hugegraph/issues). +The community would like to continue using [GitHub Issues](https://github.com/hugegraph/hugegraph/issues). #### Other Resources: From e8cdbb003f0c0354694e37ba10c84a1197a03b70 Mon Sep 17 00:00:00 2001 From: Xiangdong Huang Date: Thu, 18 Nov 2021 21:15:10 +0800 Subject: [PATCH 13/27] fix some grammar mistake (#1658) --- APACHE_PROPOSAL.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 167d5ee692..ce338b530b 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -6,7 +6,7 @@ HugeGraph is a graph database with high performance and scalability. ## Proposal -HugeGraph is to provide an large-scale graph database, in the scenario of 100+ billion data which achieves availability and balance between performance and cost, and has complete HTAP capabilities in an internal system. +HugeGraph is to provide a large-scale graph database, in the scenario of 100+ billion data which achieves availability and balance between performance and cost, and has complete HTAP capabilities in the internal system. We believe that bringing HugeGraph into Apache Software Foundation could advance the development of a stronger and more diverse open source community. @@ -16,7 +16,7 @@ Graph databases are good at dealing with relational analysis, but relational dat ### Rationale -In the industry, graph databases can generally handle 1-billion-scale graphs, there is a lack of systems for processing 100-billion-scale graphs, and some graph databases may only support online query (OLTP), some graph platforms only support graph computing (OLAP). HugeGraph supports both online query and graph computing in the scenario of 100+ billion data. +In the industry, graph databases can generally handle 1-billion-scale graphs, but there is a lack of systems for processing 100-billion-scale graphs, and some graph databases may only support online query (OLTP), some graph platforms only support graph computing (OLAP). HugeGraph supports both online query and graph computing in the scenario of 100+ billion data. ### Initial Goals @@ -26,11 +26,11 @@ None #### Meritocracy -HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies, some of them become committers, and has hundreds of known users around the world. We have set up the PMC Team and Committer Team, contributions are welcomed and highly valued, new contributors are guided and reviewed by existed PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. +HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies, some of which become committers, and the project has hundreds of known users around the world. We have set up the PMC Team and Committer Team. Contributions are welcomed and highly valued. New contributors are guided and reviewed by existed PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. #### Community -Baidu has been building a community around users and developers for the last 3 years, now we make use of GitHub as code hosting and community communication. The most of core developers are from Baidu, there are 10+ contributors from non-Baidu companies like 360, Iflytek and Huya. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. +Baidu has been building a community around users and developers for the last 3 years, and now we make use of GitHub as code hosting and community communication. The most of core developers are from Baidu. Besides, there are 10+ contributors from non-Baidu companies like 360, Iflytek and Huya. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. #### Core Developers @@ -68,7 +68,7 @@ The current list of developers from several different companies plus many indepe #### Reliance on Salaried Developers: -Most of the developers are paid by their employer to contribute to this project, but given some volunteer developers and the committers' sense of ownership for the code, the project would continue without issue if no salaried developers contributed to the project. +Most of the developers are paid by their employer to contribute to this project, but given some volunteer developers and the committers' sense of ownership for the code, the project would continue without issue even if no salaried developers contributed to the project. #### Relationships with Other Apache Products: @@ -286,7 +286,7 @@ None #### Issue Tracking: -The community would like to continue using [GitHub Issues](https://github.com/hugegraph/hugegraph/issues). +The community would like to continue using [GitHub Issues](https://github.com/hugegraph/hugegraph/issues) (but will moved to github.com/apache/). #### Other Resources: @@ -318,7 +318,7 @@ The community would like to continue using [GitHub Issues](https://github.com/hu - 潘娟 - 代立冬 -- 黄向东 +- 黄向东,Xiangdong Huang (hxd at apache) - 李钰 #### Sponsoring Entity: From 311a903035eb6f4a5679ac2ddb50672fb2ae75a9 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Thu, 18 Nov 2021 21:28:04 +0800 Subject: [PATCH 14/27] improve #1658 comments --- APACHE_PROPOSAL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index ce338b530b..abd6ea9d8b 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -6,7 +6,7 @@ HugeGraph is a graph database with high performance and scalability. ## Proposal -HugeGraph is to provide a large-scale graph database, in the scenario of 100+ billion data which achieves availability and balance between performance and cost, and has complete HTAP capabilities in the internal system. +HugeGraph is to provide a large-scale graph database, in the scenario of 100+ billion data (vertexes and edges) which achieves availability and balance between performance and cost, and has complete HTAP capabilities in the internal system. We believe that bringing HugeGraph into Apache Software Foundation could advance the development of a stronger and more diverse open source community. @@ -26,7 +26,7 @@ None #### Meritocracy -HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies, some of which become committers, and the project has hundreds of known users around the world. We have set up the PMC Team and Committer Team. Contributions are welcomed and highly valued. New contributors are guided and reviewed by existed PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. +HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies, some of which become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PMC Team and Committer Team. Contributions are welcomed and highly valued. New contributors are guided and reviewed by existed PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. #### Community From 438751f704513838215cc881314687a56c2d82f8 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Thu, 18 Nov 2021 21:59:35 +0800 Subject: [PATCH 15/27] improve TinkerPop description --- APACHE_PROPOSAL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index abd6ea9d8b..6a33f7c813 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -26,7 +26,7 @@ None #### Meritocracy -HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies, some of which become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PMC Team and Committer Team. Contributions are welcomed and highly valued. New contributors are guided and reviewed by existed PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. +HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies, some of which become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PMC Team and Committer Team. Contributions are welcomed and highly valued. New contributors are guided and reviewed by existed PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. #### Community @@ -38,7 +38,7 @@ The core developers are already experienced open source developers, they have op #### Alignment -HugeGraph is compliance to [Apache TinkerPop 3](https://tinkerpop.apache.org/) framework, various complicated graph queries can be accomplished through [Gremlin](https://tinkerpop.apache.org/gremlin.html), a powerful graph traversal language. The TinkerPop ecosystem based on Java is relatively mature in terms of graph databases, we use Java language which is develop efficient and stable to develop upper-level components like graph engine, graph computing, graph api and graph tools; and we manage storage through JNI which is able to freely manage memory and execute efficiently. +HugeGraph implements the API of [Apache TinkerPop](https://tinkerpop.apache.org/), which defines the [Gremlin](https://tinkerpop.apache.org/gremlin.html). Gremlin is a powerful graph traversal language, and various complicated graph queries can be accomplished through Gremlin. The TinkerPop ecosystem based on Java is relatively mature in terms of graph databases, we use Java language which is develop efficient and stable to develop upper-level components like graph engine, graph computing, graph api and graph tools; and we manage storage through JNI which is able to freely manage memory and execute efficiently. ### Known Risks From ddb22207bcddf32a820340426ed0c014eaf90cce Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Fri, 19 Nov 2021 17:12:34 +0800 Subject: [PATCH 16/27] add Initial Goals --- APACHE_PROPOSAL.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 6a33f7c813..584d193e4f 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -20,7 +20,15 @@ In the industry, graph databases can generally handle 1-billion-scale graphs, bu ### Initial Goals -None +Although most of the main development of HugeGraph has been completed, there are still some large areas that need future development. Some areas we want to focus on in Apache: + +- Higher graph computing loading performance: the current architecture, separation of compute and storage, brings greater flexibility and cost savings, but the performance needs to be improved. +- RocksDB-based sharding storage development, based on the affinity architecture of query and storage: since RocksDB has high performance, but currently HugeGraph only supports the raft-based replication mode, we plan to support scale-out and distributed atomic transactions for RocksDB-based storage. +- Parallel OLTP query: at present, HugeGraph can perform parallel OLAP graph-computing, but OLTP query is only supported for parallel execution on a single machine. In certain scenarios OLTP query needs to be implemented in parallel on multiple machines. +- Higher-performance queries: such as supporting faster query optimization, parallel primitive collections, and fine-grained caching strategies. +- Better usability: more OLTP/OLAP algorithms, APIs and tool-chains, rich UI, etc... +- More language clients: such as supporting Python and Go languages. +- Some other optimizations: such as supporting pre-sorting graph loading. ### Current Status From 456007344b7728c0e7529ab7aa2df914bbb96efc Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Mon, 22 Nov 2021 17:14:47 +0800 Subject: [PATCH 17/27] update names of Initial Committers --- APACHE_PROPOSAL.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 584d193e4f..a4bf4c517a 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -304,17 +304,17 @@ The community would like to continue using [GitHub Issues](https://github.com/hu ### Initial Committers -- 李章梅, Jermy Li (javaloveme at gmail dot com) -- 李凝瑞, linary (liningrui at vip dot qq dot com) -- 张义, zhoney (zhangyi89817 at 126 dot com) -- 金子威, imbajin (0x00 at imbajin.com) -- 章炎, zyxxoo (1318247699 at qq dot com) -- 刘楠科, liunanke (liunanke at baidu dot com) -- 赵聪, coderzc (zc1217zc at 126 dot com) -- 郭守敬, ShouJing (1075185785 at qq dot com) -- 李小彪, lxb1111 (13703287619 at 163 dot com) -- 黄海平, hhpcn (954872405 at qq dot com) -- 江小叶, kidleaf-jiang (kidleaf at 163 dot com) +- Jermy Li (javaloveme at gmail dot com) +- Linary (liningrui at vip dot qq dot com) +- Zhoney (zhangyi89817 at 126 dot com) +- Imbajin (0x00 at imbajin.com) +- Vaughn (1318247699 at qq dot com) +- LiuNanke (liunanke at baidu dot com) +- Coderzc (zc1217zc at 126 dot com) +- ShouJing (1075185785 at qq dot com) +- Xiaobiao Li (13703287619 at 163 dot com) +- Haiping Huang (954872405 at qq dot com) +- Kidleaf Jiang (kidleaf at 163 dot com) ### Sponsors From be8a2df32c4002f19508a9f961538536af5f680d Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Mon, 22 Nov 2021 17:24:19 +0800 Subject: [PATCH 18/27] update 5 dependencies with license conflicts --- APACHE_PROPOSAL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index a4bf4c517a..08cbd724f2 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -111,7 +111,7 @@ The codes are currently under Apache License Version 2.0 and have been verified #### External Dependencies: -As all dependencies are managed using Apache Maven, none of the external libraries need to be packaged in a source distribution. All dependencies have Apache compatible licenses except MySQL (GPL-2.0), we will remove MySQL dependencies in future. +As all dependencies are managed using Apache Maven, none of the external libraries need to be packaged in a source distribution. All dependencies have Apache compatible licenses except for 5 dependencies: MySQL Connector(GPL), word(GPL), TrueLicense(AGPL), JBoss Logging 3(LGPL) and jnr-posix(LGPL+GPL), we will remove these dependencies in future. HugeGraph has the following external [dependencies](https://github.com/hugegraph/hugegraph/issues/1632): From adc3f68994d34a6aa58563d771d5632858e7fff9 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Tue, 23 Nov 2021 14:30:55 +0800 Subject: [PATCH 19/27] update names and emails of Mentors --- APACHE_PROPOSAL.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 08cbd724f2..29fe154b59 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -320,14 +320,14 @@ The community would like to continue using [GitHub Issues](https://github.com/hu #### Champion: -- 姜宁, Willem Ning Jiang (ningjiang at apache dot org) +- Willem Ning Jiang (ningjiang at apache dot org) #### Nominated Mentors: -- 潘娟 -- 代立冬 -- 黄向东,Xiangdong Huang (hxd at apache) -- 李钰 +- Trista Pan (panjuan at apache dot org) +- Lidong Dai (lidongdai at apache dot org) +- Xiangdong Huang (hxd at apache dot org) +- Yu Li (liyu at apache dot org) #### Sponsoring Entity: From 2e847395149726cba089a9dcfba28796be99be37 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Wed, 24 Nov 2021 23:30:32 +0800 Subject: [PATCH 20/27] improve grammar --- APACHE_PROPOSAL.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 29fe154b59..688c8307a7 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -6,27 +6,27 @@ HugeGraph is a graph database with high performance and scalability. ## Proposal -HugeGraph is to provide a large-scale graph database, in the scenario of 100+ billion data (vertexes and edges) which achieves availability and balance between performance and cost, and has complete HTAP capabilities in the internal system. +HugeGraph can provide a large-scale and easy-to-use graph database. In the scenario of 100+ billion data (vertices and edges), HugeGraph has complete HTAP capabilities in its internal system. In addition, it achieves the balance between availability, performance and cost. -We believe that bringing HugeGraph into Apache Software Foundation could advance the development of a stronger and more diverse open source community. +We have reason to believe that the development of open source community will be stronger and more diverse if HugeGraph is introduced into the Apache Software Foundation. ### Background -Graph databases are good at dealing with relational analysis, but relational databases are generally at a disadvantage due to slow join performance, especially in the case of large-scale graph with multiple dimensions and deep association relationships. HugeGraph was born at Baidu, the dominant search engine company in China, used to solve the large-scale graph analysis requirements of anti-fraud and protection from black market attacks. +HugeGraph graph database was founded at Baidu, the dominant search engine company in China, used to solve the large-scale graph analysis requirements of anti-fraud and protection from black market attacks. Relational databases are usually at a disadvantage in dealing with relational analysis, due to slow join performance, especially in the case of a large-scale graph with multiple dimensions and deep association relationships. Graph databases are good at dealing with relational analysis. ### Rationale -In the industry, graph databases can generally handle 1-billion-scale graphs, but there is a lack of systems for processing 100-billion-scale graphs, and some graph databases may only support online query (OLTP), some graph platforms only support graph computing (OLAP). HugeGraph supports both online query and graph computing in the scenario of 100+ billion data. +Generally, most graph databases can only process up to 1-billion-scale graphs, but it lacks a system to process 100-billion-scale graphs. Some graph databases may only support online query (OLTP), and some graph platforms only support graph computing (OLAP). HugeGraph can support both online query and graph computing in the scenarios of 100+ billion data. ### Initial Goals Although most of the main development of HugeGraph has been completed, there are still some large areas that need future development. Some areas we want to focus on in Apache: -- Higher graph computing loading performance: the current architecture, separation of compute and storage, brings greater flexibility and cost savings, but the performance needs to be improved. +- Higher graph computing loading performance: the current architecture, separation of computing and storage, brings greater flexibility and cost savings, but the performance needs to be improved. - RocksDB-based sharding storage development, based on the affinity architecture of query and storage: since RocksDB has high performance, but currently HugeGraph only supports the raft-based replication mode, we plan to support scale-out and distributed atomic transactions for RocksDB-based storage. -- Parallel OLTP query: at present, HugeGraph can perform parallel OLAP graph-computing, but OLTP query is only supported for parallel execution on a single machine. In certain scenarios OLTP query needs to be implemented in parallel on multiple machines. +- Parallel OLTP query: at present, HugeGraph can perform parallel OLAP graph-computing, but the OLTP query is only supported for parallel execution on a single machine. In certain scenarios, the OLTP query needs to be implemented in parallel on multiple machines. - Higher-performance queries: such as supporting faster query optimization, parallel primitive collections, and fine-grained caching strategies. -- Better usability: more OLTP/OLAP algorithms, APIs and tool-chains, rich UI, etc... +- Better usability: more OLTP/OLAP algorithms, APIs and toolchains, rich UI, etc... - More language clients: such as supporting Python and Go languages. - Some other optimizations: such as supporting pre-sorting graph loading. @@ -34,11 +34,11 @@ Although most of the main development of HugeGraph has been completed, there are #### Meritocracy -HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies, some of which become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PMC Team and Committer Team. Contributions are welcomed and highly valued. New contributors are guided and reviewed by existed PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. +HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies, some of which become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PMC Team and Committer Team. Contributions are welcomed and highly valued. New contributors are guided and reviewed by existing PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. #### Community -Baidu has been building a community around users and developers for the last 3 years, and now we make use of GitHub as code hosting and community communication. The most of core developers are from Baidu. Besides, there are 10+ contributors from non-Baidu companies like 360, Iflytek and Huya. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. +Baidu has been building a community around users and developers for the last 3 years, and now we make use of GitHub as code hosting and community communication. The most of core developers are from Baidu. Besides, there are 10+ contributors from non-Baidu companies like NetEase, 360, Iflytek and Huya. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. #### Core Developers @@ -46,7 +46,7 @@ The core developers are already experienced open source developers, they have op #### Alignment -HugeGraph implements the API of [Apache TinkerPop](https://tinkerpop.apache.org/), which defines the [Gremlin](https://tinkerpop.apache.org/gremlin.html). Gremlin is a powerful graph traversal language, and various complicated graph queries can be accomplished through Gremlin. The TinkerPop ecosystem based on Java is relatively mature in terms of graph databases, we use Java language which is develop efficient and stable to develop upper-level components like graph engine, graph computing, graph api and graph tools; and we manage storage through JNI which is able to freely manage memory and execute efficiently. +HugeGraph implements the API of [Apache TinkerPop](https://tinkerpop.apache.org/), which defines the [Gremlin](https://tinkerpop.apache.org/gremlin.html). Gremlin is a powerful graph traversal language, and various complicated graph queries can be accomplished through Gremlin. The TinkerPop ecosystem based on Java is relatively mature in terms of graph databases, we use Java language which is developed efficient and stable to develop upper-level components like graph engine, graph computing, graph API and graph tools; and we manage storage through JNI which is able to freely manage memory and execute efficiently. ### Known Risks From 2c79e1c27fb0b97c1f42c283ad46f50205f480f4 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Thu, 25 Nov 2021 12:30:03 +0800 Subject: [PATCH 21/27] improve grammar --- APACHE_PROPOSAL.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 688c8307a7..f2eb33e991 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -12,7 +12,7 @@ We have reason to believe that the development of open source community will be ### Background -HugeGraph graph database was founded at Baidu, the dominant search engine company in China, used to solve the large-scale graph analysis requirements of anti-fraud and protection from black market attacks. Relational databases are usually at a disadvantage in dealing with relational analysis, due to slow join performance, especially in the case of a large-scale graph with multiple dimensions and deep association relationships. Graph databases are good at dealing with relational analysis. +HugeGraph graph database was founded at Baidu, the dominant search engine company in China, used to solve the large-scale graph analysis requirements of anti-fraud and protection from black market attacks. Relational databases are usually at a disadvantage in dealing with relational analysis, due to slow join performance, especially in the case of a large-scale graph with multiple dimensions and deep association relationships. Graph databases are good at dealing with relational analysis. ### Rationale @@ -52,7 +52,7 @@ HugeGraph implements the API of [Apache TinkerPop](https://tinkerpop.apache.org/ #### Project Name -We have checked that the name is [suitable](https://github.com/hugegraph/hugegraph/issues/1646) and the project has legal permission to continuing using its current name. There is no one else found using this name through Google search. +We have checked that the name is [suitable](https://github.com/hugegraph/hugegraph/issues/1646) and the project has legal permission to continue using its current name. There is no one else found using this name through Google search. #### Relationship with Titan/Janus Graph @@ -72,7 +72,7 @@ Expect to enter incubation in 4 months and graduate in about 2 years. #### Homogenous Developers: -The current list of developers from several different companies plus many independent volunteers, but the most of committers are from Baidu. The developers are geographically concentrated in China now. They are experienced with working in a distributed environment in other open source project, e.g. OpenStack. +The current list of developers from several different companies plus many independent volunteers, but the most of committers are from Baidu. The developers are geographically concentrated in China now. They are experienced with working in a distributed environment in other open source projects, e.g. OpenStack. #### Reliance on Salaried Developers: @@ -92,10 +92,10 @@ HugeGraph documentation is provided on https://hugegraph.github.io/hugegraph-doc ### Initial Source -This project consists of 2 core sub-projects and 8 complementary sub-projects, all of them are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018, the codes are already under Apache License Version 2.0. The git address of sub-project repositories are as follows: +This project consists of 2 core sub-projects and 8 complementary sub-projects, all of which are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018, the codes are already under Apache License Version 2.0. The git address of sub-project repositories are as follows: 1. The graph database repository `hugegraph`, core sub-project, including graph server, graph engine and graph storage: https://github.com/hugegraph/hugegraph -2. The graph computing repository `hugegraph-computer`, core sub-project, including graph computing and graph algorithm s: https://github.com/hugegraph/hugegraph-computer +2. The graph computing repository `hugegraph-computer`, core sub-project, including graph computing and graph algorithms: https://github.com/hugegraph/hugegraph-computer 3. `hugegraph-common`: https://github.com/hugegraph/hugegraph-common 4. `hugegraph-client`: https://github.com/hugegraph/hugegraph-client 5. `hugegraph-doc`: https://github.com/hugegraph/hugegraph-doc From 8b2034c60dd17d667499162f6398b96a0a296e43 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Mon, 29 Nov 2021 20:52:28 +0800 Subject: [PATCH 22/27] improve some expressions --- APACHE_PROPOSAL.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index f2eb33e991..b2b54624dd 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -2,28 +2,28 @@ ## Abstract -HugeGraph is a graph database with high performance and scalability. +HugeGraph is a high performance scalable graph database. ## Proposal -HugeGraph can provide a large-scale and easy-to-use graph database. In the scenario of 100+ billion data (vertices and edges), HugeGraph has complete HTAP capabilities in its internal system. In addition, it achieves the balance between availability, performance and cost. +HugeGraph is a large-scale and easy-to-use graph database. In the cases of 100+ billion data (vertices and edges), HugeGraph has complete HTAP capabilities built in its internal system. The design goal of HugeGraph is to achieve a balance between availability, performance and cost. -We have reason to believe that the development of open source community will be stronger and more diverse if HugeGraph is introduced into the Apache Software Foundation. +We believe that the HugeGraph project will benefit the open source community if HugeGraph is introduced into the Apache Software Foundation. ### Background -HugeGraph graph database was founded at Baidu, the dominant search engine company in China, used to solve the large-scale graph analysis requirements of anti-fraud and protection from black market attacks. Relational databases are usually at a disadvantage in dealing with relational analysis, due to slow join performance, especially in the case of a large-scale graph with multiple dimensions and deep association relationships. Graph databases are good at dealing with relational analysis. +HugeGraph graph database was initially developed at Baidu, the leading search engine company in China. HugeGraph was designed to solve the large-scale graph analysis requirements for the task of anti-fraud. Relational databases are usually at a disadvantage in dealing with relational analysis, due to slow join performance, especially in the case of a large-scale graph with multiple dimensions and deep association relationships. Graph databases are in general considered a good alternative in dealing with large scale relational analysis. ### Rationale -Generally, most graph databases can only process up to 1-billion-scale graphs, but it lacks a system to process 100-billion-scale graphs. Some graph databases may only support online query (OLTP), and some graph platforms only support graph computing (OLAP). HugeGraph can support both online query and graph computing in the scenarios of 100+ billion data. +Generally, most graph databases can only process up to 1-billion-scale graphs, but it lacks a system to process 100-billion-scale graphs. Some graph databases may only support online query (OLTP), and some graph platforms only support graph computing (OLAP). HugeGraph is designed to support both online query and graph computing in the scenarios of 100+ billion data. ### Initial Goals -Although most of the main development of HugeGraph has been completed, there are still some large areas that need future development. Some areas we want to focus on in Apache: +Although most of the main development of HugeGraph has been completed, there are still several areas that still need future development. Some areas we want to focus on in the Apache incubation stage include: -- Higher graph computing loading performance: the current architecture, separation of computing and storage, brings greater flexibility and cost savings, but the performance needs to be improved. -- RocksDB-based sharding storage development, based on the affinity architecture of query and storage: since RocksDB has high performance, but currently HugeGraph only supports the raft-based replication mode, we plan to support scale-out and distributed atomic transactions for RocksDB-based storage. +- Higher graph computing loading performance: the current architecture (especially the separation of computing and storage) brings greater flexibility and cost savings, but with some performance overhead, which needs to be improved. +- RocksDB-based sharding storage development, based on the affinity architecture of query and storage. Since RocksDB is known for its good performance, but currently HugeGraph only supports the raft-based replication mode. We plan to support scale-out and distributed atomic transactions for RocksDB-based storage. - Parallel OLTP query: at present, HugeGraph can perform parallel OLAP graph-computing, but the OLTP query is only supported for parallel execution on a single machine. In certain scenarios, the OLTP query needs to be implemented in parallel on multiple machines. - Higher-performance queries: such as supporting faster query optimization, parallel primitive collections, and fine-grained caching strategies. - Better usability: more OLTP/OLAP algorithms, APIs and toolchains, rich UI, etc... @@ -34,33 +34,33 @@ Although most of the main development of HugeGraph has been completed, there are #### Meritocracy -HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies, some of which become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PMC Team and Committer Team. Contributions are welcomed and highly valued. New contributors are guided and reviewed by existing PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. +HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies. Some of these contributors become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PPMC Team and Committer Team. Contributions are welcomed and highly valued. New contributors are guided and reviewed by existing PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. #### Community -Baidu has been building a community around users and developers for the last 3 years, and now we make use of GitHub as code hosting and community communication. The most of core developers are from Baidu. Besides, there are 10+ contributors from non-Baidu companies like NetEase, 360, Iflytek and Huya. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. +Baidu has been building a community around HugeGraph users and developers for the last 3 years, and now we make use of GitHub as code hosting and community communication. The most of core developers are from Baidu. Besides, there are 10+ contributors from other companies such as NetEase, 360, Iflytek and Huya. We hope to grow the base of contributors by inviting all those who offer contributions through The Apache Way. #### Core Developers -The core developers are already experienced open source developers, they have operated the HugeGraph Community for 3 years, and they are contributors of Linux kernel, OpenStack, Ceph, RocksDB, Apache TinkerPop, Apache Hadoop and Apache Groovy. +The core developers are all experienced open source developers. They have operated the HugeGraph Community for 3 years, and they are contributors of Linux kernel, OpenStack, Ceph, RocksDB, Apache TinkerPop, Apache Hadoop and Apache Groovy. #### Alignment -HugeGraph implements the API of [Apache TinkerPop](https://tinkerpop.apache.org/), which defines the [Gremlin](https://tinkerpop.apache.org/gremlin.html). Gremlin is a powerful graph traversal language, and various complicated graph queries can be accomplished through Gremlin. The TinkerPop ecosystem based on Java is relatively mature in terms of graph databases, we use Java language which is developed efficient and stable to develop upper-level components like graph engine, graph computing, graph API and graph tools; and we manage storage through JNI which is able to freely manage memory and execute efficiently. +HugeGraph implements the API of [Apache TinkerPop](https://tinkerpop.apache.org/), which defines the [Gremlin](https://tinkerpop.apache.org/gremlin.html). Gremlin is a powerful graph traversal language, and various complicated graph queries can be accomplished through Gremlin. The TinkerPop ecosystem based on Java is relatively mature in terms of graph databases. We use Java language, which is developed efficient and stable, to develop upper-level components like graph engine, graph computing, graph API and graph tools; and we manage storage through JNI which is able to freely manage memory and execute efficiently. ### Known Risks #### Project Name -We have checked that the name is [suitable](https://github.com/hugegraph/hugegraph/issues/1646) and the project has legal permission to continue using its current name. There is no one else found using this name through Google search. +We have checked and believe the name is [suitable](https://github.com/hugegraph/hugegraph/issues/1646) and the project has legal permission to continue using its current name. There is no other projects found using this name through Google search. #### Relationship with Titan/Janus Graph -In the early stage of the project, we referred to the storage structure of Titan/Janus Graph, some folks thought that HugeGraph was forked from Titan/Janus. In fact, HugeGraph is not based on its code, it's completely self-developed, and addressed many new challenges. Of course, we are still inspired by and thank for Titan/Janus. +In the early stage of the project, we referred to the storage structure of Titan/Janus Graph, some folks thought that HugeGraph was forked from Titan/Janus. In fact, HugeGraph is not based on these projects. HugeGraph is developed completely from scratch and in the process it addressed many new challenges. Certainly, the project was inspired by Titan/Janus and we are really gratitious for such inspirations. ### Orphaned products -Due to only about 10 committers, the project has a relatively small risk of becoming an orphan. However, the committers have been operating the HugeGraph Community for 3 years in the spirit of open source, and continue to develop new contributors to participate. +Due to a small and limited number of committers, the project has a relatively small risk of becoming an orphan project. However, the committers have been operating the HugeGraph Community for 3 years in the spirit of open source, and continue to develop new contributors to participate. #### Inexperience with Open Source: @@ -76,13 +76,13 @@ The current list of developers from several different companies plus many indepe #### Reliance on Salaried Developers: -Most of the developers are paid by their employer to contribute to this project, but given some volunteer developers and the committers' sense of ownership for the code, the project would continue without issue even if no salaried developers contributed to the project. +Most of the developers are paid by their employer to contribute to this project. Given some volunteer developers and the committers' sense of ownership for the code, the project could continue even if no salaried developers contributed to the project. #### Relationships with Other Apache Products: HugeGraph follows the Apache TinkerPop specification, uses Apache Commons, Apache HttpClient, and Apache HttpCore to implement the basic functions. Users can choose Apache Cassandra or Apache HBase as one of the storage backends of HugeGraph. -#### A Excessive Fascination with the Apache Brand: +#### An Excessive Fascination with the Apache Brand: Although we expect that the Apache brand may help attract more contributors, our interest in starting this project is based on the factors mentioned in the fundamentals section. We are interested in joining ASF to increase our connections in the open source world. Based on extensive collaboration, it is possible to build a community of developers and committers that live longer than the founder. @@ -92,7 +92,7 @@ HugeGraph documentation is provided on https://hugegraph.github.io/hugegraph-doc ### Initial Source -This project consists of 2 core sub-projects and 8 complementary sub-projects, all of which are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018, the codes are already under Apache License Version 2.0. The git address of sub-project repositories are as follows: +This project consists of 2 core sub-projects and 8 complementary sub-projects, all of which are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018. The codes are already under Apache License Version 2.0. The git address of sub-project repositories are as follows: 1. The graph database repository `hugegraph`, core sub-project, including graph server, graph engine and graph storage: https://github.com/hugegraph/hugegraph 2. The graph computing repository `hugegraph-computer`, core sub-project, including graph computing and graph algorithms: https://github.com/hugegraph/hugegraph-computer From b68b21d57157773c6bf57934277c75dc428e161a Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Mon, 29 Nov 2021 20:58:52 +0800 Subject: [PATCH 23/27] tiny improve --- APACHE_PROPOSAL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index b2b54624dd..e67ead142b 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -20,9 +20,9 @@ Generally, most graph databases can only process up to 1-billion-scale graphs, b ### Initial Goals -Although most of the main development of HugeGraph has been completed, there are still several areas that still need future development. Some areas we want to focus on in the Apache incubation stage include: +Although most of the main development of HugeGraph has been completed, there are several areas that still need future development. Some areas we want to focus on in the Apache incubation stage include: -- Higher graph computing loading performance: the current architecture (especially the separation of computing and storage) brings greater flexibility and cost savings, but with some performance overhead, which needs to be improved. +- Higher graph computing loading performance: the current architecture (especially the separation of computing and storage) brings greater flexibility and cost savings, but with some performance overhead, which needs to be improved. - RocksDB-based sharding storage development, based on the affinity architecture of query and storage. Since RocksDB is known for its good performance, but currently HugeGraph only supports the raft-based replication mode. We plan to support scale-out and distributed atomic transactions for RocksDB-based storage. - Parallel OLTP query: at present, HugeGraph can perform parallel OLAP graph-computing, but the OLTP query is only supported for parallel execution on a single machine. In certain scenarios, the OLTP query needs to be implemented in parallel on multiple machines. - Higher-performance queries: such as supporting faster query optimization, parallel primitive collections, and fine-grained caching strategies. From e519827f8ea063ff2a8aacf82f7c3f08e997c4d7 Mon Sep 17 00:00:00 2001 From: imbajin Date: Wed, 1 Dec 2021 22:01:20 +0800 Subject: [PATCH 24/27] replace repository url by 2 --- APACHE_PROPOSAL.md | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index e67ead142b..2f6192b9e7 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -92,18 +92,12 @@ HugeGraph documentation is provided on https://hugegraph.github.io/hugegraph-doc ### Initial Source -This project consists of 2 core sub-projects and 8 complementary sub-projects, all of which are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018. The codes are already under Apache License Version 2.0. The git address of sub-project repositories are as follows: +This project consists of 2 core sub-projects and 2 ecosystem sub-projects, all of which are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018. The codes are already under Apache License Version 2.0. The git address of sub-project repositories are as follows: 1. The graph database repository `hugegraph`, core sub-project, including graph server, graph engine and graph storage: https://github.com/hugegraph/hugegraph 2. The graph computing repository `hugegraph-computer`, core sub-project, including graph computing and graph algorithms: https://github.com/hugegraph/hugegraph-computer -3. `hugegraph-common`: https://github.com/hugegraph/hugegraph-common -4. `hugegraph-client`: https://github.com/hugegraph/hugegraph-client -5. `hugegraph-doc`: https://github.com/hugegraph/hugegraph-doc -6. `hugegraph-loader`: https://github.com/hugegraph/hugegraph-loader -7. `hugegraph-tools`: https://github.com/hugegraph/hugegraph-tools -8. `hugegraph-rpc`: https://github.com/hugegraph/hugegraph-rpc -9. `hugegraph-hubble`: https://github.com/hugegraph/hugegraph-hubble -10. `hugegraph-test`: https://github.com/hugegraph/hugegraph-test +3. `hugegraph-commons`: https://github.com/hugegraph/hugegraph-commons +4. `hugegraph-toolchain`: https://github.com/hugegraph/hugegraph-toolchain ### Source and Intellectual Property Submission Plan @@ -283,14 +277,8 @@ None 1. `hugegraph`: https://github.com/hugegraph/hugegraph.git 2. `hugegraph-computer`: https://github.com/hugegraph/hugegraph-computer.git -3. `hugegraph-common`: https://github.com/hugegraph/hugegraph-common.git -4. `hugegraph-client`: https://github.com/hugegraph/hugegraph-client.git -5. `hugegraph-doc`: https://github.com/hugegraph/hugegraph-doc.git -6. `hugegraph-loader`: https://github.com/hugegraph/hugegraph-loader.git -7. `hugegraph-tools`: https://github.com/hugegraph/hugegraph-tools.git -8. `hugegraph-rpc`: https://github.com/hugegraph/hugegraph-rpc.git -9. `hugegraph-hubble`: https://github.com/hugegraph/hugegraph-hubble.git -10. `hugegraph-test`: https://github.com/hugegraph/hugegraph-test.git +3. `hugegraph-commons`: https://github.com/hugegraph/hugegraph-commons.git +4. `hugegraph-toolchain`: https://github.com/hugegraph/hugegraph-toolchain.git #### Issue Tracking: From b2860a8c7bc840149cd22a131a16a7709ed40751 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Thu, 2 Dec 2021 15:26:44 +0800 Subject: [PATCH 25/27] tiny improve --- APACHE_PROPOSAL.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 2f6192b9e7..0d0966f97c 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -24,7 +24,7 @@ Although most of the main development of HugeGraph has been completed, there are - Higher graph computing loading performance: the current architecture (especially the separation of computing and storage) brings greater flexibility and cost savings, but with some performance overhead, which needs to be improved. - RocksDB-based sharding storage development, based on the affinity architecture of query and storage. Since RocksDB is known for its good performance, but currently HugeGraph only supports the raft-based replication mode. We plan to support scale-out and distributed atomic transactions for RocksDB-based storage. -- Parallel OLTP query: at present, HugeGraph can perform parallel OLAP graph-computing, but the OLTP query is only supported for parallel execution on a single machine. In certain scenarios, the OLTP query needs to be implemented in parallel on multiple machines. +- Parallel OLTP query: at present, HugeGraph can perform parallel OLAP graph-computing, but the OLTP query only supports parallel execution on a single machine. In certain scenarios, the OLTP query needs to be implemented in parallel on multiple machines. - Higher-performance queries: such as supporting faster query optimization, parallel primitive collections, and fine-grained caching strategies. - Better usability: more OLTP/OLAP algorithms, APIs and toolchains, rich UI, etc... - More language clients: such as supporting Python and Go languages. @@ -34,7 +34,7 @@ Although most of the main development of HugeGraph has been completed, there are #### Meritocracy -HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies. Some of these contributors become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PPMC Team and Committer Team. Contributions are welcomed and highly valued. New contributors are guided and reviewed by existing PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. +HugeGraph was incubated at Baidu in 2016 and open sourced on [GitHub](https://github.com/hugegraph/hugegraph) in 2018. The project(include sub-projects) now has 30+ contributors from many companies. Some of these contributors become committers, and the project has hundreds of known users around the world. We will follow Apache's Meritocracy way to re-organize the community roles. We have set up the PPMC Team and Committer Team. Of course, contributions are welcomed and highly valued. New contributors are guided and reviewed by existing PMC members. When an active contributor has submitted enough good patches, PMC will start a vote to promote him/her to become a member of Committer Team or PMC Team. #### Community @@ -72,7 +72,7 @@ Expect to enter incubation in 4 months and graduate in about 2 years. #### Homogenous Developers: -The current list of developers from several different companies plus many independent volunteers, but the most of committers are from Baidu. The developers are geographically concentrated in China now. They are experienced with working in a distributed environment in other open source projects, e.g. OpenStack. +The developers on the current list come from several different companies plus many independent volunteers, but the most of committers are from Baidu. The developers are geographically concentrated in China now. They are experienced with working in a distributed environment in other open source projects, e.g. OpenStack. #### Reliance on Salaried Developers: @@ -92,20 +92,20 @@ HugeGraph documentation is provided on https://hugegraph.github.io/hugegraph-doc ### Initial Source -This project consists of 2 core sub-projects and 2 ecosystem sub-projects, all of which are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018. The codes are already under Apache License Version 2.0. The git address of sub-project repositories are as follows: +This project consists of 2 core sub-projects and 2 other sub-projects, all of which are hosted by [GitHub hugegraph organization](https://github.com/orgs/hugegraph/repositories) since 2018. The codes are already under Apache License Version 2.0. The git address of sub-project repositories are as follows: 1. The graph database repository `hugegraph`, core sub-project, including graph server, graph engine and graph storage: https://github.com/hugegraph/hugegraph 2. The graph computing repository `hugegraph-computer`, core sub-project, including graph computing and graph algorithms: https://github.com/hugegraph/hugegraph-computer -3. `hugegraph-commons`: https://github.com/hugegraph/hugegraph-commons -4. `hugegraph-toolchain`: https://github.com/hugegraph/hugegraph-toolchain +3. The common functions repository `hugegraph-commons`: https://github.com/hugegraph/hugegraph-commons +4. The ecosystem repository `hugegraph-toolchain`, including `hugegraph-client`, `hugegraph-loader`, `hugegraph-tools`, `hugegraph-hubble`, `hugegraph-test`, `hugegraph-doc`: https://github.com/hugegraph/hugegraph-toolchain ### Source and Intellectual Property Submission Plan -The codes are currently under Apache License Version 2.0 and have been verified to there is no intellectual property or license issues before being released to open source by Baidu in 2018. Baidu will provide SGA and all committers will sign ICLA after HugeGraph is accepted into the Incubator. +The codes are currently under Apache License Version 2.0, and have been verified there is no intellectual property or license issues when being released to open source by Baidu in 2018. Baidu will provide SGA and all committers will sign ICLA after HugeGraph is accepted into the Incubator. #### External Dependencies: -As all dependencies are managed using Apache Maven, none of the external libraries need to be packaged in a source distribution. All dependencies have Apache compatible licenses except for 5 dependencies: MySQL Connector(GPL), word(GPL), TrueLicense(AGPL), JBoss Logging 3(LGPL) and jnr-posix(LGPL+GPL), we will remove these dependencies in future. +As all dependencies are managed by Apache Maven, none of the external libraries need to be packaged in a source distribution. All dependencies have Apache compatible licenses except for 5 dependencies: MySQL Connector(GPL), word(GPL), TrueLicense(AGPL), JBoss Logging 3(LGPL) and jnr-posix(LGPL+GPL), we will remove these dependencies in future. HugeGraph has the following external [dependencies](https://github.com/hugegraph/hugegraph/issues/1632): From 9888c00e580262d9ca7b87df4cfadc9c582b27e3 Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Fri, 3 Dec 2021 17:06:14 +0800 Subject: [PATCH 26/27] remove template links --- APACHE_PROPOSAL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 0d0966f97c..20e904e4c1 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -269,11 +269,11 @@ None - hugegraph-private: [private@hugegraph.incubator.apache.org](mailto:private@hugegraph.incubator.apache.org) for PPMC discussions. - hugegraph-commits: [commits@hugegraph.incubator.apache.org](mailto:commits@hugegraph.incubator.apache.org) for commits / [pull requests](https://github.com/hugegraph/hugegraph/pulls) and other notifications like code review comments. -#### [Subversion Directory:](https://cwiki.apache.org/confluence/display/INCUBATOR/New+Podling+Proposal#subversion-directory) +#### Subversion Directory None -#### [Git Repositories:](https://cwiki.apache.org/confluence/display/INCUBATOR/New+Podling+Proposal#git-repositories) +#### Git Repositories 1. `hugegraph`: https://github.com/hugegraph/hugegraph.git 2. `hugegraph-computer`: https://github.com/hugegraph/hugegraph-computer.git From 89169098ea96fae07d1147e2b13226cc6272a6cd Mon Sep 17 00:00:00 2001 From: Jermy Li Date: Fri, 17 Dec 2021 15:47:29 +0800 Subject: [PATCH 27/27] remove truelicense --- APACHE_PROPOSAL.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/APACHE_PROPOSAL.md b/APACHE_PROPOSAL.md index 20e904e4c1..f9aaa8b482 100644 --- a/APACHE_PROPOSAL.md +++ b/APACHE_PROPOSAL.md @@ -105,7 +105,7 @@ The codes are currently under Apache License Version 2.0, and have been verified #### External Dependencies: -As all dependencies are managed by Apache Maven, none of the external libraries need to be packaged in a source distribution. All dependencies have Apache compatible licenses except for 5 dependencies: MySQL Connector(GPL), word(GPL), TrueLicense(AGPL), JBoss Logging 3(LGPL) and jnr-posix(LGPL+GPL), we will remove these dependencies in future. +As all dependencies are managed by Apache Maven, none of the external libraries need to be packaged in a source distribution. All dependencies have Apache compatible licenses except for 4 dependencies: MySQL Connector(GPL), word(GPL), JBoss Logging 3(LGPL) and jnr-posix(LGPL+GPL), we will remove these dependencies in future. HugeGraph has the following external [dependencies](https://github.com/hugegraph/hugegraph/issues/1632): @@ -214,10 +214,6 @@ HugeGraph has the following external [dependencies](https://github.com/hugegraph - jersey-inject-hk2 - JSR 353 (JSON Processing) Default Provider -- Commercial License + AGPL License - - - TrueLicense - - Eclipse Distribution License - Eclipse Collections @@ -231,7 +227,7 @@ HugeGraph has the following external [dependencies](https://github.com/hugegraph - JBoss Logging 3 -- LGPL + GPL License License +- LGPL + GPL License - jnr-posix