Wine의 대한 생각

지리즈의 이미지

Wine은 오늘날 가장 널리 사용되고 있는 리눅스 어플리케이션(?) 중에 하나다. 이 글을 작성하는 시점의 최신의 Wine 버전은 0.9.40이다. Wine은 WIN32 API를 에뮬레이트하는 것부터 시작되었지만, 다이렉트X, DCOM, Common Dialog와 같은 윈도우에 같이 포함된 Ms사의 라이브러리들을 포팅하기 시작하면서 오늘날에는 아에 윈도우 운영체제를 통째로 구현하는 것에 노력하고 있는 듯하다.

Wine에 대해서 말하자면, 매우 예측이 어려운 럭비볼을 보고 있는 듯하다. 대부분은 버전이 올라 가면서, 성능 및 호환성이 조금 향상되기도 하지만, 0.9.11버전에서는 잘 돌아가는 것이, 0.9.12버전에서는 안돌아가기도 하는 것과 같은 예기치 못한 퇴보도 발생하기도 한다. 대부분의 리눅스용 어플리케이션들은 작은 버전의 향상이라도 매우 기대가 되지만, Wine만큼은 현 시점에 만족한다면 버전업그레이드를 하고 싶지 않은 매우 흔하지 않은 소프트웨어 중에 하나다.

많은 오픈소스 프로젝트가 있지만, Wine만큼 비아냥의 대상이 되는 프로젝트도 없을 것이다. 이 비아냥의 배경에는 아직까지는 안정적이지 못한 성능이나 어플리케이션이나 환경별로 예외처리를 가져가는 땜빵식의 코드와 같은 기술적인 이유등도 있겠지만, 가장 큰 것은 이것이 리눅스 네이티브(Native)에 대한 이단이기도 하기 때문일 것이다. 즉, 리눅스가 운영체제 시장의 독립적인 색깔과 위치를 가지는 것이 아닌, Ms사 윈도우 운영체제에 대한 저가의 대안으로서 리눅스를 각인시키게 할 수 있다는 점이다. (사실, 엄밀히 말해 지금의 현시점도 많은 이들은 리눅스를 윈도우 운영체제의 저가의 대안으로서 보는 시각이 강하다. 나 같은 리눅서에게는 인정할 수 없는 부분이기도 하지만.)

많은 리눅스 발전에 지대한 영향력과 공헌을 하고 있는 리눅스 순혈주의자들에게 있어서, Wine은 양날의 검과 같다. 이것이 Ms사의 제품이 지배하고 있는 운영체제 시장에 리눅스가 아주 빠르게 시장을 잠식해 나갈 수 있는 무기가 될 수도 있지만, 다른 한편 리눅스와 함께 성장해 왔던 많은 오픈소스 커뮤니티에 있어서는 큰 재앙이 될 수도 있다. 성숙되고 잘 만들어진 다양한 윈도우기반의 어플리케이션들이 재빠르게 리눅스 어플리케이션들을 대체하게 될 수도 있기 때문이고, 또한, 많은 유닉스용 소프트웨어들이 Native한 유닉스 플렛폼을 버리고, 보다 넓게 활용이 가능하는 Win32 기반으로 전향할 수도 있는 문제도 발생할 수 있다.

분명한 것은 완벽히 돌아가는 Wine이 세상에 등장한다면(물론 아직 많은 시간이 필요로 하겠지만), 이는 일대 혁명이 될 가능성이 매우 높다는 점이다. 만약 그렇게 되었을 때, 그 이후 운영체제 시장이나 오픈소스의 커뮤니티의 판도가 어떻게 변화해 갈지는 매우 예상하기 어려운 일임에는 틀림없다.

Wine이 발전 방향중에 재미있는 현상중에 하나는 Java나 .Net과 같이 플렛폼화 되어가고 있다는 점이다. X86기반의 CPU에서 운영되는 다양한 운영체제에 포팅되면서 Win32 어플리케이션들이 운영체제 비종속적으로 실행가능해지는 것은 물론 qemu + wine와 같이 x86계열 CPU가 아닌 환경에서도 독립적으로 실행가능한 환경으로 변모해 가고 있다. 마치 Java나 .net이 지향하는 바를 이 애물딴지같은 프로젝트가 해내고 있는 것이다. 만약, 이것이 널리 사용되어진다면, 많은 시간이 지나 Ms사 만큼 시장에 영향을 줄수도 있게 될 수도 있고, 독자적으로 변모하기 시작하면서 심지어면 Ms사의 운영체제에 오히려 설치해서 사용하게 되는 일조차 발생하게 될지도 모른다. (실제로 현재에도 Wine 홈페이지에서는 윈도우용 포트를 다운 받을 수 있다.)

Wine은 참으로 흥미진진한 프로젝트인 것 같다.
그것의 출발 목표에 갇혀 있지 않고 사용자의 요구에 따라 조금씩 진화해 가는 전형적인 오픈소스의 프로젝트의 모습을 엿볼 수도 있고, 그러기 때문에 그것이 어떠한 방향으로 튀게 될지 그리고, 그것이 우리에게 어떠한 기회를 제공하고, 변화를 주게 될지 사뭇 기대하게 한다. 비록 Wine이 Java나 .Net과 같은 하드웨어나 운영체제 독립적인 환경 제공을 애초의 목표로 개발되어진 플렛폼들이 시장의 메인이 될때까지의 과도기로서 위치하게 될 것이 가장 유력하기는 하지만 말이다.

댓글

익명 사용자의 이미지

윈도의 어플리케이션을 사용할 수 있게 한다는 면에서보면 많이 다르긴 하지만 Mac 환경의 vmware, Parallels 도 비슷한 가능성과 문제점을 내포하고 있지 않을까요?

사용자 입장에서는 어떤 가능성의 시장이 있는 지 살펴볼 뿐입니다. ^^

지리즈의 이미지

물론 세부적인 이용방식에도 차이가 나겠지만,
운영체제 구입에 별도의 비용이 필요없다는 점이 가장 큰 차이점이라고 보입니다.

만약에 XP 수준정도의 Win32 어플리케이션 실행능력을 가지고,
지금보다 향상된 컴피즈나 베릴과 같은 GUI를 가진 무료 혹은 저렴한 운영체제가 등장한다면,
MS는 아주 강력한 적수를 만나게 되는 셈일 것입니다.
즉, 사용가능한 어플리케이션의 질과 양이 풍부함이라는 MS운영체제들의 독점적 지휘가 상실되는 것이죠.
이것이 시장에 주는 충격은 매우 엄청날 수 있겠지요.

반면, 물론, vmware와 같은 가상화기술은 독자적인 틈세 시장을 가지고 있기에
나름대로 선전은 하겠지만, Wine하고는 그 추세에 있어서 양상을 많이 달리 할 것이라 예상이 됩니다.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

jedi의 이미지

저도 개인적으로 와인을 이단이라고 생각합니다
"완벽하게 돌아가는 Wine..."은 앞으로 나올 가능성이 잆다고 믿고 있습니다.
왜냐하면 Wine이 추종하는 윈도가 완벽하지 않고, 인간이 만들어서 완벽하게 동작하는 것이 없다고 생각하기 때문이죠.

아무튼 가상화가 뜨고 있는 만큰 와인도 발전하기를 희망합니다. 리늑스에서 오토캐드 쓰고 싶습니다. 지금은 안되는 듯..

+++ 여기부터는 서명입니다. +++
국가 기구의 존속을 위한 최소한의 세금만을 내고, 전체 인민들이 균등한 삶을
영위할 수 있는 착취가 없는 혁명의 그날은 언제나 올 것인가!
-- 조정래, <태백산맥> 중에서, 1986년

+++ 여기부터는 서명입니다. +++
국가 기구의 존속을 위한 최소한의 세금만을 내고, 전체 인민들이 균등한 삶을
영위할 수 있는 착취가 없는 혁명의 그날은 언제나 올 것인가!
-- 조정래, <태백산맥> 중에서, 1986년

지리즈의 이미지

현시점의 Wine을 봐서는 "완벽하게 돌아가는 Wine..."은 앞으로 나올 가능성이 잆다는 믿음이 상당히 근거가 있다고 보입니다.

다만, "어느 수준의 완성도"를 가지게 되고, 이것이 시장에 급속히 퍼진다면
Wine은 더 많은 커뮤니티들과 기업들의 지원을 받을 가능성이 높아질 것 같습니다.
그 진행 모습이 지금 현재 리눅스 커널과 비슷하지 않을까 생각도 듭니다.

반면, 지금 현재의 모습을 봐서는 "어느 수준의 완성도"에 도달할 수 있을지에 자체에 대해서
회의적인 시각을 가지는 것도 타당할 수도 있다고 봅니다.
그럼, 제가 올린 이 포스트의 글과 같은 내용은 그냥 작은 상상에 불가하게 되겠지요.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

익명 사용자의 이미지

Wine이 이단이라면 Mono와 GNUStep도 이단이 되겠군요.

지리즈의 이미지

저는 Wine이 이러한 Mono나 GNUStep과 차별화되는 면이 있다고 보입니다.

Linux가 비록 Linux Is Not UniX라고 하지만, 엄연한 Unix의 클론입니다.
가장 성공한 Unix계열의 제품중에 하나라고도 말할 수도 있겠지요.
Wine이 이러한 정통성에 대한 위협이 될 수 있다는 점을 간과할 수는 없을 겁니다.
그리고, 이에 대해서 탐탁지 않게 여기는 사람들도 있으리라 봅니다.

전통성에 대한 위협이라는 부분은 어디까지나 개인적인 취향이나 신념의 문제일 뿐일 것입니다.
그리고, 이러한 전통성이나 신념에 대한 일탈에 대한 적절한 상징적 표현이
"이단"이라는 단어였다고 생각했습니다.

다른 한편 시장 혹은 커뮤니티에 줄 수 있는 영향력도 고려해 봐야 한다고 생각했습니다.

모노나 GNUStep은 아직까지는 프로젝트 범주자체가 그 스스로 제한되고 있다고 봐야 합니다.
즉, 이를 기반으로하는 어플리케이션이 거의 없습니다.

하지만, Wine은 매우 다릅니다.
마치, 폭포수가 쏟아지듯 다른 쪽에 이미 사용되는 수많은 어플리케이션들이 쏟아져 들어 오는 것이죠.

사실 *Nix 계열도 다양한 어플리케이션들이 있었지만, 대부분 일반 데스크탑 제품은 매우 부족했습니다.
그리고, 이러한 부분을 커뮤니티가 자발적인 메꾸어 가고 있었고, 그러함 속에서 다양한 문화를 꽃피울 수 있었습니다.

그런데, 이러한 것을 조금만 다른 시각에서 보면,
플렛폼의 차이로 인해 보호받고 있었기에 오픈소스 어플리케이션들이 스스로 자생할 수 있었다고 생각할 수도 있습니다.

이럴 경우, 이러한 경계가 무너지게 되면
오픈소스 커뮤니티 전반에 아주 커다란 영향을 줄 수도 있다는 점을 고려해야 한다고 보았습니다.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

정태영의 이미지

막상 구축비용이니 뭐니 얘기를 하지만...

reactOS 의 경우만 봐도 어느정도 이상의 수준까지 발전했지만, 아무도 관심을 가져주지 않는걸 보면 사람들이 MS Windows 가 아닌 다른 운영체제를 사용하지 않는 건 비용도 애플리케이션 문제도 아니라고 생각합니다.

그냥 관성의 법칙을 거스르기엔 그 reactOS 나 gnome, kde, wine 등의 힘이 부족한게 아닐까 싶어요...

--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

지리즈의 이미지

아직 멀었다고 보입니다.

alpha 버전 수준이고, 현시점에서는 매우 Experimental하다고 할 수 있죠.
실제로 사용할 수 있는 어플리케이션도 몇개조차 되지 않고, 인식할 수 있는 하드웨어조차 얼마 없죠.
그에 비하면 Wine은 안정적이고 상당히 쓸만한 것입니다.

하여튼, 일단 ReactOS는 기본적인 NT 커널구현이나 먼저 마무리 한 상태에서 언급이 필요할 것 같습니다.
ReactOS가 나와서 말씀들이지만, 제 개인적인 생각이지만, 수년정도의 시간이 지나서 ReactOS가 1.0버전이 나오고,
wine이 어느 수준이상에 오르면, 리눅스의 가장 강력한 대항마가 바로 ReactOS가 될 것 같습니다.
그리고, ReactOS가 가장 큰 Wine 프로젝트의 수혜자가 될 것이구요.

국내여건은 다르지만,
미국의 저가 PC시장은 Ubuntu의 등장으로 판세가 바뀔 조짐이 보인다고 할 수 있을 것 같습니다.
그리고, Lindow의 전례도 있구요.

국내라면, wine이 완성된다면 미국보다 파급효과는 더 클것으로 보입니다.
특히, PC방 수효쪽으로요.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

익명 사용자의 이미지

Win32 프로그램이 널리 사용된다는 것에 거부감이 있는 것 같습니다.

우선 Unix도 Windows와 같은 독점소프트웨어입니다.
그것의 오픈소스구현이 바로 Linux이고 BSD입니다.
그와 같이 Windows의 오픈소스 구현으로 Wine이 있는 것입니다.
.NET의 오픈소스 구현으로 Mono가 있고
Cocoa의 오픈소스 구현으로 GNUstep있는 것 처럼 말이죠.

GNU에서 독점소프트웨어인 Unix를 오픈소스로 구현하려하지 않았다면
Unix도 지금의 Windows처럼 사용이 제한되는 독점소프트웨어일 뿐일 겁니다.

Wine도 Windows를 사람들이 오픈소스로 구현하려고 노력해서 만들어 낸 것입니다.

Win32 플랫폼이 Windows가 아닌 곳에서도 활성화 되면 MS에게나 좋은일이라는 생각때문 일까요?
Unix의 오픈소스 구현인 리눅스에서 Unix-like하게 만들어지는 프로그램들은 별 무리없이
상용 독점소프트웨어인 Unix로도 어렵지 않게 포팅이 됩니다.
그럼 이건 Unix라는 독점소프트웨어를 소유하고 있는 회사들에게나 좋은 일하는 것이라고 생각해야 할까요?

왜 이건 되고 저건 안되는지 의문입니다.

GNU 선언문에도 제 기억으로는 Unix가 신성한 무엇이라서
그 신성함을 누구나 느끼게 하려고 그 독점소프트웨어를 오픈소스로 구현하려한다고 되어 있지 않고
Unix를 사람이 많이 사용하니까 그걸 오픈소스로 구현하려 한다라고 얘기하고 있을 겁니다.

지리즈의 이미지

거부감이 있는 것은 아닙니다.
다만, 천편 일률적인 윈도우 운영체제에 대한 지원만이 있는 것에 불만이 있는 것이죠.

제 스스로는 *nix가 신성한 것이라고 믿지만,
그렇다고 이것이 사회의 보편적인 가치관이라고 믿고 있지는 않습니다.
다만 제 개인적인 취향의 문제일 뿐이라는 것은 명확히 이해하고 있습니다.

또한 사용자입장에서 독점적인 소프트웨어에 대해서 거부감을 가지고 있는 것도 숨기고 싶지는 않습니다.
다만, 내가 이 소프트웨어에 대해서 완벽히 검증할 수 없다는 신뢰성 부족과
이를 이용함에 있어서 완전한 자유를 누릴 수 없음을 불편해 하기 때문이지,
이게 옳지 않다고 믿고 있어서 또한 아닙니다.

저는 절실한 종교인이 아니기 때문에 이단이라는 단어에 대해서 어떠한 악의적 선입관은 가지고 있지 않습니다.
다만, "전통이나 권위에 반항하는 주장이나 이론" 정도의 사전적 의미에서 이를 사용했을 뿐이죠.

사실상, 저의 블로그 글은 Wine을 디펙토 문제에 바라보고 있습니다.
그리고, 이것이 옳다 그르다의 시각에서 바라보는 글은 아닙니다.

다만, Wine이 원하는 목적에 성공적으로 도달한다면,
단순히 다양한 운영체제에서 Win32 바이너리를 실행시킬 수 있는 것으로
끝나지 않을 것 같다라는 것을 설명하기 위해서 쓴 글입니다.

더불어 설명하면,
GNUStep은 NeXTStep의 연장 정도로서 생각할 뿐이며,
이를 바라보는 시각은 QT나 GTK와 같습니다.

MONO를 바라보는 시각은 java와 100% 같습니다.

하지만, Wine 위 두 부류와는 확연히 차이가 납니다. 출발도 다르고, 목적도 다르죠.
다만, 현시점의 Wine의 진화는 MONO(저는 본문에서 .net이라 칭했습니다.),Java와 유사해 지고 있다는 점을
언급하고 있습니다.

끝으로 솔직히 말하면, 도대체 이러한 리플이 달리는지 매우 당황스럽습니다.

제 글이 wine을 폄하하기 위해서 쓰여졌다고 보여지진 않고,
또한 win32 바이너리가 널리 사용되는 것에 대해서도 반감을 표시하지 않았다고 생각이 드는데요.

오히려, 제 스스로는 이 글을 작성해 나갈때, 지나친 wine에 대한 기대감을 숨기기 위해 많은 부분을 삭제했을 정도였습니다.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

masoris의 이미지

Wine이 완벽하다면, 윈도우용 바이러스, 웜 그리고 각종악성 스파이웨어가 리눅스에서도 돌아가게 되는 걸까요?

____
The limits of my language mean the limits of my world. - Ludwig Wittgenstein


____
The limits of my language mean the limits of my world. - Ludwig Wittgenstein

feanor의 이미지

네. 그러니 ~/.wine 아래를 백업해 두거나 백신을 깔거나 해야죠.

JReast의 이미지

지금은 상황이 어떻게 변화하였나요?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.