Legale
Su cosa è costruito Runlix
Ogni componente di terzi che Runlix spedisce o traduce, con la licenza verificata alla fonte. L'elenco è controllato da un test: una dipendenza non attribuita non arriva a un rilascio.
Aggiornato 2026-09-12
Runlix non è scritto dal nulla. Sta sopra MLX di Apple, su un gruppo di casse Rust, su
Avalonia, e — per le architetture dei modelli — su codice tradotto da mlx-lm, non
semplicemente chiamato.
Questa pagina rispecchia il file NOTICE del repository, e quel file non è tenuto in piedi
dalle buone intenzioni: un test fa fallire la build se una dipendenza diretta
dell'applicazione, dei suoi test o del motore non compare lì. Una dipendenza non attribuita
non arriva a un rilascio. Ogni licenza qui sotto è stata letta dai metadati del pacchetto, non
dalla memoria.
Codice nativo — MLX
MLX — MIT, © 2023 Apple Inc. Estratta dalla wheel PyPI mlx-metal; libmlx.dylib e
mlx.metallib sono ridistribuiti dentro il pacchetto.
mlx-c — MIT, © 2023-2024 Apple Inc. L'API C di MLX, compilata da sorgente; libmlxc.dylib
è ridistribuita. I sorgenti sono vendorizzati intatti byte per byte, e le nostre correzioni
vivono come file di patch separati — una modifica fatta in loco sparirebbe al primo
aggiornamento, e sparirebbe in silenzio.
Codice tradotto — le architetture dei modelli
mlx-lm — MIT, © 2023 Apple Inc.
Le architetture nel motore sono portate da mlx_lm/models/. Non è codice copiato: è una
traduzione in Rust idiomatico, e la corrispondenza vale a livello di file interi, non di righe.
mlx-lm fa anche da oracolo di riferimento che decide se la traduzione è corretta.
| Nostra | Viene da | Versione |
|---|---|---|
| phi3 | mlx_lm/models/phi3.py |
mlx-lm 0.31.3 |
| llama | mlx_lm/models/llama.py |
mlx-lm 0.31.3 |
| qwen2, qwen3 | mlx_lm/models/qwen2.py |
mlx-lm 0.31.3 |
| gemma3 | mlx_lm/models/gemma3_text.py |
mlx-lm 0.31.3 |
| deepseek | mlx_lm/models/deepseek_v2.py |
mlx-lm 0.31.3 |
| RoPE | mlx_lm/models/rope_utils.py |
mlx-lm 0.31.3 |
| maschere | mlx_lm/models/base.py |
mlx-lm 0.31.3 |
Una copia congelata dei sorgenti da cui si traduce vive nel repository con la sua versione registrata, ed è così che il progetto si accorge quando il codice a monte cambia. Nient'altro lo farebbe: nessun compilatore e nessun gestore di pacchetti avviserà mai che del codice derivato si è allontanato dalla sua origine.
Gli encoder per i vettori del testo sono tradotti allo stesso modo, da mlx-embeddings — MIT, © Prince Canuma — e verificati contro di lui come oracolo. Dall'applicazione non sono ancora raggiungibili.
Casse Rust
tokenizers — Apache-2.0, Hugging Face · minijinja e minijinja-contrib — Apache-2.0, Armin Ronacher · serde_json — MIT oppure Apache-2.0.
minijinja-contrib si guadagna il posto per un motivo preciso: i chat template sono scritti per
il Jinja2 di Python e chiamano metodi di Python sulle stringhe. Il suo modulo pycompat è ciò
che li fa rendere.
Lo scaricatore è un processo a parte e porta hf-hub — Apache-2.0, Hugging Face. A parte
perché hf-hub si trascina dietro tokio, reqwest e hyper: 356 casse contro le 84 del motore. Il
motore che il .NET carica in processo resta a 84.
Le dipendenze transitive sono registrate nel file di lock del motore.
Pacchetti .NET
Avalonia e i suoi pacchetti Desktop, Fluent, font Inter, ReactiveUI, Headless e Skia — MIT. Microsoft.Data.Sqlite — MIT. Tmds.DBus.Protocol — MIT.
LiveMarkdown.Avalonia — Apache-2.0, di DearVa, versione 1.12.2 — è vendorizzata invece che referenziata, col testo integrale della licenza accanto ai sorgenti. È lei a rendere il Markdown vivo delle risposte in streaming. Si porta dietro Markdig (BSD-2-Clause) e TextMateSharp con le sue grammatiche (MIT, ognuna col proprio testo di licenza nel pacchetto) per l'evidenziazione della sintassi.
Solo per i test: xunit (Apache-2.0), Xunit.SkippableFact (MS-PL), Microsoft.NET.Test.Sdk (MIT), e i pacchetti headless di Avalonia, che disegnano l'interfaccia dentro un PNG senza schermo e senza permessi.
Questo sito
Servito da ASP.NET Core su .NET 10, reso sul server, senza JavaScript spedito al tuo browser. I
caratteri sono Newsreader, Inter e IBM Plex Mono, tutti sotto SIL Open Font License, serviti da
questo dominio e non da Google Fonts. È il motivo per cui la politica di sicurezza dei contenuti
può essere default-src 'none' con 'self': non c'è nessun host esterno che questo sito
contatti, e quindi nessun terzo da dichiarare.
Da dove viene Runlix
Runlix nasce dal codice di OllamaManager, che resta congelato e funzionante su
github.com/alexander64/ollamanager. La roadmap racconta cosa è cambiato e perché.