Rust Coreutils, de GNU Coreutils-vervanging in Rust gaat op volle kracht vooruit

De poging om een ​​op Rust gebaseerde vervanging voor GNU Coreutils te schrijven begint vruchten af ​​te werpen, aangezien onlangs werd aangekondigd dat het project op schema ligt om aanzienlijke verbeteringen aan te brengen ten opzichte van de vorige C-implementatie. Rust Coreutils blijft ook het compatibiliteitsniveau verhogen met GNU Coreutils.

El proyecto gebruiken, ook bekend als Rust Coreutils, wil herschrijven in Rust all de individuele hulpprogramma's die zijn opgenomen in het GNU Coreutils-project. Oorspronkelijk gemaakt door Jordi Boggiano in 2013, heeft het project tot doel drop-in vervangingen te bieden voor Coreutils-programma's, door de gelijktijdigheidsbescherming en geheugenbeveiliging van Rust toe te voegen.

Roest Coreutils bevat basisprogramma's voor bestands-, proces- en tekstmanipulatie die in alle op GNU gebaseerde besturingssystemen zouden moeten bestaan.

Het Coreutils-project is gemaakt om drie toolsets te consolideren die voorheen afzonderlijk werden aangeboden, Fileutils, Textutils en Shellutils, samen met een aantal andere hulpprogramma's. Veel van de programma's die in het project zijn opgenomen, zoals rm, du, ls en cat, bestaan ​​al tientallen jaren, en hoewel er andere implementaties bestaan, zijn deze hulpprogramma's niet beschikbaar voor platforms zoals Windows in hun oorspronkelijke vorm.

Gezamenlijk worden de Coreutils-programma's gezien als rijp fruit waarvoor binnen een redelijke tijd een werkende op Rust gebaseerde versie zou kunnen worden geproduceerd. De vereisten voor elk hulpprogramma zijn duidelijk en veel ervan zijn conceptueel eenvoudig., wat niet betekent dat het werk gemakkelijk is.

Volgens de auteurs is het gebruik van Rust in dit project zal dit proces helpen versnellen, omdat veel fouten in het geheugen en ander ongedefinieerd gedrag volledig worden geëlimineerd. Het opent ook de deur naar efficiënte, gelijktijdigheidsvrije multithreading.

deze kan onder bepaalde omstandigheden sommige programma's versnellen. Rust Coreutils biedt ook de mogelijkheid om niet alleen Coreutils opnieuw te implementeren, maar ook de functionaliteit van sommige hulpprogramma's te verbeteren om een ​​betere gebruikerservaring te bieden terwijl de compatibiliteit met GNU-versies behouden blijft.

Bijvoorbeeld, functieverzoeken die al lang zijn afgewezen in het Coreutils-project, zoals het toevoegen van een voortgangsbalkoptie voor hulpprogramma's zoals mv en cp, worden momenteel behandeld in deze Rust-taalherschrijving.

Momenteel zijn er tientallen bijdragers die elke maand meer dan 400 oplossingen aan deze inspanning bijdragen en die ook doorgaan met de uitdaging om de compatibiliteitskloof te dichten van deze hulpprogramma's met de upstream GNU-commando's.

Het enige overgebleven binaire bestand om te implementeren is "stty", dat naast hun optimalisatie- en compatibiliteitswerk, de ontwikkelaars ook zullen werken om Debian en Ubuntu standaard gemakkelijk te laten overschakelen naar Rust Coreutils zonder dat er speciale aanpassingen of configuraties nodig zijn.

Hoewel er veel vooruitgang is geboekt om uutils in een bruikbare staat te brengen, het zal enige tijd duren om de stabiliteit en volwassenheid van GNU Coreutils te bereiken. Een belangrijk aspect van het uutils-project om te overwegen, is ook de licentie. Alle hulpprogramma's in het project zijn gelicentieerd onder de permissieve MIT-licentie, in plaats van de GNU Coreutils GPLv3-licentie.

Het besluit om de MIT-licentie te gebruiken is niet zonder kritiek; sommigen van degenen die commentaar gaven op deze keuze hadden liever een copyleft-licentie gehad om op een dergelijk project toe te passen.

De belangrijkste kritiek is een echo van argumenten over gratis softwarelicenties in het verleden:

"Een niet-auteursplichtige licentie is schadelijk voor de vrijheden van eindgebruikers, omdat het een persoon of organisatie in staat stelt om elk onderdeel van het project op het ene apparaat of in de distributie van anderen op te nemen." software zonder de broncode te verstrekken, dus het is onmogelijk om deze te bestuderen, aan te passen of te verbeteren.

Er is ook bezorgdheid dat de licentiekeuze wordt gemaakt om het gebruik van Rust te maximaliseren zonder rekening te houden met andere effecten; Het vervangen van GPL-gelicentieerde tools door meer tolerante gelicentieerde alternatieven wordt door sommigen beschouwd als een stap terug.

Eindelijk als u er meer over wilt wetenkunt u de details in het volgende koppeling.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.