Wine
Wine on avoimen lähdekoodin sovellus, jonka tarkoituksena on mahdollistaa Microsoft Windowsille kirjoitettujen ohjelmien käyttäminen Unixin kaltaisissa käyttöjärjestelmissä. Wineen kuuluu myös Winelib-ohjelmakirjasto, jonka avulla kehittäjät voivat kääntää Windows-ohjelmia auttaakseen niiden porttaamista (muuntamista) Unixin kaltaisille käyttöjärjestelmille. Vaikka nimestä näkee joskus käytettävän muotoja "WINE" ja "wine", projektin kehittäjät ovat ilmoittaneet virallisen muodon olevan "Wine".
Wine ei ole emulaattori vaan yhteensopivuuskerros, jossa on vaihtoehtoiset toteutukset Windows-ohjelmien käyttämistä DLL-kirjastoista ja prosessi joka korvaa Windows NT:n ytimen. Tekijänoikeusongelmien välttämiseksi Wine kirjoitetaan enimmäkseen takaisinmallinnusta hyväksi käyttäen.
Nimi "Wine" oli alun perin akronyymi sanoista WINdows Emulator, mutta se muuttui myöhemmin rekursiiviseksi backronyymiksi Wine Is Not an Emulator".
Wine-projektin aloittivat vuonna 1993 Bob Amstad ja Eric Youngdale ajatuksena ajaa Windows-ohjelmia Linuxissa. Alun perin se oli tarkoitettu ajamaan 16-bittisiä Windows 3.x -ohjelmia, mutta nykyään painopiste on Win32 APIssa ja 32-bittisissä Windows-ohjelmissa. Alexandre Julliard on ollut projektin johtaja vuodesta 1994.
Sen sijaan, että Wine olisi täysi emulaattori, se tarjoaa yhteensopivuuskerroksen, joka sisältää vaihtoehtoisia toteutuksia normaaleille Windows-ohjelmien kutsuille.
Wineä kehitetään pääsääntöisesti Linuxille, mutta myös FreeBSD ja Solaris ovat tuettuja.
Projekti on ollut aikaa vievää ja vaikeaa kehittäjille, ainakin keskeneräisen, puutteellisen tai väärän Win32 API:n dokumentaation takia. Vaikka useimmat Win32:n funktiot on dokumentoitu, joillekin osa-alueille kuten tiedostoformaateille ja yhteyskäytännöille ei ole virallisia Microsoftin spesifikaatioita. Lisäksi Windows-APIssa on useita Microsoftin tekemiä ohjelmien yhteensopivuuskorjauksia, joita ei ole dokumentoitu missään. Sen takia Wine-kehittäjien on täytynyt toteuttaa monia funktiokutsuja ja tiedostoformaatteja käyttäen takaisinmallinnusta (reverse engineering).
Vasta 25. lokakuuta 2005, yli kehityksen jälkeen, Winestä julkaistiin ensimmäinen varsinainen beta-versio versionumeroltaan 0.9. Tämän jälkeen uusia beta-versioita julkaistiin noin kahden viikon välein yli kahden ja puolen vuoden ajan. Versio 1.0 julkaistiin lopulta 17. kesäkuuta 2008, kehitystyön tuloksena.
Wine 2.0 julkaistiin 24. tammikuuta 2017 ja Wine 3.0 julkaistiin 18. tammikuuta 2018.
Linuxissa Wine asennetaan yleensä jakelun paketinhallinnalla tai kääntämällä lähdekoodista. Debianiin pohjautuvissa jakeluissa, kuten Ubuntussa, ohjelma asennetaan päätteessä apt-getillä tai sen graafisella edustaohjelmalla Synapticilla. Komentorivillä asennus suoritetaan seuraavalla komennolla: codice_1
Winen toimintaperiaate on muuttaa Windows-ohjelmien käyttämän Win32 API:n kutsut vastaaviksi tietokoneen käyttöjärjestelmän ymmärtämiksi kutsuiksi.
Kun ohjelma käynnistetään se yrittää lähettää käyttöjärjestelmälle tiettyjä viestejä kuten muistin varaamiseen ja ohjelman ajamiseen tarvittavia muuttujia. Koska alla oleva käyttöjärjestelmä ei ymmärrä ohjelman käyttämän Win32 API:n kutsuja on Winen tulkattava käytetyt kutsut käyttöjärjestelmän ymmärtämään muotoon. Windows-ohjelma taas ei ymmärrä käyttöjärjestelmän vastauksia joten Wine tulkkaa käyttöjärjestelmän vastaukset Windows ohjelman ymmärtämään muotoon jolloin ohjelma pystyy toimimaan ikään kuin se ajettaisiin Windows-ympäristössä.
Vastaavalla tavalla toimiva ohjelma on OS X:n Classic-tulkki.
Microsoft ei ole ilmaissut varsinaista julkilausumaa liittyen Wineen. Microsoftin päivitystyökalu estää kuitenkin Microsoft-sovellusten päivittämisen Winen kautta. Wine-kehittäjä Ivan Leo Puoti huomasi 16. helmikuuta 2005 Microsoftin alkaneen estää osien päivittämisen, jos se havaitsee päivitysten yhteydessä Wineen viittaavia asetusavaimia Windowsin rekisteristä. Puoti kertoi, että näin ”Microsoft on ensimmäistä kertaa myöntänyt Winen olemassaolon.”
Windowsin aitoustarkastuskin tarkastaa, onko Wine-rekisteriavaimia olemassa. Windowsin aitoustarkastuksen usein kysytyissä kysymyksissä kerrotaan, että aitoustarkastus ei toimi Winessä, sillä Wine ei ole ”aito Windows”. Huomattuaan Wine-järjestelmän olevan käytössä aitoustarkastus kertoo käyttäjälle epäaidon Windowsin käytöstä, ja estää aitoustarkastusta vaativien ohjelmien lataamisen. Joistakin ohjelmistaan kuten Internet Explorer 7:stä ja Windows Media Playerista Microsoft on poistanut aitoustarkastuksen käytöstä helpottaen täten kyseisten sovellusten käyttöä Winessä.
Microsoft antaa aitoustarkastukseen liittyvissä kysymyksissä kuitenkin tietoa siitä, kuinka käyttäjä voi saada päivitykset useimpiin Microsoft-sovelluksiin Microsoftin verkkosivulta, vaikka käytössä on Wine: