-
Notifications
You must be signed in to change notification settings - Fork 510
Update Contributing Guide with RFC Process #2799
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
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -121,3 +121,12 @@ dependency versions without always upgrading to the latest. | |
| ## Code of Conduct | ||
|
|
||
| We expect all community members to follow our [Code of Conduct](https://www.apache.org/foundation/policies/conduct.html). | ||
|
|
||
| ## RFC Process | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Rather than describing this section as the RFC process, should we instead have it as a "Larger Changes" section? Or at least point to this section from earlier on. I see under Merge Style, we talk about larger changes being directed to the mailing list and Slack. It might be a good opportunity to help guide contributors. |
||
|
|
||
| For significant changes, new features, or substantial changes to public APIs, consider opening an RFC PR first: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We need to clarify that this change is iceberg-rust only, and any changes about spec should be discussed in dev list.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agree, this is a good opportunity to disambiguate on what should be an Iceberg spec change vs. what's only for iceberg-rust. |
||
|
|
||
| 1. Create a markdown file in [docs/rfcs/](docs/rfcs/) using the next sequential number (e.g., `0003_your_feature.md`). Explain the scope, use case, and proposed design in prose. | ||
| 2. After the approach is reviewed and accepted, open a follow-up PR with the initial implementation. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I prefer to think of an RFC as more of a design document: something that complements the information in the actual PR and helps explain the changes more clearly. In that sense, the RFC and the PR could be reviewed simultaneously. |
||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We also need to open a tracking issue to track its progress. |
||
| Please reference the [Iceberg Proposals](https://iceberg.apache.org/contribute/?h=contri#apache-iceberg-improvement-proposals) section of the contributing guide for additional details. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why this is needed on language connector? RFC / Substantial changes lands in main repo (https://github.com/apache/iceberg), and there is already corresponding note in contributing guide.
Can you bring 1/2 examples of good iceberg-rust scoped RFC (ideally with historical PR-s that lands them)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should limit the scope to implementation large features in rust only(not about changing spec, which should be discussed in dev list and main repo). Also we should also create a tracking epic issue to update the progress.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i would say for language bounded features there is no need for RFC at all, RFC is a good process to sync cross repos to have some ground truth, if this limited just to Rust -- then it's better to be just tracking issue (with some discussions) + just pull-requests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually we use it as design doc here, we use it to discuss the overall design. The problem is an issue is that it's hard to comment some part of a large feature. You can see #1854 and #1885 as examples.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, the first one is quite a good example here!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be great to include those examples below (perhaps #2183 too), especially as we want to direct spec changes to Iceberg's main repo and we can give these as good examples of language implementation RFCs.