Rust Coreutils, le remplaçant de GNU Coreutils dans Rust va de l'avant à plein régime

L'effort d'écrire un remplacement basé sur Rust pour GNU Coreutils commence à porter ses fruits, car il a été récemment annoncé que le projet est sur la bonne voie pour apporter des améliorations significatives par rapport à la précédente implémentation C. Rust Coreutils continue également d'augmenter son niveau de compatibilité avec GNU Coreutils.

Le projet utilitaires, aussi connu sous le nom de Rust Coreutils, vise à réécrire en Rust tout les utilitaires individuels inclus dans le projet GNU Coreutils. Créé à l'origine par Jordi Boggiano en 2013, le projet vise à fournir des remplacements directs pour les programmes Coreutils, en ajoutant la protection de la concurrence et la sécurité de la mémoire fournies par Rust.

Coreutils Rust comprend des programmes de manipulation de fichiers, de processus et de texte de base qui sont censés exister dans tous les systèmes d'exploitation basés sur GNU.

Le projet Coreutils a été créé pour consolider trois ensembles d'outils qui étaient auparavant proposés séparément, Fileutils, Textutils et Shellutils, ainsi qu'une variété d'autres utilitaires. De nombreux programmes inclus dans le projet, tels que rm, du, ls et cat, existent depuis des décennies, et bien que d'autres implémentations existent, ces utilitaires ne sont pas disponibles pour des plates-formes telles que Windows dans leur forme d'origine.

Collectivement, les programmes Coreutils sont considérés comme des fruits mûrs pour lesquels une version fonctionnelle basée sur Rust pourrait être produite dans un délai raisonnable. Les exigences pour chaque utilitaire sont claires et nombre d'entre elles sont conceptuellement simples., ce qui ne veut pas dire que le travail est facile.

Selon les auteurs, l'utilisation de Rust dans ce projet aidera à accélérer ce processus, car de nombreuses erreurs de mémoire insuffisante et d'autres comportements indéfinis sont complètement éliminés. Cela ouvre également la porte à un multithreading efficace et sans concurrence.

Cette peut accélérer certains programmes sous certaines conditions. Rust Coreutils offre également la possibilité non seulement de réimplémenter Coreutils, mais également d'améliorer les fonctionnalités de certains utilitaires pour offrir une meilleure expérience utilisateur tout en maintenant la compatibilité avec les versions GNU.

Par exemple, les demandes de fonctionnalités qui ont longtemps été rejetées dans le projet Coreutils, telles que l'ajout d'une option de barre de progression pour des utilitaires tels que mv et cp, sont actuellement traitées dans cette réécriture du langage Rust.

Actuellement, il y a des dizaines de contributeurs qui contribuent plus de 400 correctifs à cet effort chaque mois et qui ont également poursuivre le défi de combler l'écart de compatibilité de ces utilitaires avec les commandes GNU en amont.

Le seul binaire restant à implémenter est "stty", qu'en plus de leur travail d'optimisation et de compatibilité, les développeurs travailleront également pour permettre à Debian et Ubuntu de passer facilement à Rust Coreutils par défaut sans avoir besoin d'ajustements ou de configuration spéciaux.

Bien que de nombreux progrès aient été réalisés pour amener les uutils à un état utilisable, il faudra un certain temps pour atteindre la stabilité et la maturité de GNU Coreutils. De plus, un aspect important du projet uutils à considérer est sa licence. Tous les utilitaires du projet sont sous licence permissive MIT, plutôt que sous la licence GNU Coreutils GPLv3.

La décision d'utiliser la licence MIT n'est pas sans critique; certains de ceux qui ont commenté ce choix auraient préféré une licence copyleft pour s'appliquer à un tel projet.

La principale critique fait écho aux arguments sur les licences de logiciels libres dans le passé :

"Une licence non-copyleft est préjudiciable aux libertés des utilisateurs finaux, car elle permet à une personne ou à une organisation d'incorporer n'importe quelle partie du projet dans un appareil ou dans la distribution d'autres." logiciel sans fournir le code source, il est donc impossible de l'étudier, de le modifier ou de l'améliorer.

On craint également que le choix de la licence ne soit fait pour maximiser l'utilisation de Rust sans tenir compte des autres effets ; Le remplacement d'outils sous licence GPL par des alternatives sous licence plus permissives est considéré par certains comme un pas en arrière.

Enfin si vous souhaitez en savoir plus, vous pouvez vérifier les détails dans le lien ci-dessous.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.