Wine

Wine Windowsen APIaren (Win16 eta Win32) berrezarpen aske bat da, hau da, Windowsen erabiltzeko eginak dauden programak Unixen familian exekutatzea ahalbidetzen duen proiektu bat. Honekin, MS-DOS, Windows 3.11, Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP eta Windows Vistarako eginak dauden programak erabili ditzakegu. Winen erabiltzen diren Windows programak, bertako programak balira bezala lan egiten dute emulatzaileen ezaugarririk gabe, mahaigaineko aplikazioen antzeko itxurarekin. Oraindik dago aldaketa prozesuan sartuta eta ez da egokia erabilera orokorrerako. Hala ere, erabiltzaileek erabilgarria aurkitzen dute Windows programak jorratzeko.

Wine izena, Wine Is Not an Emulator akronimo errekurtsibotik dator. Teknikoki izendapen hau egiazkoa da Wine emulatzaile bat ez delako, baizik eta Windowsen programentzako bateragarritasun kapa bat. Hala ere, erabiltzaile askorentzat, Wine emulatzaile baten modura lan egiten du, eta hau WINdows Emulator akronimoarekin bat dator.

Winek ez du Microsoft Windows behar lan egiteko, bere API funtsezkoaren inplementazio aske bat delako, kode librean eta Microsoftetik guztiz askea. Alabaina, Winek, Windowsen jatorrizko DLL itxiak erabili ditzake erabilgarriak egonez gero, kasu konkretu batzuetan, errendimendu altuagoa lortzeko.

Winek, garapenezko Windows aplikazioen iturri kodea Unixera eramateko tresna-multzoa dauka. Baita programa kargagailu bat ere, zeinek Windows 2.0/3.x/9X/ME/NT/2000/XP/Vista-rako programak aldaketarik gabe exekutatzea ahalbidetzen duen GNU/Linux, BSD eta Solaris bezalako Unix batzuetan.

Historia 
Wine proiektua 1993. urtean hasi zen, Windows 3.11 bertsioaren garaian. Proiektua comp.os.linux eztabaidetan hasi zen, Eric Youngdale eta Bob Amstadt programatzaileek lehenengo bertsioa sortu zutela. Wine emulatzaile bat ez izatearen arrazoia, emulatzaileek programa bat bizi den giroa bikoiztu nahi dutelako da, prozesadore konkretu baten arkitekturaren simulazioa barne. Bob Amstadt izan zen lehenengo koordinatzailea, baina denbora gutxian, Alexandre Julliardek ordezkatu zuen, gaur egun koordinatzailea dena. Urteak igarota, beste Unixentzako ezaugarriak gehitu dira, baita Win32rentzako aplikazioak ere.

2002. urtearen erdialderantz, milioi bat lerro baino gehiagoko C lengoaian idatzitako iturri kodea zuen aplikazio bat garatuta zegoen, 300 programatzaile baino gehiagoko talde batekin. Proiektuak, gehiegi aurreratzen ez zuen denbora tarteak izan zituen. Baina 2003. urtean, Windowsen erabilitako programak, hala nola, Microsoft Office edo Internet Explorer, Unixen exekutatzea posible izan zen Wineri esker.

Proiektuak eragozpen handiak izan zituen programatzaileentzat, gehien bat Windowsen APIaren dokumentazioa eskasa zelaren ondorioz. Nahiz eta API Win32ren funtzio gehienak era egokian dokumentaturik egon, atal batzuk daude, artxiboen formatua eta protokoloak esaterako, oraindik dokumentatutako espezifikaziorik ez dituztenak.

2003. urtearen hasieran Winek programa ezagun asko exekutatu ahal zituen (Lotus Notes edo Microsoft Officen bertsio batzuk besteak beste) portaera eta egonkortasun aldakorrekin. Aplikazio bakoitzaren funtzionamenduaren arrakasta, Windowsen liburutegi dinamikoen (DLL) erabilpenaren ondorioz sortzen da.

Laguntzaileak 
Corel software enpresak laguntza handia eman zuen proiektu honetarako, programatzaile nagusienetako bat eskainiz: Alexandre Julliard, bigarren mailako beste programatzaile askorekin. Baina arazo ekonomikoak zirela eta, Corelen laguntza amaitu egin zen.

Beste erakunde batzuk proiektua bultzatzeko ahalegin komertzialak ere egin dituzte, CodeWeavers edo Linspire enpresek besteak beste. CodeWeaversek bertsio komertzial bat garatu du, itxia eta estetikoki Wine baino erakargarriagoa. CrossOver Office izenarekin komertzializatzen da. Gainera, Wine proiektuan parte hartzen du, bai finantzatzen bai adabakiak idatziz ere.

Wineren garapen ofiziala Windowsen APIaren inplementazio egoki batera bideratuta dago, nahiz eta atzeratuta egon arlo hauetan, bere 1.0 bertsiotik aurrera (2008ko udan) Windowserako diseinatuta dauden aplikazioak errore eskas batzuekin exekutatzeko gai da.

Wineren iturburu kodea erantsi duten beste proiektu batzuk Rewind eta ReactOS dira.

Lizentzia 
Wineren lizentziaren ibilbidean, eztabaidak sortu ditu adituen artean. Lizentzia ematearen arazoa, bi arlo nagusien artean dago: Wineren berezko lizentzia eta Winelib erabiliz sortutako aplikazioen lizentzia.

Hasieran, BSD (Berkeley Software Distribution) lizentzia, Berkeley softwarearen banaketa software librearen taldearen barruan dagoena, hartu zuen. Baina 1999. urtearen amaieran lizentzia mota aldatzeko errieta hasi zen. Wine garatu zutenek ez zuten lizentzia aldaketa beharrezkoa ikusten eta X11 lizentzia, BSD lizentziaren eratorri bat, izan zen bozketan gehiengoa lortu zuena. Bozketa berri bat egin zen eta 2000. urteko urtarrilean Julliardek iragarri zuen Wineren lizentzia X11 izango zela.

2002ko martxoan Wineren garatzaile libre eta komertzialen artean inkesta bat antolatu zen, haien iritzia jakiteko lizentziaren tirabiraren inguruan. Gatazken ostean, LGPL (Lesser General Public License) lizentzia, GNUren murriztutako lizentzia publiko orokorra software librearen taldekoa baita ere, ezartzea erabaki zen. LGPL lizentzia, gehienetan, copyleft bezala adierazten da. Gaur egun horixe da Wineren lizentzia.

Winek exekutatu ditzakeen aplikazioak 

Gaur egun Winek hainbat aplikazio exekutatu ditzake:
 Microsoft Office
 Multimedia aplikazioak, hala nola, Quick Time eta Windows Media Player
 Jokoak, hala nola, Max Payne , Spore , Counter-Strike: Source Retail /Steam , Call of Duty 2 1.00 , World of Warcraft 3.0.x beste askoren artean.
 
 Photoshop CS2 (9.0)

Onurak 
Winek onurak sortu ditzake Windowsen gain:

 Unix-en puntu garrantzitsuenetarikoetatik abantailak hartzea ahalbidetzen du (egonkortasun eta flexibilitatea beste askoren artean)
 Posible egiten du Windowsen aplikazioetara deitzea Unix sortu ditzakeen script-etatik (intrukzio multzoak). Script horiek, Unix ingurunea erabili dezakete hedapen osoan.
 Wine erabiliz, Windowsen aplikazioetara iritsi gaitezke nahiz eta aurkitzeko zailak izan.
 Erabiltzaile gutxi erabili arren, erabilgarria da: Wine instalatu Linux zerbitzari batean eta Windowsen aplikazioak erabili daitezke edozein terminaletik.
 Existitzen diren Windowsen aplikazioak erabilgarri jartzeko web-ean VNC eta Java zerbitzaria jorratuz erabiltzen da.
 Open Source Softwarea da, beraz, erabiltzaileen beharretara egokitu daiteke.

Ezaugarri nagusiak

Bateragarritasun bitarra 
 MS-DOS eta Windows 3.x/9x/NT/2000/XP/2003/Vista/7-ren familientzako programentzat sostengua.
 32 eta 16 biteko x86 kodea.
 INTxx modu dei errealak erabiliz programentzako etendura liburutegiak.
 Thunking (16 biteko DOS makina birtual baten eraketa (VDM) 32 biteko batean, ondorioz bateragarritasuna dago kode zaharra erabiltzen dituzten aplikazioetarako edo sistema deietarako) gaitasun handiak.
 Liburutegi dinamiko (DLL) gehiago gehitzeko ahalmena, Windowsekoak barne C:\Windows\System32 karpetan daudenak, Winen instalatu daitezke liburutegiak ~/.wine/drive_c/windows/system32 karpetan kopiatuz.
 Erroreen aurkako ebazpenak hobetzeko alderantzizko ingeniaritzaren diseinua.
 Emulazio azpian dauden Intel ez diren arkitekturen gauzaketa, QEMU ( prozesatzaileen emulatzailea, kode bitarren itzulpena egiten duena) erabiliz.

Grafikoak 
 X11, SDL texto/ttydrv ingrune grafikoetan marraztu dezake.
 Edozein terminalerako pantaila
 GDI euskarri totala era GDI32 euskarri partziala.
 DirectX –en euskarria jokoentzat.
 OpenGL-an oinarritutako jokoentzat eta aplikazioentzat sostengua.
 16 biteko Windowsen sistementzako inprimagailuak erabili ditzake.
 PostScript inprimaketaren barne interfazea.
 Metafitxategi ahalmena.
 Leiho batean edo askoren arteko exekuzio ahalera.
 Msstyle formatozko gai bisualak instalatu ditzake.

Beste ezaugarri batzuk 
 Soinuarentzat sostengua.
 Modem era serie ataka duten gailuentzat sostengua.
 Winsock TCP/IP sare lana.
 ASPI eskanerrak.
 Multi-hizkuntza teklatua.

Wineren APIa 
 32 biteko Windowsentzat diseinatua.
 Eredu programak.
 32 biteko iturri konpilatzailea.
 Unicode kodifikazio ahalmen partziala.
 Arazketa mezu aldagarriak eta barneratutako araztailea.

Ikus, gainera 
 Wine-Doors

Kanpo estekak 

  Wine-ren webgune ofiziala
  Bateragarriak diren programei buruzko informazioa

Software librea
Informatikako akronimoak
Bateragarritasun-geruzak
Plataforma anitzeko softwarea
Konputazio plataformak