Efter to års udvikling er udgivet version 0.5 af projektet ravynOS, som udvikler et operativsystem baseret på FreeBSD, med fokus på at opnå kompatibilitet med macOS-applikationer og tilbyde en brugergrænseflade i stil med macOS. Projektets resultater distribueres under BSD-licensen. Størrelsen på det bootbare iso-billede er 869 MB (x86_64).
Projektets mål er at opnå kompatibilitet med macOS-applikationer på niveau med kildekode og kørbare filer. I det første tilfælde menes der muligheden for at recompilere koden fra macOS-applikationer til kørsel i ravynOS, mens det i det andet tilfælde handler om at integrere ændringer til kernen og værktøjerne for at køre Mach-O kørbare filer, der er samlet til arkitekturerne x86-64 og arm64. Der understøttes ZFS-filsystemet samt de i macOS anvendte filsystemer HFS+ og APFS. Ud over FreeBSD's typiske hierarkier /usr og /usr/local oprettes macOS-specifikke kataloger /Library, /System og /Volumes. Brugerens hjemmekataloger placeres i hierarkiet /Users. I hvert hjemmekatalog er der en undermappe ~/Library til applikationer, der bruger Apple Cocoa API'en.
For at sikre kompatibilitet med macOS tilbydes en delvis implementering af Cocoa API'et og Objective-C runtime (placeret i katalogen /System/Library/Frameworks), samt ekstra modificerede compilere og linker for at understøtte dem. Ud over laget til kompatibilitet med macOS er det også muligt at køre Linux-applikationer i ravynOS, baseret på den infrastruktur til Linux-miljøemulering (Linuxulator), der tilbydes i FreeBSD.
Applikationer kan præsenteres som selvstændige app-pakker (App Bundle) i AppImage-format, der placeres i katalogerne /Applications eller ~/Applications. Programmer kræver ikke installation og brug af en pakkemanager — det er nok at trække og slippe AppImage-filen og starte den. Der er samtidig bevaret support for traditionelle FreeBSD-pakker.
Det grafiske miljø er bygget på en egen vindueshåndterer server, der bruger den beskårede kompositserver labwc (understøttelse af vinduesdekoration på serversiden og temaer er fjernet), wlroots, og Wayland-protokollen. I applikationerne kan rammeværkerne Qt og Cocoa anvendes. Brugergrænsefladen bruger typiske koncept for macOS, såsom en topmenu med global menu, identisk menu-struktur, genvejstaster, en filhåndtering, der minder om Filer, og understøttelse af kommandoer som launchctl og open.

I den nye version:
- Den grundlæggende løsning er blevet opdateret til FreeBSD version 15-CURRENT. Brugen af FreeBSD-porte er stoppet — alle nødvendige komponenter er flyttet til systemets repository.
- Den primære pakke indeholder teksteditoren turbo. Desuden er cmake, gmake, nasm og GNU binutils blevet tilføjet.
- I byggemapperne for Cocoa- og Objective-C-rammeværkerne er det nu muligt at binde objekter i undermapper for at forenkle overførslen af kode fra forskellige undermapper til ét bibliotek.
- Brugen af pakke-repository er stoppet, men muligheden for at installere pakker fra FreeBSD-repositories til katalogen /usr/local ved hjælp af kommandoen pkg er bevaret.
- Den nye build.sh samlingsværktøj er tilføjet, hvilket forenkler hele systembygningen og oprettelsen af et tilpasset ISO-billede, der kan bootes i Live-tilstand.
- Den indledende implementation af en grafisk Dock-panel med et lille sæt af grundlæggende ikoner er tilføjet. Der er mulighed for at indikere programstart, placere applikationsgenveje og indstille skrivebordsbaggrunden i macOS-stil. Indholdet i panelet kan i øjeblikket kun konfigureres ved at redigere plist-filen i ~/Library/Preferences.
- Understøttelse af klassen NSStatusItem er tilføjet, hvilket giver Cocoa-applikationer mulighed for at flytte menuer til den globale panel.
Kilde: opennet.ru
