Rust Coreutils, zamiennik GNU Coreutils w Rust idzie pełną parą do przodu

Wysiłki zmierzające do napisania opartego na Ruście zamiennika dla GNU Coreutils zaczynają przynosić owoce, ponieważ niedawno ogłoszono, że projekt jest na dobrej drodze do wprowadzenia znaczących ulepszeń w stosunku do poprzedniej implementacji C. Rust Coreutils również kontynuuje zwiększanie poziomu kompatybilności z GNU Coreutils.

Projekt narzędzia, również znany jako Rust Coreutils, ma na celu przepisanie w Rust all The poszczególne narzędzia zawarte w projekcie GNU Coreutils. Projekt, pierwotnie stworzony przez Jordiego Boggiano w 2013 roku, ma na celu zapewnienie zastępczych zamienników dla programów Coreutils, dodając ochronę współbieżności i bezpieczeństwo pamięci zapewniane przez Rust.

Rdza Coreutils zawiera podstawowe programy do manipulacji plikami, procesami i tekstem które mają istnieć we wszystkich systemach operacyjnych opartych na GNU.

Projekt Coreutils został stworzony, aby skonsolidować trzy zestawy narzędzi, które wcześniej były oferowane osobno, Fileutils, Textutils i Shellutils, wraz z różnymi innymi narzędziami. Wiele programów zawartych w projekcie, takich jak rm, du, ls i cat, istnieje od dziesięcioleci i chociaż istnieją inne implementacje, te narzędzia nie są dostępne dla platform takich jak Windows w ich oryginalnej formie.

Podsumowując, programy Coreutils są postrzegane jako dojrzałe owoce, dla których działająca wersja oparta na Ruście mogłaby zostać wyprodukowana w rozsądnym czasie. Wymagania dla każdego narzędzia są jasne, a wiele z nich jest koncepcyjnie prostych., co nie oznacza, że ​​praca jest łatwa.

Według autorów użycie Rusta w tym projekcie pomoże przyspieszyć ten proces, ponieważ wiele błędów związanych z brakiem pamięci i innych niezdefiniowanych zachowań jest całkowicie wyeliminowanych. Otwiera również drzwi do wydajnej wielowątkowości bez współbieżności.

To może przyspieszyć działanie niektórych programów w określonych warunkach. Rust Coreutils daje również możliwość nie tylko ponownego wdrożenia Coreutils, ale także poprawy funkcjonalności niektórych narzędzi, aby zapewnić lepsze wrażenia użytkownika przy zachowaniu kompatybilności z wersjami GNU.

Na przykład prośby o nowe funkcje, które od dawna były odrzucane w projekcie Coreutils, takie jak dodanie opcji paska postępu dla narzędzi takich jak mv i cp, są obecnie rozpatrywane w tym przerobieniu języka Rust.

Obecnie są dziesiątki współtwórców, którzy każdego miesiąca wnoszą ponad 400 poprawek do tego wysiłku i którzy również kontynuuj wyzwanie, jakim jest zamknięcie luki w kompatybilności tych narzędzi z zewnętrznymi poleceniami GNU.

Jedyny pozostały plik binarny do zaimplementowania to "stty", że oprócz prac związanych z optymalizacją i kompatybilnością, programiści będą również pracować nad umożliwieniem Debianowi i Ubuntu łatwego domyślnego przełączania się na Rust Coreutils bez żadnych specjalnych poprawek czy konfiguracji.

Chociaż poczyniono znaczne postępy w przywracaniu narzędzi do stanu używalności, osiągnięcie stabilności i dojrzałości GNU Coreutils zajmie trochę czasu. Ważnym aspektem projektu uutils do rozważenia jest jego licencja. Wszystkie narzędzia w projekcie są licencjonowane na podstawie liberalnej licencji MIT, a nie licencji GNU Coreutils GPLv3.

Decyzja o korzystaniu z licencji MIT nie jest pozbawiona krytyki; niektórzy z tych, którzy komentowali ten wybór, woleliby, aby do takiego projektu zastosować licencję typu copyleft.

Główna krytyka powtarza argumenty dotyczące licencji wolnego oprogramowania z przeszłości:

„Licencja nie stanowiąca copyleft jest szkodliwa dla wolności użytkowników końcowych, ponieważ umożliwia osobie lub organizacji włączenie dowolnej części projektu do jednego urządzenia lub do dystrybucji innych”. oprogramowanie bez podania kodu źródłowego, więc nie można go badać, modyfikować ani ulepszać.

Istnieje również obawa, że ​​wybór licencji ma na celu maksymalizację wykorzystania Rust bez uwzględniania innych efektów; Zastąpienie narzędzi na licencji GPL bardziej liberalnymi, licencjonowanymi alternatywami jest przez niektórych uważane za krok wstecz.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w Link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.