---
title: "**HaikuOS - FreedomBytes"
sub_title: A quick overview
author: Matteo Pasotti & Andrea Bernardi
---
# Haiku OS
<span style="color:blue">FreedomBytes</span>
<!-- new_line -->
2025

<!-- end_slide -->

# Perché Haiku OS?
* Interfaccia utente pulita e intuitiva
* Sistema operativo leggero e veloce
* Ideale per hardware meno recente

![Logo Haiku](images/haiku_logo_white.png)
<!-- end_slide -->

# Sovvenzioni 2022–2024 (Haiku, Inc.)

Scala: 1 blocco = ~ $1k

2022  $23,551 | <span style="color: grey">████████████████████████</span>        (24)
<!-- new_line -->
2023  $25,422 | <span style="color: blue">█████████████████████████</span>       (25) 
<!-- new_line -->
2024  $36,479 | <span style="color: green">██████████████████████████████████████</span>   (37)
<!-- new_line -->
<!-- Trend (sparkline): ▆ ▆ █ 
                   2022 2023 2024 -->
<!-- new_line -->
Confronto 2024 vs 2023: **<span style="color: green">+43% vs '23</span>** 
<!-- new_line -->
Confronto 2024 vs 2022: **<span style="color: yellow">+55% vs '22</span>**
<!-- end_slide -->

# Focus Report 2024
**Qualche dettaglio dal report del 2024:**
<!-- incremental_lists: false -->
* <span style="color:red">Il 2022 è stato l'unico anno in perdita con uscite > entrate</span>
* <span style="color:yellow">Qualche perdita (circa 800$) per problemi amministrativi registrata nel 2024 legata alla chiusura di Flattr nel 2023</span>
* <span style="color:green">Valore degli assets rappresentati da criptovalute (BTC) è pari a **~417k$**</span> (348k$ a produzione del report annuale 2024)
* Altre donazioni in assegni, Liberapay e altri strumenti
<!-- new_line -->
<!-- new_line -->
<!-- incremental_lists: false -->
* Post ufficiali: 2023 e 2024 report pubblicati sul sito Haiku.

<!-- incremental_lists: false -->
* https://www.haiku-os.org/news/2025-02-01_2024_financial_report/
* https://www.haiku-inc.org/docs/haiku_inc-financial-report-2024.pdf

<!-- end_slide -->

# Caratteristiche principali
* Architettura modulare → Kernel personalizzato, driver modulari e API POSIX
* File system BFS → Veloce, robusto e con metadati estesi
* Interfaccia utente → Deskbar, Tracker, applicazione libro per i video 3dmov
* Applicazioni native → WebPositive, Mail, MediaPlayer
* Compatibilità → App BeOS + software Linux tramite HaikuPorts

![Desktop Haiku](images/s-l1600.jpg)
<!-- end_slide -->

# Architettura del Kernel di Haiku 🧩
**Struttura generale**
* **Kernel ibrido monolitico**, scritto in <span style="color:#00AA00">C</span> e <span style="color:#009900">C++</span>
  * https://www.haiku-os.org/guides/building/compiling-x86_64/
* Derivato concettualmente dal kernel di <span style="color:#E76F00">BeOS</span>, non da Linux o BSD
* **Modulare**: ogni driver è un add-on caricabile dinamicamente
* **Schedulatore preemptive multitasking con priorità in tempo reale**
* **Architettura SMP** (multi-CPU) completamente supportata

**Influenze & confronto**
* <span style="color:#3572A5">BSD</span>: stile del networking stack e filosofia di portabilità
* <span style="color:#E76F00">Linux</span>: adottate convenzioni POSIX e compatibilità ABI per toolchain GCC/glibc
* <span style="color:#9B59B6">BeOS</span>: eredita il design event-driven e i “kits” user-space per UI, media e storage
* <span style="color:#666666">Altri</span>: uso di moduli ELF come in *Mach* e *BeOS R5*, ma con interfacce più pulite  

💡 Kernel e userland dialogano tramite “syscalls” POSIX-compatibili, ma i *Kits* di Haiku estendono il paradigma con un design orientato agli oggetti, coerente con l’ambiente desktop.

<!-- end_slide -->


# Focus: API POSIX (perché contano)

* **Portabilità**: tantissimo software Unix-like compila senza (o con minime) modifiche.
* **Ecosistema**: toolchain standard (bash, coreutils, grep, curl, git...) e librerie POSIX si integrano nativamente.
* **Produttività dev**: API conosciute (processi, pipe, segnali, pthread) → curva di apprendimento bassa.
* **HaikuPorts**: migliaia di pacchetti sfruttano compatibilità POSIX; meno “colla” specifica di sistema.
* **Stabilità ABI**: interfacce standard riducono rotture tra release.
* **Equilibrio**: POSIX per compatibilità, **Kits** Haiku (Application, Interface, Media, Storage…) per UX e feature moderne.

<span style="color:green">Effetto pratico</span>  
Porting rapidi, build script simili a Linux/*BSD, riduzione del “lock-in” tecnologico.

<!-- end_slide -->

# Focus: File system BFS (velocità & robustezza)

* **Attributi indicizzati**: ogni file può avere metadati ricchi (es. autore, tipo, tag) con **indici B+tree**.
* **Query come un database**: ricerche su attributi sono immediate (senza dover passare tutto il disco).
* **Veloce rispetto a FS senza indici su attributi**: le ricerche sui metadati sono drasticamente più rapide rispetto a FS
  tradizionali che non indicizzano xattr (dove servirebbero scan completi o cache esterne - e.g. FAT/exFAT, NTFS, ext4, APFS).
* **Robustezza**: journaling dei metadati → recupero rapido dopo crash/power loss, minore rischio di corruzione.
* **Live Queries**: risultati che si aggiornano “in tempo reale” quando cambiano i file (indicizzazione nativa).
* **Scalabilità**: 64‑bit, directory e indici efficienti, tempi di lookup stabili anche con molteplici file.

<span style="color:blue">In pratica</span>  
Ricerca “per attributi” (es. tipo=MPEG, artista=“X”) è quasi istantanea; boot e uso quotidiano traggono beneficio da
metadati strutturati e journaling.

<!-- end_slide -->

# Haiku su RISC-V 🧩

* **Port sperimentale attivo** dal 2023 → obiettivo: supporto nativo a <span style="color:blue">architettura RISC-V 64-bit</span>.
* Basato su toolchain GCC / binutils / Newlib già integrati nel build system di Haiku.
* Kernel e driver in fase di adattamento → boot funzionante su emulatori (QEMU, virt riscv64).
* Focus attuale: inizializzazione memoria, interrupt controller, scheduler, e driver console base.

<span style="color:green">Perché è interessante</span>  
* RISC-V è un’architettura **open**, priva di licenze proprietarie o brevetti bloccanti.  
* Offre a Haiku la possibilità di essere **completamente libero** dall’hardware chiuso x86/ARM.  
* Ottimo terreno per ricerca, università e progetti educativi open-source.  
* Sinergia con filosofia Haiku: semplicità, trasparenza e controllo completo dello stack.

<span style="color:blue">In prospettiva</span>  
→ Boot su hardware reale e build ufficiali nei prossimi anni.

![2024 RiscV](images/2024_RiscV.jpg)
<!-- end_slide -->

# Linguaggi di sviluppo su Haiku OS 💻
**Panoramica**
<!-- column_layout: [2, 7] -->
<!-- column: 0 -->
<span style="color:#00AA00">C</span>
<!-- column: 1 -->
<span style="color:#00AA00">GCC **11/12** (toolchain di sistema)</span>
<!-- column: 0 -->
<span style="color:#009900">C++</span>
<!-- column: 1 -->
<span style="color:#009900">GCC **11/12** (API Haiku “Kits”)</span>
<!-- column: 0 -->
<span style="color:#3572A5">Python</span>
<!-- column: 1 -->
<span style="color:#3572A5">**3.10** (pip funzionante)</span>
<!-- column: 0 -->
<span style="color:#E76F00">Java</span>
<!-- column: 1 -->
<span style="color:#E76F00">OpenJDK **17** (runtime completo)</span>
<!-- column: 0 -->
<span style="color:#9B59B6">yab</span>
<!-- column: 1 -->
<span style="color:#9B59B6">**1.8.x** (BASIC per Haiku, GUI builder)</span>
<!-- column: 0 -->
<span style="color:#666666">C#</span>
<!-- column: 1 -->
<span style="color:#666666">Mono **6.x** (.NET Framework 4.x compat.)</span>

<!-- end_slide -->

# L’IDE <span style="color:blue">Genio</span> 🧠

* <span style="color:green">Progettato nativamente per Haiku</span> → integra perfettamente Tracker, file system BFS e le API del sistema.  
* Supporto per <span style="color:blue">una fracca di cose</span>™ → C, C++, Python, Git, Makefile, sintassi personalizzabili.  
* <span style="color:green">Va benissimo anche con progetti enormi</span> — fluido e reattivo, zero lag anche su hardware datato.  
* <span style="color:blue">Comunità attiva e vitale</span> → patch, suggerimenti e plugin spuntano come funghi.  
* E infine... il <span style="color:red">ritorno del feudalesimo e della tortura</span> 🏰 💀

![Genio IDE](images/genio_ide.png)
<!-- alignment: right -->
<span style="color:grey">credits to Mike</span>
<!-- new_line -->
<!-- end_slide -->

# Contribuire a Haiku

* **Codice / patch** → issue tracker & code review; repo principale su GitHub. 
* **Traduzioni (i18n / l10n)** → Pootle per l’interfaccia, web-tool per la User Guide; Polyglot per app di terze parti.
* **Packaging / HaikuPorts**, **Testing/QA**, **Documentazione**, **Grafica/UI** → “Getting involved” ha la panoramica.

<span style="color:blue">Come iniziare</span>  
1) Crea account su **Pootle** (interfaccia) e chiedi accesso al team IT.  
2) Per la **User Guide**, chiedi credenziali al language manager (tool dedicato).  
3) Partecipa alla ML **haiku-i18n** per coordinarti.  

![OpenBeOS Shell](images/2001_OpenBeOS_shell.jpeg)

<!-- end_slide -->

# Localizzazione italiana 🇮🇹

* Portale i18n: hub ufficiale per UI, User Guide e risorse.
* **Stato traduzioni (progetto complessivo)**: ~**62%** stringhe tradotte su Pootle (tutte le lingue). 
* **Contributor IT (HaikuDepot Server)**: *zumikkebe*, *Luca D’Amico* citati tra i localizzatori. 
* Nota: statistiche Pootle possono risultare temporaneamente incoerenti durante i refresh.

<span style="color:green">Call to action</span>  
* Scegli un modulo (UI / User Guide) e prendi 10 stringhe: qualità > quantità.  
* Mantieni coerenza terminologica (Locale & Linee guida).  

<!-- end_slide -->

# Comunità italiana — itHUG 🇮🇹

<span style="color:blue">Haiku User Group Italia (itHUG)</span>

* Canale/Chat Telegram: **https://t.me/haikuitalia**
* Supporto utenti: installazione, troubleshooting, knowhow
* Networking: trovare chi porta software su Haiku / HaikuPorts
* Eventi & call: FreedomBytes, meetup informali, call to action

👉 Unisciti ora: <span style="color:green">https://t.me/haikuitalia</span>

<!-- end_slide -->

# Licenze nel progetto Haiku OS

**Licenza principale:** <span style="color:blue">MIT License</span>  
→ Tutto il codice originale di Haiku è rilasciato sotto la licenza MIT, una licenza *permissiva* che consente:
* uso commerciale;
* modifica e redistribuzione libera;
* incorporazione in progetti chiusi (mantenendo avviso di copyright e licenza).

<!-- end_slide -->

# Altre licenze presenti

**1. BSD e MIT-like (terze parti)**
* Alcuni driver, librerie o utility derivate da FreeBSD, NetBSD, o progetti compatibili.  
* Compatibili con MIT, nessun conflitto diretto.

**2. LGPL (alcune librerie multimediali e grafiche)**
* Permette uso dinamico (linking) anche in progetti proprietari, ma non l’incorporazione diretta.  
* Le modifiche al codice LGPL devono restare aperte.

**3. Be Sample Code License**
* Provenienza: frammenti di codice rilasciati da Be Inc. (creatori originali di BeOS).  
* Condizioni principali:
  - uso consentito solo per scopi dimostrativi, studio o sviluppo compatibile con BeOS/Haiku;  
  - obbligo di mantenere note di copyright e riferimenti a Be Inc.;  
  - nessuna garanzia, nessun diritto d’uso del marchio Be.  
* In Haiku viene mantenuta solo dove serve per compatibilità binaria/storica.

<!-- end_slide -->

# Considerazioni pratiche

* **Compatibilità interna:** tutte le licenze in Haiku (MIT, BSD, LGPL, Be Sample Code) risultano *compatibili* tra loro a fini di distribuzione.  
* **Uso commerciale:** consentito, ma <span style="color:blue">marchio “Haiku”</span> e logo restano tutelati — non riutilizzabili per fork non approvati.  
* **Contributi esterni:** i contributor devono accettare la licenza MIT per nuovo codice.  
* **Codice misto:** eventuali parti sotto LGPL o Be Sample Code License devono essere mantenute chiaramente separate e documentate.

<span style="color:green">In sintesi:</span>  
Haiku adotta un modello aperto e pragmatico: MIT come base universale, con tolleranza per licenze compatibili e rispetto delle origini BeOS.

<!-- end_slide -->

# Grazie!
<span style="color:green">Domande?</span>
<!-- new_line -->
<!-- new_line -->
![BeOS Teapot](images/utah_teapot.png)
