Почему Discourse не переписан на Rust?

Если вы планируете портировать его на другой язык, Go, вероятно, будет лучшим вариантом. Одним из преимуществ, которое, как я ожидаю, оценят веб-администраторы, является отсутствие необходимости в пересборке, поскольку приложение поставляется в виде статических бинарных файлов. Это также делает контейнеры в значительной степени ненужными. На самом деле одной из функций, которая, как представляется, остро необходима в Discourse, является возможность «сборки» приложения на машине, отличной от вашего веб-сервера. В настоящее время на минимальном и самом дешёвом VPS процесс сборки занимает почти 10 минут. Это, скорее всего, займёт лишь долю времени, если бы я мог собирать приложение локально на своей рабочей станции, а затем передавать готовые бинарные файлы на веб-сервер для запуска. Имейте в виду, что такие языки, как Go, позволяют тривиально выполнять кросс-компиляцию, так что вы можете собрать приложение на Mac с процессором M1, а затем развернуть его на x86-сервере (или даже просто собрать, передать и развернуть версию для ARM).