Wine

Historie

Wine ble startet av Bob Amstadt og Eric Youngdale i 1993 etter diskusjoner på Usenet i comp.os.linux. I begynnelsen søkte det å støtte 16-bit Windows 3.x-applikasjoner, men i dag er fokuset på 32-bits applikasjoner. Prosjektet har blitt ledet av Alexandre Julliard siden 1994.
Utviklerne skriver Wine hovedsakelig for Linux, men Mac OS X-, FreeBSD- og Solaris-porteringene er godt oppdatert.
Prosjektet har vist seg å være tidkrevende og vanskelig for utviklerne, delvis på grunn av ufullstendig og feil dokumentasjon av Windows API. Selv om Microsoft har dokumentert de fleste Win32-funksjonene, er noen områder, slik som filformater og protokoller, ikke offisielt dokumentert i det hele tatt. Det er også udokumenterte kernelnivå-funksjoner og obskure feilkodinger som Wine må duplikere nøyaktig for å la noen programmer fungere skikkelig. Det har ført til at det har vært nødvendig å kunne reverse engineere mange funksjoner og filformater.
Selskapet Corel assisterte prosjektet en stund, mest ved å ansette Julliard for å jobbe med Wine. Corel hadde interesse i å få WordPerfect, Corels kontorpakke til å kjøre på Linux. Men etter at Microsoft gjorde store investeringer i Corel, droppet Corel alle Linux-relaterte prosjekter og Wine-innsatsen stoppet. CodeWeavers har i dag ansatt Julliard og mange andre Wine-utviklere for å jobbe med Wine og CrossOver, CodeWeavers støttede versjon av Wine som også benytter noe ekstra proprietær kode.
Wine-prosjektet ble opprinnelig utgitt under samme MIT-lisens som X vindusystemet, men på grunn av bekymringer om at proprietære versjoner av Wine ikke skulle bidra tilbake med kode, blir Wine fra og med mars 2002 utgitt under LGPL.

Hvorfor er Wine nødvendig?

Operativsystemet Windows, for personlige datamaskiner, har en meget høy markedsandel i mange land og generelt verden over. Et tilsvarende stort antall profesjonelle og private brukere er således henvist til – eller velger selv – å bruke programmer som er utviklet for denne plattformen. Imidlertid er det ikke alle som ønsker eller har anledning til å benytte Windows. I tillegg er dette operativsystemet på grunn av sin utbredelse mest utsatt for angrep fra datavirus og trojanske hester. Ved siden av at indviduelle brukere beskytter seg ved bruk av alternative operativsystemer (og eventuell bruk av Windows-emuleringsprogramvare), kan dette også bidra til å hemme spredning av virus i større omfang. En del sikkerhetsanalytikere i USA regner i dag virustrusselen som en fare for nasjonal sikkerhet.

Funksjonalitet

I dag kjører Wine en del programvare stabilt og de fleste programmer med mindre feil. De fleste opprinnelige Windows DLL-filene som er nødvendige for å kjøre 32-bit Windows binærefiler, har kompatible erstatninger i Wine.
Utviklerne av Direct3D-delene av Wine har fortsatt med å implementere nye egenskaper, som pikselskyggeleggere for å øke spillstøtten.
Wine kan også benytte originale Windows DLL-filer, og dermed øke funksjonaliteten, men da kreves en Windowslisens.

Verktøy for Wine

winecfg er et GUI-basert konfigurasjonsverktøy for Wine. Winecfg gjør det lettere å konfigurere Wine ved at det blir unødvendig å redigere registeret direkte.
WineTools er et GUI-basert installasjonsprogram for omtrent 90 Windowsprogrammer som kan benytte Wine. Programmet er i stand til å håndtere Internet Explorer 6, Photoshop 7.0, Illustrator 9.0, og mange andre programmer.
Wine-Doors er et program-håndteringsverktøy for GNOME, som gir Wine nye funksjoner. Wine-Doors er et alternativ til WineTools som søker å forbedre WineTools egenskaper og utvide den opprinnelige idéen med et mer moderne design.
WineBot er et program-håndteringsverktøy som skal fungere tilsvarende et Linux-pakkesystem som apt/dpkg/rpm. Prosjektet søker datakompatibilitet med Wine-Doors i tillegg til en plattform for å spore hacks nødvendig for å installere forskjellige programmer. Det søker også å tilby et rammeverk for automatisert regresjonstesting for selve Wine-prosjektet.
WineXS er et program som tilbyr en enkel GUI for ett-klikks tilgang til Wine-registeret, winecfg og en rekke andre tjenester. Det har en installasjonsopsjon som skal spare brukeren fra å måtte huske hvor hvert enkelt program er.

Microsoft og Wine

Microsoft har generelt sett ikke uttalt seg offentlig om Wine. Allikevel vil Microsoft Update blokkere oppdateringer til Microsoft-programmer som kjører i Wine-baserte miljøer. 16. februar 2005 oppdaget Ivan Leo Puoti at Microsoft hadde begynt å sjekke Windowsregisteret for Wines konfigurasjonsnøkkel og blokkere Windows Update for alle komponenter. Puoti skrev (oversatt), «... selv om dette er bare et innledende forsøk, ser det ut til at de forsøker å diskriminere Wine-brukere. Selv om dette kan være akseptabelt for operativsystemkomponenter/-oppdateringer, er det sannsynligvis et brudd på konkurranselovgivning for alle andre nedlastinger. Det er også den første gangen Microsoft har anerkjent eksistensen av Wine.»
Windows Genuine Advantage (WGA) leter også etter Wines registernøkler, og i WGAs ofte stilte spørsmål heter det at WGA, designmessig, ikke vil kjøre under Wine, siden Wine ikke representerer «genuin Windows», som beskrevet i WGAs FAQ (oversatt): «Når WGA-valideringen oppdager at systemet kjører WINE, vil det gjøre brukere oppmerksom på at de ikke bruker en genuin versjon av Windows, og det vil ikke tillate genuine Windowsnedlastinger til systemet». Ikke desto mindre har det sirkulert noen rapporter om at WGA-systemet har fungert i Wine. I  WGAs FAQ heter det imidlertid også at (oversatt): «Det er viktig å bemerke at Wine-brukere, og andre brukere av ikke-genuin Windows, kan fortsette å laste ned oppdateringer til de fleste Microsoftapplikasjoner fra Microsofts programspesifikke sider, slik som Office Update.»
Internet Explorer sjekker under installasjonen for WGA, slik at brukere ikke kan installere det på Linux-systemer som bruker Wine uten å modifisere Internet Explorers installasjonsprogram eller selve Wine.

DirectX

I 2007 var DirectX 10-støtte i Wine under planlegning. DirectX 9.0c er støttet, og det samme gjelder endel funksjonalitet i senere versjoner.

OpenGL

Spill som baserer seg på OpenGL for å vise grafikken ryktes å kjøre lettere i Wine enn DirectX-baserte spill. Dette kan ha noe å gjøre med at OpenGL er en åpen standard og har opprinnelig støtte i Linux, mens DirectX er en proprietær standard som må implementeres eller oversettes til OpenGL. Windows implementasjon av OpenGL WGL er allikevel ikke helt lik de Linux har (GLX), og det kreves litt arbeid å oversette WGL-funksjoner til GLX-funksjoner.

Proton

Valves spill- og programplattform Steam introduserte i august 2018 en teknologi ved navn Proton som gjør det mulig å bruke de fleste og applikasjoner fra plattformen på Linux.