Future maintenance of TranscodingStreams.jl - what to do?

Hey all,

TranscodingStreams.jl is a fundamental package in the Julia ecosystem, having 957 dependents, including very widely used packages. The package has been mostly unmaintained for some time (about 2 years). The original author @bicycle1885 has been busy lately, so issues are not getting closed, and PRs not merged.

So, what should we do as a community about this?

Part of the story here is that Julia itself does not provide optimized IO. In my experience optimizing Julia, I/O is Julia’s performance Achilles’ heel - any Julia code that involves a non-trivial amount of IO will, no matter the amount of optimization, be soundly beaten by other fast languages, because Julia’s IO interface and implementations are not nearly as optimized as the rest of the language, and critical functionality like buffering is lacking.

TranscodingStreams.jl is one answer to some of these problems - it is the most efficient, and most widely used buffering package in Julia as far as I know. For that reason, it is particularly unfortunate that this package has become unmaintained. This package - or something like it - is critical for Julia to have fast IO at all.

I’m interested in hearing what can be done, especially comments from @bicycle1885 or other people involved in the JuliaIO organization. Does it need new maintainers? Are there anyone willing to step up and bring the project forward?


I’ve tried to review code for PRs there but I don’t feel comfortable being the final say on merge. It’s not something I know enough about to catch injection of subtle breaking code.