Wine è un software che permette di eseguire su GNU/Linux programmi per Windows senza che vi sia la presenza del sistema operativo Microsoft. Questa “magia” è possibile perché Wine implementa uno strato intermedio tra i due sistemi, in pratica traduce le richieste del programma Windows in chiamate native GNU/Linux. Sembrerebbe quasi un non senso, visto che, giorno dopo giorno, sono sempre di più gliapplicativi nativi per GNU/Linux in grado di coprire il più vastonumero di esigenze, ma quasi tutti dispongono di una utility o di un programma che sono disponibili solo per Windows e quindi grazie a Wine possono usare il sistema operativo OpenSource senza rinunce. Wine è quindi un prezioso strumento per aiutare la migrazione verso GNU/Linux, visto che anche gli ambienti più restii al cambio avranno meno scuse a cuiappellarsi.
Come funzionaCome accennato, la compatibilità è del tutto trasparente ed avviene perché Wine, attraverso il suo layer (strato), implementa, in modalità libera, tutte (o almeno la grande maggioranza) le API di Windows. Le API, acronimo di Application Program Interface, sono le singole chiamate che un programma fa al sistema operativo per eseguire determinate funzioni e Wine le intercetta e le traduce in chiamate native per GNU/Linux. In pratica, quando unprogramma farà delle richieste per aprire una finestra o per accedere ad un file sarà Wine a servirle interfacciandosi alle chiamate diI Linux e dei sistemi grafici e quindi l’eseguibile potrà funzionare senza problemi.In questo processo vengono anche chiamate in causa le librerie dinamiche, le ben note dLL, che vengono anch’esse implementate dal progetto; anche se, in casi particolari, Wine è in grado di appoggiarsi a librerie dinamiche di terze parti per incrementare ulteriormente il livello di compatibilità. In pratica bisogna immaginare Wine come un caricatore (o un loader) che lancia e intercetta l’eseguibile Windows e lo rendefunzionante in un ambiente a lui sconosciuto. Come si può intuire è un progetto ambizioso e non è un caso che ci siano voluti tanti anni per arrivare a rilasciare la prima versione stabile, che in questo caso significa anche, la prima versione in grado di implementare quasi tutte le API Windows.