kevinjqliu commented on issue #30: URL: https://github.com/apache/datafusion-iceberg/issues/30#issuecomment-6223594476
Thanks for the great discussion so far. I was catching up and trying to untangle this a bit. <details> <summary>Here's the current situation as I understand it</summary> - [`iceberg-datafusion`](https://crates.io/crates/iceberg-datafusion) was originally published from `apache/iceberg-rust`. Its source code now lives in this repo. It builds on the [`iceberg`](https://crates.io/crates/iceberg) crate, which is published from `apache/iceberg-rust`. - [`datafusion_iceberg`](https://crates.io/crates/datafusion_iceberg) is published from `JanKaul/iceberg-rust`. It builds on the [`iceberg-rust`](https://crates.io/crates/iceberg-rust) crate, which is also published from `JanKaul/iceberg-rust`. Both crates have downstream users, but they are independent implementations with incompatible APIs. Note that `apache/iceberg-rust` and `JanKaul/iceberg-rust` share a repo name but are separate projects. The original plan (#2) was to publish this repo as `datafusion-iceberg` to match the repo name. However, crates.io treats `-` and `_` as equivalent, so that name conflicts with the existing `datafusion_iceberg` crate. ### Option 1: Keep the status quo - Publish this repo as `iceberg-datafusion`, moving publishing from `apache/iceberg-rust` to this repo, starting at 0.12. Its downstream users only see the usual version upgrade. - `JanKaul/iceberg-rust` continues to publish `datafusion_iceberg`. Its downstream users see no change either. ### Option 2: Rename crates - Publish this repo as `datafusion-iceberg`, matching the repo name. Existing `datafusion_iceberg` users would then receive a different implementation with an incompatible API on upgrade, and `iceberg-datafusion` users would need to switch to the new crate name. - `JanKaul/iceberg-rust` publishes under a new name, such as `datafusion-iceberg-rust`. Its existing users would need to migrate. ### Option 3: New crate - Publish this repo under a new, unused crate name. `iceberg-datafusion` users would need to switch to the new name. - `JanKaul/iceberg-rust` continues to publish `datafusion_iceberg` unchanged. </details> I'm in favor of going forward with Option 1, since it causes the least friction for both projects: neither set of downstream users has to change anything. It's also a two-way door. We can still move to Option 2 or 3 later if needed. The only downside is the mismatch between the repo name and the crate name, which we can call out in the README. Happy to support whatever decision the community decides on. I'm one of the owners of the `iceberg-datafusion` crate, so I can change the settings. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
