Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update documentation guidelines for contribution content #13703

Merged
merged 5 commits into from
Dec 16, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 29 additions & 7 deletions docs/source/contributor-guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
alamb marked this conversation as resolved.
Show resolved Hide resolved
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)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 love benchmarks

5. "Small" functional improvements to existing features
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
5. "Small" functional improvements to existing features
5. "Small" functional improvements to existing features

Non breaking improvements?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a good qualification -- non breaking changes are certainly more likely to get approved in my experience. I tried to clarify

6. Additional APIs for extending DataFusion's capabilities
alamb marked this conversation as resolved.
Show resolved Hide resolved

Contributions that likely require discussion prior to acceptance include:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably should note the preferred way to discuss, GH Discussion/ASF slack, etc


1. New functionality that is part of the "standard sql"
2. New functions that aren't part of the "standard sql"
Copy link
Contributor

@comphead comphead Dec 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I'm following, 🤦 looks like anything related to "standard sql" requires discussion?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed the wording like this so nothing was "required" but to give a hint that major new features are likely to involve more discussion

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"
3. New data sources (e.g. support for Apache ORC)

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

Expand Down
Loading