Discussione Altro AiryxOS un progetto per creare MacOS in chiave Open Source

nfvblog

Moderatore
9 Dicembre 2021
663
67
326
450
Ultima modifica:
RevealInFiler.gif







AiryxOS: un tentativo di ricreare Mac OS in chiave Open Source​



AiryxOs è un progetto che vuole riproporre in chiave Open Souce il sistema di casa Apple, Mac Os X, più nello specifico, parliamo di un progetto basato su FreeBSD, con la struttura ad albero di Mac Os e che teoricamente dovrebbe poter eseguire le app compilate per Mac. Al momento parliamo di un progetto nato davvero da poco tempo e quindi soffre di una certa acerbità, mancano delle funzionalità e il layer di astrazione per le app scritte per Mac non è ancora funzionante, questo a detta degli sviluppatori verrà risolta nelle versioni successive. Al momento esiste già una ISO della distribuzione in questione ma sconsiglio di installarla su Hardware fisico, perché è un alfa e quindi non si sa come potrebbe funzionare.

1644692077528.png

Per ottenere il file ISO per l'installazione basta andare sulla pagina del progetto airyx.org e premere sul tasto Download airyxOS.



1    Stato attuale



La distro al momento è in pre-release, come indicato da Github:

1644692134619.png

Ha già un suo logo e una sua identità minima, ovviamente come scritto nello stesso report, mancano ancora funzionalità come la dock e non ha ancora un gestore grafico per la gestione del wi-fi. Il fatto che BSD abbia una minore compatibilità hardware è anche questo un problema da non sottovalutare, infatti, non è garantito che tutte le periferiche funzionino correttamente, in compenso ha degli ottimi driver binari per intel e anche per Nvidia, ma per il resto è un po' una roulette russa.


1.1    Ambiente Grafico



Vedendo gli screen, la documentazione dei Devs e utilizzandolo mi è parso di capire che il desktop environment sia KDE plasma 5 fortemente personalizzato dalla Dev di Airyx.

airyx_0.3_menubar.png

Tra cui un'ottima implementazione del global menu tanto amato in Mac Os che consente di risparmiare spazio nello schermo, rendendo una sensazione di maggior ampiezza del proprio workspace al utente.

Technical Details​

AiryxOS™ is a new open-source desktop operating system that aims to provide a similar experience and compatibiilty with macOS® on x86-64 systems. It builds on the solid foundations of FreeBSD, existing open source packages in the same space, and new code to fill the gaps. Airyx aims to feel sleek, stable, familiar and intuitive, handle your daily tasks, and provide as much compatibility as possible with the commercial OS that inspired it.

AiryxOS puts system things mainly into /System, /Library, and /usr. The /usr/local tree is reserved for user additions (like FreeBSD packages). User home directories are appropriately under /Users, and each has a ~/Library folder for Cocoa apps to use. Zsh is the default system shell.

Properly packaged applications will typically live under /Applications or ~/Applications and are built as a .app Bundle or as an AppImage. These types of applications are self-contained, do not usually need installers or de-installers, and can be moved around the filesystem without breaking. Traditional Unix-like applications are installed into fixed directories as usual.

AiryxOS provides an implementation of Cocoa (still incomplete) and modern Objective-C runtime installed into /System/Library/Frameworks. It also provides a growing list of Mac-compatible APIs such as LaunchServices, Grand Central Dispatch, XPC, and compatibility with Mach 3.0 system calls (0.4pre1+) and C functions. There is a growing list of compatible commands as well, such as open and launchctl. From 0.4pre1 onwards, launchd is the system init (PID 1) and some services now run as LaunchDaemons and LaunchAgents.

The system compilers and linkers have been patched to support Frameworks, and the standard -F and -framework arguments work as expected. Support for XCode project files is planned, but BSD-style Makefiles are available today to easily build .app and .framework Bundles. Java 17 is available in /Library/Java. Swift is also on the roadmap.

The desktop environment (currently based on parts of KDE 5) and system applications (Filer, Dock, global menu system, default app bundles, etc) are being carefully designed to fit well together and provide consistency and a familiar look & feel.

AiryxOS is still very early in development but is progressing fast and becoming more usable every day. If this sounds like your dream system, please join us to help make it a reality!


1.2    Funzionalità promesse dal progetto



1644692197138.png

Come indicato dalla loro pagina le funzionalità promesse sono:
  1. Un design pulito, in stile Apple, molto chiaro al primo sguardo;
  2. Il global menu, con tutte le sue features che consentono di ottimizzare gli spazzi durante l'utilizzo delle app.
  3. Delle shortcuts comode e complete, molto utili durante l'usabilità, si spera che i Dev. Abbiano l'accortezza di pubblicare l'elenco completo delle shortcuts all'interno della documentazione;
  4. Le "Familiar Folders" sono le Cartelle tipiche di Mac Os, come scritto si tratta delle cartelle: Applications, System, Library e Users, che si differenziano parecchio dalla logica dei sistemi Linux.
  5. Cocoa APIs, una compatibilità all'ambiente di sviluppo cocoa per Mac Os;
  6. Nifty Command, sostanzialmente dei comandi perfettamente integrati all'ambiente, per esempio quello che apare un quello scorcio della pagina permette di aprire il file manager in quel percorso con il file selezionato nel caso in cui sia stato specificato.
  7. Superb stability di FreeBSD, il fatto che FreeBSD abbia una solitità allucunante è un dato di fatto e questo è il lato positivo di utilizzarlo come base.



1.3    Applicazioni dedicate



AiryxOs ha anche un formato proprio di app, al momento sono due in croce ma in futuro potrebbero aumentare, per adesso abbiamo firefox, konsole, kate e le sue app di sistema.

1644692245039.png

Come da premesse anche una buona parte delle app Linux sono compatibili tramite un Layer di emulazione, come al solito bisogna ricordare che alcune app che richiedono servizi specifici di systemd o roba simile potrebbero mal funzionare o non funzionare proprio, creando certi gaf memorabili.



1.4    La base di partenza del progetto



Apple ha basato i suoi sistemi su un sistema Unix open source, il nome di questo sistema è Darwin e risulta viene rilasciato dalla stessa, ovviamente è basata su BSD e da li passano tutte le funzioni che poi verranno portate sui sistemi proprietari della casa con la stabilità solita, con un kernel iprido il così detto XNU che condivide con lo stesso Mac Os.
1024px-Diagram_of_Mac_OS_X_architecture.svg.png


Questo è il diagramma di Mac Os e come si vede ritroviamo Darwin nella voce Core OS, quindi risulta il cuore pulsante anche dello stesso Os di Apple, ovviamente rispetto al semplice OpenDarwin scaricabile dal sito di Apple, Mac Os possiede tantissimi componenti in più.

1.5    Video dedicato



1.6    Progetti simili ad AiryxOS



Partiamo dal presupposto che questo non è un progetto originale, per il semplice fatto che già da diversi anni esiste un progetto dedito alla creazione di un MS-Windows open source, il nome della distro è ReactOS, che al momento supporta bene le applicazioni fino a XP, anche se supporta molte app pensate per Windows 7 e 8 ma con una minore affidabilità.
virtualpc2007.png

Il grande difetto di questo progetto è che avendo pochi sviluppatori dietro il tutto va a rilento, con vari problemi mai risolti e con il progetto in stato di alfa da una ventina d'anni, onestamente il difetto di questi progetti dediti a replicare i sistemi proprietari in chiave open è proprio il fatto che gli sviluppatori hanno buone idee ma pochi mezzi e molte volte l'investono male, perché la scelta giusta è quella di migliorare gli interpreti per i sistemi che vengono davvero utilizzati come ad esempio Linux, che avrebbe bisogno di un layer di astrazione per Windows fatto leggermente meglio rispetto al Wine odierno. E un bel layer per gli eseguibili .app di Mac os non farebbe male a nessuno. Per il resto fa sempre piacere scientificamente parlando dove possano arrivare sul fronte della compatibilità queste iniziative, soprattutto pensando al fatto che gli sviluppatori lavorano su un qualcosa a scatola chiusa, cosa che non semplifica affatto la situazione.



2    Conclusioni



Al momento il progetto è interessante ma è molto acerbo, molte cose promesse non sono state ancora implementate ma soprattutto il team non è molto grande, la vera speranza per il futuro è la scrittura di un buon layer di astrazione per Linux e BSD che permetta una reale esecuzione delle app pensate per Mac Os, perché in linea teorica è più semplice fare un porting di un programma da sistema UNIX a sistema UNIX/UNIX-like rispetto a fare un porting da Windows a un sistema UNIX/UNIX-like quindi teoricamente un layer di questo tipo dovrebbe essere molto meno problematico di wine nella gestione, ovviamente se tale interprete dovesse mai esistere deve per forza essere un open source altrimenti il rischio è che nel caso in cui l'azienda che lo gestisce smetta di supportarlo lo stesso divenga in praticabile, per di più un open source non avrebbe problemi legali con Apple, perché come progetto scientifico non fa male a nessuno, per di più con la solita storia del non garantisce un corretto funzionamento l'azienda in questione non vedrebbe minata la propria legittimità sulla proprietà intellettuale.