# Wine

El Wine és un programa que s'instal·la sobre ordinadors basats en Unix i permet executar-hi aplicacions escrites i compilades per a Microsoft Windows sota un entorn d'escriptori.
El nom 'Wine' deriva de l'acrònim recursiu Wine Is Not an Emulator (el Wine no és un emulador), d'altra banda, algunes persones utilitzen una definició no oficial parlant del Windows Emulator (emulador del Windows). Ja que el nom apareix algunes vegades com a "WINE" i altres com a "wine", els desenvolupadors del projecte han decidit estandarditzar-lo a la forma "Wine".
Els desenvolupadors del Wine van alliberar la primera versió beta del Wine (versió 0.9) el 25 d'octubre de 2005 després de 12 anys de desenvolupament.

## Descripció

Les diverses aplicacions que existeixen són dissenyades per a sistema operatius propis, fet que no permet que aquestes funcionin adequadament quan s'instal·len en un altre sistema operatiu. Un exemple clar d'això són les aplicacions dissenyades sota l'entorn Windows; no poden ser executades en entorns de filosofia lliure tipus Linux, això és degut al fet que tenen un conjunt d'instruccions diferents les quals no permeten que s'entenguin entre sistemes operatius. Un dels principals problemes dels usuaris és que necessiten aplicacions de Windows encara que estiguin usant programari lliure, és per això que va sorgir una aplicació anomenada WINE, la qual és una implementació de codi obert on es poden executar aplicacions de Windows; Aquest programa no requereix cap instal·lació de Windows, tot i així, poden utilitzar arxius dll d'un altre Windows prèviament instal·lat si estan disponibles. El WINE, és una aplicació que permet llegir APIs (Application Programming Interface) de Windows i activar un pont d'aplicació entre ambdós sistemes Windows-Linux.

## Història del projecte

El Wine és una experiència dissenyada l'any 1993 per Eric Youngable i Bob Amstadt, els quals van ser els creadors de la seva primera versió. WINE és destacat entre els emuladors a causa que no utilitza tot l'entorn del sistema, sinó que més aviat utilitza el sistema com a capes, proveint alternatives d'aplicació de les biblioteques del Windows, això el diferencia dels emuladors clàssics com el CrossOver o el VMware els quals emulen el sistema operatiu complet. Així doncs, com el seu nom ho indica, WINE no és un emulador. La idea darrere d'aquest projecte és la de clonar la Win32 API i la Win16. Per entendre d'una manera més clara el funcionament d'aquest programari cal imaginar-lo com una capa de compatibilitat amb Windows. WINE proveeix del següent:
* Un conjunt d'eines de desenvolupament per portar codis font d'aplicacions Windows a Unix.
* Un carregador de programes, el qual permet que moltes aplicacions per a Windows 3.x/9X/ME/NT/2000/XP s'executin sense modificar-se en alguns UNIX per a plataforma Intel com ara GNU/Linux, FreeBSD i Solaris.
A mitjan any 2002, ja es comptava amb una aplicació amb més d'1 milió de línies de codi dissenyada en llenguatge C, a més aquesta aplicació, comptava amb un grup de programadors de més de 300 persones que actuaven en el desenvolupament d'aquesta. A causa de la complexitat del projecte, pels diferents canvis que ocorrien amb les noves versions, de Windows, aquest no va poder alliberar la versió 1.0. El projecte va tenir un temps durant el qual va avançar bastant i, l'any 2003, aplicacions molt utilitzades en l'entorn Windows com el Microsoft Office o l'Internet Explorer van ser possibles d'utilitzar gràcies a Wine. Finalment, aquest projecte porta gran demanda de temps i dedicació per part dels programadors, tot i que encara li falta un element principal; la documentació de les API de Windows. Aquest element s'està realitzant per la gran voluntat de desenvolupament i de programadors d'aquest projecte. Es pot destacar que WINE és una implementació d'API WIN 32 que permet executar la majoria d'aplicacions de Windows en l'equip d'Unix.

## Desenvolupament

El projecte WINE va començar en 1993 per a programes del sistema "Microsoft Windows 3.11". El projecte possiblement es va originar en discussions de comp.os.linux, els programadors Eric Youngdale i Bob Amstadt van crear la seva primera versió. La raó per la qual WINE no és un emulador és que els emuladors tendeixen a duplicar l'entorn complet en què s'executa un programa, incloent-hi la simulació d'una arquitectura de processador determinada. WINE, al contrari, implementa el que podria ser anomenat una capa de compatibilitat, la qual proveeix alternatives a les biblioteques de Windows.
Cap a començaments del 2003, WINE podia executar molts programes populars, com Lotus Notes i algunes versions de Microsoft Office, amb comportaments i estabilitat variables. L'èxit del funcionament de cada aplicació depenen de l'ús de biblioteques dinàmiques (DLL) de Windows.
L'empresa de programari Corel ha ajudat molt al projecte, ocupant temporalment un dels principals desenvolupadors del projecte, Alexandre Julliard, junt amb molts altres programadors secundaris. Aquesta ajuda va ser motivada pel port de la suite ofimàtica de Corel a Linux. Tanmateix, a causa de dificultats econòmiques el suport de Corel ha cessat.
Altres organitzacions han fet esforços comercials per donar suport a el projecte, incloent-hi CodeWeavers, Linspire i TransGaming. CodeWeavers ha desenvolupat una versió de WINE específicament dissenyada per executar Microsoft Office i la comercialitza sota el nom CrossOver Office. TransGaming produeix una versió de WINE dissenyada per executar jocs de Windows. El desenvolupament oficial de WINE està orientat cap a la correcta implementació de l'API de Windows com un tot, i es troba una mica endarrerit en aquestes àrees.
El projecte té una gran demanda de temps i té grans dificultats per als desenvolupadors, o almenys, en part, a causa de la documentació incompleta de l'API de Windows. Malgrat haver-hi la majoria de les funcions API Win32 correctament documentades, existeixen encara moltes àrees com formats d'arxius i protocols per als quals no existeixen especificacions de Microsoft.
Altres projectes que han incorporat part del codi font del Wine són Rewind i ReactOS, en un intent per construir un sistema operatiu compatible amb Windows NT.

## Estat Actual del WINE

D'acord amb un estudi realitzat per Internet per Martinez (2006), demostra que la tendència actual és la migració dels sistemes propietaris (com MAC OS d'Apple o Windows de Microsoft) als sistemes lliures, és per això que els resultats retornen que l'aplicació WINE és bastant usada amb relació a les altres amb una demanda del 33% dels enquestats mentre que el 16,8% utilitza el VMware i tot just un 7% usa l'aplicació CrossOver, amb relació a la porció de la població que no n'utilitza cap, que va ser d'un 39%, permet demostrar que cada dia l'ús d'aplicacions Windows sota usuaris de plataformes lliures és menys usual.
Recentment el projecte WINE va llançar la seva versió beta 1.0 que permet les següents millores amb relació a les versions alfa, de les quals es pot esmentar un millor suport de Ratolí en els jocs, aplicacions amb ús de llibreries Open Gl, maneig de nous estats en DIRECT3D, millora del sistema d'àudio, entre altres grans avantatges pel que la converteix en una bona aplicació a l'hora de ser seleccionada.

## Característiques
### Compatibilitat binaria

* Suport per a productes de la família Windows 9x/NT/XP, Windows 3.x i DOS.
* Suport per a crides de comandes del Windows de 32 i 16 bits.
* Còdi x86 32 i 16 bits.
* Llibreries extenses d'interrupcions per a programes utilitzant crides de mode real INTxx.
* Capacitats avançades de thunking.
* Possibilitat d'usar llibreries dinàmiques (DLL)s.
* Disseny d'enginyeria inversa per millorar la solució davant d'errades.

### Gràfics

* Pot dibuixar en entorns gràfics basats en X11, SDL text/ttydrv.
* Pantalla remota per a qualsevol terminal X.
* Suporta totalment GDI i parcialment GDI32.
* Suport parcial de DirectX per a jocs.
* Pot utilitzar impressores per a sistemes Windows de 16 bits de forma nativa.
* Interfície interna d'impressió PostScript.
* Capacitat de 'meta-arxiu|arxivament' '.
* Capacitat d'execució en una o diverses finestres.

### Altres característiques

* Suport acceptable de so i entrades alternatives.
* Suporta mòdems o dispositius per port sèrie.
* Treballa en xarxa amb Winsock TCP/IP.
* Suporta escàners ASPI.
* Suport de controls avançats típics de programes Windows de 32 bits.

### Wine API

* Dissenyat per ser compatible amb codi per a Windows de 32 bits.
* Programes de mostra.
* Documentació generada automàticament de les API.
* Compilador font de 32 bits.
* Capacitat parcial d'unicode.
* Depurador integrat i missatges de rastreig configurables.

## Referències

Viccionari