Rust Coreutils, замена GNU Coreutils в Rust, идет полным ходом

Усилия по написанию замены GNU Coreutils на основе Rust начинают приносить плоды, поскольку недавно было объявлено, что проект находится на пути к значительным улучшениям по сравнению с предыдущей реализацией C. Rust Coreutils также продолжает повышать уровень совместимости. с помощью GNU Coreutils.

В рамках проекта утилс, также известный как Rust Coreutils, стремится переписать на Rust все их отдельные утилиты, включенные в проект GNU Coreutils. Первоначально созданный Джорди Богджано в 2013 году, проект направлен на замену программ Coreutils, добавляя защиту параллелизма и безопасность памяти, предоставляемые Rust.

Rust Coreutils включает базовые программы для работы с файлами, процессами и текстом которые должны существовать во всех операционных системах на базе GNU.

Проект Coreutils был создан для объединения трех наборов инструментов, которые ранее предлагались по отдельности: Fileutils, Textutils и Shellutils, а также множества других утилит. Многие программы, включенные в проект, такие как rm, du, ls и cat, существуют уже несколько десятков лет, и хотя существуют другие реализации, эти утилиты недоступны для таких платформ, как Windows, в исходном виде.

В совокупности программы Coreutils рассматриваются как спелые плоды, для которых рабочая версия на основе Rust может быть выпущена в разумные сроки. Требования к каждой утилите ясны, и многие из них концептуально просты., что не значит, что работа легкая.

По мнению авторов, использование Rust в этом проекте поможет ускорить этот процесс, так как многие ошибки нехватки памяти и другое неопределенное поведение полностью устранены. Это также открывает двери для эффективной многопоточности без параллелизма.

Эсто может ускорить работу некоторых программ при определенных условиях. Rust Coreutils также предоставляет возможность не только заново реализовать Coreutils, но и улучшить функциональность некоторых утилит, чтобы обеспечить лучший пользовательский опыт при сохранении совместимости с версиями GNU.

Например, запросы функций, которые долгое время отклонялись в проекте Coreutils, такие как добавление параметра индикатора выполнения для таких утилит, как mv и cp, в настоящее время рассматриваются в этом переписанном языке Rust.

В настоящее время есть десятки участников, которые вносят более 400 исправлений в эту работу каждый месяц, а также продолжить работу по устранению разрыва в совместимости этих утилит с вышестоящими командами GNU.

Единственный оставшийся двоичный файл для реализации — «stty», что в дополнение к своей работе по оптимизации и совместимости разработчики также будут работать над тем, чтобы позволить Debian и Ubuntu легко переключаться на Rust Coreutils по умолчанию без какой-либо специальной настройки или настройки.

Хотя был достигнут значительный прогресс в приведении uutils в пригодное для использования состояние, потребуется некоторое время, чтобы достичь стабильности и зрелости GNU Coreutils.. Кроме того, важным аспектом проекта uutils, который следует учитывать, является его лицензия. Все утилиты в проекте распространяются по разрешительной лицензии MIT, а не по лицензии GNU Coreutils GPLv3.

Решение использовать лицензию MIT не лишено критики; некоторые из тех, кто прокомментировал этот выбор, предпочли бы, чтобы лицензия с авторским левом применялась к такому проекту.

Основная критика перекликается с аргументами о лицензиях свободного программного обеспечения в прошлом:

«Лицензия без авторского лева наносит ущерб свободам конечных пользователей, поскольку позволяет человеку или организации встраивать любую часть проекта в одно устройство или распространять другие». программное обеспечение без предоставления исходного кода, поэтому его невозможно изучить, модифицировать или улучшить.

Также есть опасения, что выбор лицензии сделан для максимального использования Rust без учета других эффектов; Некоторые считают, что замена инструментов под лицензией GPL более либеральными лицензионными альтернативами является шагом назад.

В конце концов если вам интересно узнать об этом больше, вы можете проверить подробности в следующую ссылку.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.