Sl1mb0 commented on issue #1797: URL: https://github.com/apache/iceberg-rust/issues/1797#issuecomment-3458136783
I will share my thoughts as someone who has used `iceberg-rust` ## Current Challenges One complaint I have is that the Rust implementation relies on the Java implementation as a reference; as opposed to just implementing the spec in Rust. As a result there are a lot of legacy constructs in the `iceberg-rust` crate that are (in my view) java-flavored; so trying to wield the crate within a Rust project isn't ergonomic at all, and because of that its easy to shoot yourself in the foot. There are a lot of complexities to iceberg. The metadata serialization, handling, and validation planes are very tightly coupled in `iceberg-rust`. As an example trying to implement something related to serialization would then require you to understand the handling & validation as well. Not bad in a vacuum, but because the Java implementation serves as the guiding reference - I need to then look at Iceberg java code as a Rust dev in order to understand the context for why things are done the way they are in `iceberg-rust`, whilst also trying to understand the actual underlying behavior of the implementation. This creates friction for new contributors that I frankly just don't think should be there. ## What am I willing to do? I'm not sure. Personally the biggest roadblock to my ability to contribute is the community agreeing that the above is even a problem. I am sure the core maintainers have valid reasons for using the Java implementation as a reference, but it's something that does not make sense to me AT ALL considering that the entire purpose of having an iceberg specification is to allow implementations to be agnostic in how they uphold it's requirements. In my view there are several fundamental problems with the crate as a result of using the Java impl as the reference. I would also like to point out that I lack a lot of historical/contextual iceberg knowledge; so while I may view the above as a problem I accept that the community might not agree with me for their own valid reasons. -- 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]
