-
Notifications
You must be signed in to change notification settings - Fork 618
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
Policy on adding new image formats? #2367
Comments
At the moment we don't have a written policy, but we probably should. I've also been wondering whether we should have a better story for dealing with additional image formats externally to this crate, so I might start a separate discussion on that point [edit: see #2368]. To summarize the current state of things... Default vs. optional formats
De-facto requirements for adding formats
Other thoughts
Since these sorts of decisions can be controversial, I should probably also add that nothing here is an agreement to add or reject any specific format just because it meets the criteria listed. |
If the less-common formats were behind off-by-default feature flags and in separate crates, it'd be possible to see their download numbers and which crates are explicitly enabling them. |
That's an interesting strategy, though I wonder if a bunch of users would enable the formats merely because they were available. Already both Bevy and zune-image specifically chose to support farbfeld, but I'm not convinced that either case was based on any evidence of user interest... If anything, our having the format may have led other folks to also waste their time dealing with it. |
If possible, I think it would be better to split all image formats into external crates. |
Is there a documentation of what image formats and what implementations are acceptable for this library?
From discussions in issues/PRs it seems that native-Rust implementations are strongly preferred/required.
What's the bar for adopting new codecs? Currently the library supports (by default!) some niche ones like QOI and farbfeld, and old crufty netpbm. Is the goal to support everything, or is there a bar of usefulness a format has to meet?
Should new implementations be contributed directly to the
image
crate? Can/should they be released as independent crates first?A related issue: #2363
The text was updated successfully, but these errors were encountered: