Nota: Este artigo é sobre um programa de computador. Para o filme com Roscoe Arbuckle, veja Wine (1913).

Wine (acrónimo recursivo para WINE Is Not an Emulator, isto é, WINE Não é um Emulador, em tradução livre) é uma camada de compatibilidade para sistemas operativos UNIX que tem como objetivo a implementação da API da Microsoft Windows, sendo liderada por Alexandre Julliard. Desta forma, em teoria, o Wine permite a execução de aplicações desenvolvidas para ambientes Windows nativamente em outros sistemas operacionais. Wine, traduzido literalmente do inglês para o português, significa vinho, o que levou à escolha de uma taça de vinho como logotipo do Wine.

Wine

Captura de ecrã de uma versão do winegecko, uma reimplementação do interior do Internet Explorer feita para o Wine, rodando no Ubuntu
Desenvolvedor Autores do Wine
(1,516)
Plataforma x86-32, x86-64, ARM
Versão estável 9.0[1] (16 de janeiro de 2024; há 2 meses)
Versão em teste 5.1[2] (2 de fevereiro de 2020; há 4 anos)
Idioma(s) Multilingua
Escrito em C
Sistema operativo
Gênero(s) Camada de Compatibilidade
Licença GNU LGPL v2.1+
Estado do desenvolvimento Contínuo
Tamanho 115 MB (variável, depende da instalação)
Página oficial www.winehq.org

Por reimplementar as bibliotecas do Windows, o Wine não é um emulador, não fazendo qualquer emulação para executar software para Windows. A implementação da API do Windows faz-se através da utilização de APIs e funções específicas de ambientes UNIX, sendo apenas necessária a implementação adicional de um carregador de aplicativos no formato PE, capaz de os converter para o formato ELF em tempo de execução.

O WINE atua, então, algo como um "tradutor": toda vez que ocorre uma chamada para a função desenha Cubo que estava implementada na DirectX.dll por exemplo, o Wine traduz esta chamada para uma de suas próprias bibliotecas em que alguém escreveu uma função similar para realizar exactamente o mesmo, desenhar um cubo na tela. Por isto às vezes os jogos que rodam em cima do Wine geram erros, pois executam chamadas a funções que o Wine não sabe como interpretar, isto é, chamam bibliotecas ou funções muito novas que os desenvolvedores do Wine ainda não implementaram. No entanto, o Wine permite a utilização de bibliotecas nativas, apesar de, dado o fato de ser uma aplicação em user-mode num sistema operativo UNIX, nem todas funcionarem. Por exemplo, a utilização do DirectX da Microsoft é uma impossibilidade técnica (e legal).

O Wine ainda disponibiliza a sua própria biblioteca (Winelib) por forma a que o código-fonte dos programas concebidos para Windows possa ser compilado no ambiente UNIX. Assim, programas desenvolvidos para Windows podem ser portados para plataformas UNIX e, inclusivamente, para outras arquitecturas, desde que exista o código fonte. No entanto, os programas compilados com Winelib precisam de ser executados sempre no Wine e, em particular, sempre na mesma versão.

História editar

O nome Wine era inicialmente um acrónimo de WINdows Emulator.[5] Seu significado mais tarde deslocado para o Acrônimo recursivo, Wine Is Not an Emulator.[6] Embora o nome às vezes aparece sob as formas WINE e wine, os desenvolvedores decidiram padronizar para Wine.[7]

Desenvolvimento editar

Bob Amstadt (o líder inicial do projeto) e Eric Youngdale iniciaram o projeto Wine em 1993 com o objetivo de rodar programas Windows no Linux. O projeto foi inspirado por dois produtos da Sun Microsystems, o Wabi para Solaris e a Public Window Initiative — uma tentativa de ter a Windows API totalmente reimplementada como domínio público e um padrão ISO, mas que foi rejeitada por pressões da Microsoft em 1996. O Wine originalmente tinha como alvo os programas para Windows 3.x (16-bit), mas depois passou a focar também em 32-bit e 64-bit. O projeto ganhou corpo em discussões na Usenet no grupo comp.os.linux em junho de 1993. Alexandre Julliard assumiu a liderança do projeto em 1994, e o conduz desde então.

O projeto mostrou-se difícil e demorado para os desenvolvedores, principalmente por causa de documentação incompleta ou incorreta da Windows API. Enquanto a Microsoft documenta extensivamente a maioria das funções, áreas como formato de arquivo e protocolos possuem vários pontos obscuros, ou nenhuma especificação pública oficial. O Windows também possui funções de baixo nível e comportamentos não-documentados que o Wine precisa replicar precisamente de modo que alguns programas funcionem perfeitamente. Consequentemente, o time do Wine fez engenharia reversa em várias chamadas de função e formatos de arquivos. Mais recentemente, alguns desenvolvedores sugeriram táticas como examinar o código fonte de programas de código aberto.

O Wine foi também um dos alfas mais longos de todos. Levou cerca de 15 anos desde o início de seu desenvolvimento em 1993, por Bob Amstadt e Eric Youngdale, até a versão 1.0, lançada em junho de 2008 .[8][9]

Lançamento editar

O projeto Wine foi lançado originalmente na mesma licença MIT que o X Window System, mas devido ao receio de surgirem versões proprietárias que não contribuiriam com o projeto principal, em março de 2002 ele foi relançado sob a licença LGPL.

O projeto lançou oficialmente uma versão beta 0.9 em 25 de outubro de 2005. A versão 1.0 foi lançada em 17 de junho de 2008, após 15 anos de desenvolvimento. A versão 1.2 foi lançada em 16 de julho de 2010, e versões de desenvolvimento continuam a ser lançadas geralmente a cada duas semanas.

O projeto está atualmente na versão 4.0-rc4, desde 28 de dezembro de 2018. Já executa muitos programas, entre eles Adobe Photoshop, DreaMule, FileZilla, Macromedia Flash, Microsoft Office, Corel Draw (até versão 8), Microsoft Internet Explorer, mIRC, uTorrent, Ares Galaxy, Shareaza, Firefox (versão do Windows) e Winamp. O projeto também é capaz de executar diversos e conhecidos jogos como Need for Speed: Underground, Warcraft III, Starcraft, Max Payne, Max Payne 2: The Fall of Max Payne, Counter Strike, Half-Life, Half-life 2, World of Warcraft, Resident Evil 4, Tetris Zone, entre outros.

Colaborações editar

Patrocínio corporativo editar

A principal empresa que patrocina o Wine é a CodeWeavers, da qual Alexandre Julliard é empregado; outros desenvolvedores, tanto do Wine quanto do CrossOver, também são empregados da CodeWeavers.

A Corel se envolveu durante um tempo, dedicando um time de desenvolvedores para trabalhar no Wine sob o comando de Julliard. O interesse da Corel era em portar o Corel WordPerfect Office para o Linux. Posteriormente, a Corel cancelou seus investimentos em projetos relacionados ao Linux após investimentos na empresa feitos pela Microsoft, cancelando inclusive a colaboração com o Wine.

Outro patrocinador inclui a Google, que contratou a CodeWeavers para corrigir bugs do Wine que afetavam o Picasa no Linux; a Google ainda contratou serviços de melhorias para o Adobe Photoshop CS2. O Wine também se beneficia regularmente do programa Google Summer of Code.

Mutualidade editar

O projeto ReactOS é feito em conjunto com o Wine, significando então que as melhorias implementadas no Wine são transferidas ao ReactOS e vice-versa.

Ver também editar

Referências

  1. «Wine 9.0 Released» (em inglês). Consultado em 17 de janeiro de 2024 
  2. «Wine 5.1 Released» (em inglês). Consultado em 2 de fevereiro de 2020 
  3. a b «Download - WineHQ Wiki». Consultado em 31 de outubro de 2018 
  4. https://dl.winehq.org/wine-builds/android/
  5. «WINE (WINdows Emulator) Frequently Asked Questions» (em inglês). Consultado em 8 de Janeiro de 2016 
  6. «Re: WABI available on Linux or not» (em inglês). Consultado em 8 de Janeiro de 2016 
  7. «Why do some people write WINE and not Wine?» (em inglês). Wine Wiki FAQ. 7 de Julho de 2008. Consultado em 8 de Janeiro de 2016. Arquivado do original em 21 de junho de 2011 
  8. «Wine History» (em inglês). Wine HQ. Consultado em 8 de Janeiro de 2016 
  9. «Wine 1.0 Released» (em inglês). Digg. Consultado em 8 de Janeiro de 2016. Arquivado do original em 28 de fevereiro de 2009 

Ligações externas editar