Windows 11 obsłuży RAR dzięki libarchive - oto szczegóły
Windows otrzyma wkrótce obsługę większej liczby formatów kompresji niż tylko ZIP. Zostanie w tym celu użyta biblioteka libarchive, zapewniająca odczyt archiwów TAR, ZIP, GZIP, RAR i 7z i kilku innych. Archiwa będzie otwierał Eksplorator Plików. Dlaczego Microsoft wybrał właśnie libarchive?
Najważniejszym z nowych formatów jest oczywiście RAR. W świecie Windowsów, to właśnie RAR, obok ZIP, stanowią czołówkę stosowanych mechanizmów kompresji. O ile ZIP działa w Windows już mniej więcej od ćwierćwiecza, to RAR stanowił problem. Brak natywnej obsługi formatu RAR oraz bardzo podstawowe narzędzia kompresji w systemie sprawiały, że użytkownicy dorzucali zewnętrzny archiwizer, a wybór padał właśnie na WinRAR.
WinRAR
WinRAR, zupełnie bez sensu, uchodzi za niezbędne oprogramowanie w Windows. Istnieje dużo darmowych i kilka zupełnie otwartych programów do archiwizacji, przy których jedyną przewagą WinRARa jest… tworzenie archiwów RAR. Jeżeli nie ma potrzeby archiwizować akurat do tego konkretnego formatu (po co?), można wybrać narzędzie, które nie jest płatne po okresie próbnym. Wszak argument "ale program działa dalej!" nie ma znaczenia.
Microsoft, decydując się na dodanie obsługi RAR do Windowsa, nie miał tak naprawdę wiele do wyboru w kwestii zaplecza technicznego. Dostępne są rozwiązania twórców RAR (restrykcyjnie licencjonowane), dedykowane aplikacje (o podważalnych licencjach i trudne do wyizolowania) oraz właśnie libarchive, które obsługuje RAR wskutek samodzielnego rozwiązania kwestii licencyjnych.
Dalsza część artykułu pod materiałem wideo
Licencja jest bowiem główną bolączką formatu. Kompresja do RAR jest objęta odpłatną licencją. Rarlabs udostępnia jednak opis techniczny kontenera plikowego oraz kod źródłowy referencyjnego dekompresora (unrar). Dostępność kodu nie oznacza jednak od razu, że mamy do czynienia z "wolnym oprogramowaniem": licencja unrar mówi, że program ten nie może być wykorzystywany do odtworzenia mechanizmu kompresji, który pozostaje chroniony i płatny. To dlatego unrar znajduje się na repozytoriach typu "non-free" i nie jest domyślnie dołączany do systemów z Linuksem.
libarchive
Libarchive nie ma tego problemu. W ostrożny sposób zadbano, by implementacja obsługi formatu RAR wynikała tylko z analizy dokumentacji i własnych badań, a nie z kodu objętego problematyczną licencją. Biblioteka libarchive obsługuje zatem format RAR bez stosowania "oficjalnego" narzędzia unrar. Czyni ją to doskonałym kandydatem do "embedowania" - nie tylko w Eksplorator Plików, ale gdziekolwiek. Odpadły w ten sposób problemy licencyjne i konieczność utrzymywania dodatkowej implementacji.
Wzbogacenie eksploratora plików Windows o obsługę dodatkowych formatów kompresji (bo libarchive dostarczy wszak nie tylko RAR) oznacza także potwierdzenie, pośrednio, że kompresja/archiwizacja plików to operacja podstawowa, jakiej należy oczekiwać od powłoki systemu operacyjnego. Do podobnych operacji należy także prosta/masowa konwersja typów plików (jak PNG do JPEG albo DOCX do PDF), tego jednak Windows nie umie, nawet zaopatrzony w PowerToys.
Choć kwestie licencyjne wydają się być dobrym tropem w kwestii powodów wybrania libarchive, jest pewien detal który znacząco komplikuje temat. Krótka wzmianka, która padła na konferencji Build 2023. Microsoft planuje bowiem wprowadzić w 2024 roku możliwość nie tylko otwierania, ale także tworzenia archiwów w dodatkowych formatach. Jeżeli miałoby to dotyczyć także formatu RAR - nie będzie się to działo z użyciem libarchive. Czyżby Microsoft planował wejście w posiadanie licencji na archiwizer RAR? Nie wiadomo. Na nowe wieści na ten temat przyjdzie zapewne trochę poczekać.
Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl