xxchan commented on issue #5368:
URL: https://github.com/apache/arrow-rs/issues/5368#issuecomment-2050968709

   
   > Crates must match the major arrow versions. For example, if a crate uses 
DataFusion that forces everything in the entire project to exactly that version 
of arrow-rs).
   
   Precisely speaking, only if DataFusion exposes arrow-rs's types in public 
APIs, AND the end-user of DataFusion need to use the type to talk with other 
crates using arrow-rs. It's totally fine to have multiple versions of arrow-rs 
in the project if arrow-rs is only used as internal implementation.
   
   Therefore, this makes me think that perhaps decoupled version can help at 
this stage. Specifically, we can have a set of "core" crates, which defines the 
types used in public APIs (e.g., `arrow-array`, `arrow-buffer`, `arrow-schema` 
...), they do not do breaking changes. When other crates like `arrow-arith`, 
`arrow-json` have breaking changes, it won't cause conflict in the whole 
ecosystem. I believe this won't cause much increase in maintenance burden (if 
the core APIs are stable). But I'm not sure I understand the situations of the 
arrow-rs crates correctly.
   


-- 
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]

Reply via email to