On Thu, 2023-02-23 at 01:27 +0000, Micah Snyder (micasnyd) via clamav-
users wrote:
> Hi Scott, Michael, Orion,
> 
> You make some good points. In particular as Linux/Unix distributions
> are still learning how to package Rust software.
> 

It's not a matter of knowing how to package rust. It's just another
compiled language. But it's new, and...

  * Currently at the peak of its fad language phase.
  * Unstable; has no specification, breaking changes in every release.
  * Mainly used by people who want to write rust for the sake of 
    writing rust, rather than for writing and maintaining programs 
    that solve real problems.
  * Comes with a NIH build system that only works with rust code.
  * Has its own package manager that encourages you to pin specific
    versions and bundle them into your package.
  * Has its own code hosting platform that bypasses our supply-chain
    security.
  * Doesn't work on the platforms we support.

So: it's a matter of maturity. There's simply no way to package it
right now that meets the quality standards that we've set for ourselves
and for our users. It will be many years (if ever) before there's a
rust specification, and before the fad chasers have moved on and we're
left with people doing actual software engineering.

Or, it could never happen. I wrote a lot of things in Haskell, which
does everything rust does but better and did it decades earlier. Ask me
how that's going.

The problem isn't specific to rust. You only hear about it with rust
because a few high-profile projects (Firefox, ClamAV, librsvg, python
cryptography, etc.) have added bits of rust into their non-rust
codebases *after* becoming popular. Faced with the prospect of deleting
those packages and everything that depends on them, distros were
instead forced to compromise a few principles. But rust isn't really to
blame; the same problem would arise if you tried to add a few lines of
Zig code to a popular C++ package. Luckily with most other languages no
one has been crazy enough to do it [0].


> I'm certain there have been discussions along how to
> package/distribute Rust itself within each distro. I am a fan of the
> approach that OpenSUSE has taken: https://en.opensuse.org/Rust I hope
> that some of the other distributions adopt a similar strategy.

Despite the page title, they're not packaging it in the usual sense.
They're shipping you a giant executable that never gets security
updates. (It's the same with rust on Gentoo and every other distro.)
That's how Windows software is "packaged," and it's just not good
enough -- especially for a network-facing daemon whose job is to be fed
malicious code.



[0] Patiently awaiting the day I don't need Ruby to build webkit. 
    Remember that week when Ruby was cool?

_______________________________________________

Manage your clamav-users mailing list subscription / unsubscribe:
https://lists.clamav.net/mailman/listinfo/clamav-users


Help us build a comprehensive ClamAV guide:
https://github.com/Cisco-Talos/clamav-documentation

https://docs.clamav.net/#mailing-lists-and-chat

Reply via email to