From 8bb15957900727a5c0604f4494d0ca1add5636ad Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 9 Dec 2024 09:13:21 -0500 Subject: [PATCH 1/5] Update documentation guidelines for contribution content --- docs/source/contributor-guide/index.md | 36 +++++++++++++++++++++----- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/docs/source/contributor-guide/index.md b/docs/source/contributor-guide/index.md index 4645fe5c8804..313e65a7f0a1 100644 --- a/docs/source/contributor-guide/index.md +++ b/docs/source/contributor-guide/index.md @@ -72,13 +72,35 @@ recently active community members in the ticket to get their attention. ### What Features are Good Fits for DataFusion? -DataFusion is designed to highly extensible, and many features can be implemented -as extensions without changing the core of DataFusion. - -We are [working on criteria for what features are good fits for DataFusion], and -will update this section when we have more to share. - -[working on criteria for what features are good fits for datafusion]: https://github.com/apache/datafusion/issues/12357 +DataFusion is designed to highly extensible, and many features can be +implemented as extensions without changing the core of DataFusion. Support for +new functions, data formats, and similar functionality can be added using those +extension APIs, and there are already many existing community supported +extensions listed in the [extensions list]. + +Query engines are complex pieces of software to develop and maintain. Given our +limited maintenance bandwidth, we try to keep the DataFusion core as simple and +focused as possible, while still satisfying the [design goal] of an easy to +start initial experience. + +With that in mind, contributions that meet the following criteria are more likely +to be accepted: + +1. Bug fixes for existing features +2. Test coverage for existing features +3. Documentation improvements / examples +4. Performance improvements to existing features (with benchmarks) +5. "Small" functional improvements to existing features +6. Additional APIs for extending DataFusion's capabilities + +Contributions that likely require discussion prior to acceptance include: + +1. New functionality that is part of the "standard sql" +2. New functions that aren't part of the "standard sql" +3. New data sources (e.g. support for Apache ORC) + +[extensions list]: ../library-user-guide/extensions.md +[design goal]: https://docs.rs/datafusion/latest/datafusion/index.html#design-goals # Developer's guide From 8ab883eef04387f84b142682dae438e8cf330656 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Tue, 10 Dec 2024 06:29:54 -0500 Subject: [PATCH 2/5] Apply suggestions from code review Co-authored-by: Piotr Findeisen Co-authored-by: Oleks V --- docs/source/contributor-guide/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/contributor-guide/index.md b/docs/source/contributor-guide/index.md index 313e65a7f0a1..031d628e9eff 100644 --- a/docs/source/contributor-guide/index.md +++ b/docs/source/contributor-guide/index.md @@ -72,7 +72,7 @@ recently active community members in the ticket to get their attention. ### What Features are Good Fits for DataFusion? -DataFusion is designed to highly extensible, and many features can be +DataFusion is designed to be highly extensible, and many features can be implemented as extensions without changing the core of DataFusion. Support for new functions, data formats, and similar functionality can be added using those extension APIs, and there are already many existing community supported @@ -92,6 +92,7 @@ to be accepted: 4. Performance improvements to existing features (with benchmarks) 5. "Small" functional improvements to existing features 6. Additional APIs for extending DataFusion's capabilities +7. CI improvements Contributions that likely require discussion prior to acceptance include: From c670952cb2206a8354fa4b4915e36049f9845c05 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Tue, 10 Dec 2024 06:38:49 -0500 Subject: [PATCH 3/5] clarify discussions and remove requirements note --- docs/source/contributor-guide/index.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/source/contributor-guide/index.md b/docs/source/contributor-guide/index.md index 031d628e9eff..d6c9b9d22253 100644 --- a/docs/source/contributor-guide/index.md +++ b/docs/source/contributor-guide/index.md @@ -58,7 +58,7 @@ unable to make progress you should unassign the issue by using the `unassign me` link at the top of the issue page (and ask for help if are stuck) so that someone else can get involved in the work. -### File Tickets to Discuss New Features +### Discussing New Features If you plan to work on a new feature that doesn't have an existing ticket, it is a good idea to open a ticket to discuss the feature. Advanced discussion often @@ -70,10 +70,10 @@ line PR. If you open a ticket and it doesn't get any response, you can try `@`-mentioning recently active community members in the ticket to get their attention. -### What Features are Good Fits for DataFusion? +### What Contributions are Good Fits? DataFusion is designed to be highly extensible, and many features can be -implemented as extensions without changing the core of DataFusion. Support for +implemented as extensions without changes or additions to the core. Support for new functions, data formats, and similar functionality can be added using those extension APIs, and there are already many existing community supported extensions listed in the [extensions list]. @@ -90,14 +90,15 @@ to be accepted: 2. Test coverage for existing features 3. Documentation improvements / examples 4. Performance improvements to existing features (with benchmarks) -5. "Small" functional improvements to existing features +5. "Small" functional improvements to existing features (if they don't change existing behavior) 6. Additional APIs for extending DataFusion's capabilities 7. CI improvements -Contributions that likely require discussion prior to acceptance include: +Contributions that will likely involve more discussion (see Discussing New +Features above) prior to acceptance include: -1. New functionality that is part of the "standard sql" -2. New functions that aren't part of the "standard sql" +1. Major new functionality (even if it is part of the "standard sql") +2. New functions, especially if they aren't part of "standard sql" 3. New data sources (e.g. support for Apache ORC) [extensions list]: ../library-user-guide/extensions.md From e52c18c20371793c12e839a4c89def7dfaec79ce Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Tue, 10 Dec 2024 06:39:23 -0500 Subject: [PATCH 4/5] prettier --- docs/source/contributor-guide/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/contributor-guide/index.md b/docs/source/contributor-guide/index.md index d6c9b9d22253..93129b3d86b7 100644 --- a/docs/source/contributor-guide/index.md +++ b/docs/source/contributor-guide/index.md @@ -94,7 +94,7 @@ to be accepted: 6. Additional APIs for extending DataFusion's capabilities 7. CI improvements -Contributions that will likely involve more discussion (see Discussing New +Contributions that will likely involve more discussion (see Discussing New Features above) prior to acceptance include: 1. Major new functionality (even if it is part of the "standard sql") From aa923e4111dfc0f595b21492aa11c9235fd69dce Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Thu, 12 Dec 2024 09:01:42 -0500 Subject: [PATCH 5/5] Update docs/source/contributor-guide/index.md Co-authored-by: Piotr Findeisen --- docs/source/contributor-guide/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/contributor-guide/index.md b/docs/source/contributor-guide/index.md index 93129b3d86b7..0fe86c174a31 100644 --- a/docs/source/contributor-guide/index.md +++ b/docs/source/contributor-guide/index.md @@ -97,8 +97,8 @@ to be accepted: Contributions that will likely involve more discussion (see Discussing New Features above) prior to acceptance include: -1. Major new functionality (even if it is part of the "standard sql") -2. New functions, especially if they aren't part of "standard sql" +1. Major new functionality (even if it is part of the "standard SQL") +2. New functions, especially if they aren't part of "standard SQL" 3. New data sources (e.g. support for Apache ORC) [extensions list]: ../library-user-guide/extensions.md