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]

Reply via email to