It's pretty frustrating how many OSS projects use Slack but there are no options available to pay for a discounted pro plan. We'd love to pay a flat-ish fee for the community but it creates a disincentive to grow. Their active user fair pricing helps a bit, but it's not great.

Please don't use Slack for open projects! It's a walled garden, search engines cannot index the content and registration is needed to even see the discussions.

What you put in there is basically closed from the public, complete opposit of openness.

Does Slack's terms of service allow for a plugin that can just export the contents of the Slack to a public site (like a mailing list archive)? Do Slack plugins have that kind of access?

I lead the Zulip project.

I'm not sure about this detail of Slack's ToS. At a technical level, you can certainly export your data from a Slack (which is we implement https://zulip.com/help/import-from-slack); I imagine it's easy to write a tool to format and publish it.

FWIW Zulip maintains https://github.com/zulip/zulip-archive, which is a configurable API-based tool for creating a static HTML archive from a Zulip organization, with tooling to update it every few minutes. A lot of larger open projects use it. (We're also working on a native logged-out access feature with less janky formatting, which has a working PR that we need to integrate).

I suppose you could export your data from Slack, import it into Zulip, and then publish that using zulip-archive if you didn't want to write any code, but I'm sure the formatting would be better preserved if one avoided the "convert Slack markup to Zulip markup" step.