메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

2001년 자바 총결산, "승자도, 패자도 없는 전장"(3)

한빛미디어

|

2002-01-23

|

by HANBIT

6,896

저자: 이아스님

제 3부 - 태양은 떠오른다, 그러나 지기도 한다

자바 기술의 싹이 자라기 시작했던 1991년, 당시 자바 플랫폼이 탑재될 하드웨어는 분명 PC가 아니었고, 실은 탈PC(beyond-PC)를 꿈꿨던 엔지니어와 사이언티스트들이 오늘날의 자바의 모태가 된 오크(Oak)의 철학을 쌓았었습니다. 그러나 점차 시기상조라고는 달리 둘러댈 수 없는 상황으로 치닫자 썬은 "돈이 안되는 일에는 돈을 쓰지 않는다"는 CEO 스캇 맥닐리의 정책에 따라 오크를, 아니 이제 자바라는 훨씬 대중적이고 쿨한 이름의 신기술을 상업화의 길로 돌려놓았고, 사실상 가장 자바가 힘을 발휘할 수 있는 환경인 인터넷과 PC에서부터 1995년 일반에 첫선을 보이기 시작한 것이죠.

당시에는 웹 브라우저계의 제왕인 넷스케이프도 이 신기술을 무척 반겼습니다. 이후 자바스크립트라는 걸출한 합작품으로 썬과 자바의 가장 가까운 조력자로 자리잡게된 넷스케이프는, 그러나 MS라는 거인에 결국 무릎을 꿇고는 끝까지 아군으로 남은 썬의 "PC 자바" 자리마저 위태롭게 만들고 맙니다.

"애플릿 혁명"이라고 칭해도 부족함이 없을 정도로 놀라웠던 이 새로운 애플리케이션 배포-실행 모델은, 썬이 스펙을 정하고 표준 구현을 제시하며 나머지 자바 지원 회사들은 스펙을 따르고 표준 구현을 참고하는 식으로 협력하는 방식이기를 (썬은) 희망했습니다. 그리고 1995년 봄의 센세이션은 넷스케이프라는 훌륭한 파트너가 오로지 "멋지다"는 이유만으로 모든 동의에 수긍했을지도 모르지요. 허나 MS는 달랐습니다. 처음에는 단순히 지원의 차원으로 자사의 웹 브라우저인 인터넷 익스플로러(Internet Explorer-이하 IE)에 JVM을 심던 것이, 점차 자바스크립트와 자바 플랫폼 기술 자체에 미묘한 영향력을 행사하려 했기 때문입니다.

태양이 둘이 될 수 있는 곳은 "스타워즈"속 루크 스카이워커의 고향별에서나 가능한 이야기일까요? MS는 이미 자바의 잠재력을 충분히 깨닫고 있었고, 화전 양면 정책으로 서서히 자바 기술을 MS화하기 시작한 것이 소위 "웹 브라우저 전쟁"-윈도우즈95의 IE기본 설치로 미국 법무부까지 들고 일어나면서 세간의 이야기거리로까지 퍼졌습니다. 그래도 그때까지는 반MS진영의 법적 승리도 있었고, 넷스케이프도 그렇게 허망하게 무너질 것이라고는 "예상"은 했을지 몰라도 "기대"는 하고 싶지 않았죠.

MS는 법정에서 져도 늘 득을 봅니다. 이제는 미국 연방 정부도 MS에게 말려들고 싶지 않을 정도이지 않을까 싶을 정도로요. 아무도 MS윈도우즈에 IE가 기본으로 들어있고 깔린다는 사실을 이상하게 생각하지 않는 것이 작금의 현실이라면 넷스케이프는 너무 불쌍해지지만요. 아예 까놓고 "이 사이트는 IE전용입니다"하고 나오니 그 누가 굳히 넷스케이프를 깔아 쓸까요? 역으로 "이 사이트는 넷스케이프 네비게이터(Netscape Navigator)전용입니다"는 문구는 여름하늘 눈구름만큼이나 찾아보기 힘들게 되어버렸습니다.

PC 인터넷을 잡고 있는 MS에게 밉보인 썬을 향해 "그래 잘했다, MS한테 지면 안된다"는 식의 격려는 솔직히 썬에게도, 심지어 자바에게도 도움이 안됩니다. 애플릿은 계속 쓰이고 있습니다. 그러나, 그 애플릿은 IE를 위한 애플릿이며 결국 MS적 애플릿입니다. 여전히 자바2 기술과는 아무런 상관도 없으며, 1.4를 마크하고 있는 J2SE 플랫폼과는 더욱 거리가 먼 JDK 1.1.4라는(이 마저도 추측에 불과한) 참으로 어이없는 광경이 지금 21세기 2002년에도 여전히 벌어지고 있습니다. 요새 애플릿들을 보면 전혀 느리거나 답답하지 않습니다. MS는 MS다름대로 JVM을 갈고 다듬었고, 거기에 잘만 맞추어 짜면 자바2이고 J2SE 1.4이고 필요없습니다. 이미 MS에 귀속된 "클래시컬 자바(classical Java)"는 그래서 썬에게는 더욱 눈엣가시처럼 아프죠.

겨우겨우 윈도우즈 XP에서 MS의 JVM을 지우는 쾌거를 이룩한 썬이지만, 이마저 MS의 고도 전술이었음이 판명나자 부랴부랴 XP용 자바플러긴을 배포하며 갖은 호소를 다해대고 있지만, 아무리 고속 인터넷에 MS가 싫다고 해도 애플릿이 안뜨면 안쓰거나 IE가 지시하는대로 MS JVM을 추가하면 그만입니다. 애플릿 제조-배포사가 나름대로 신경을 써서 썬쪽으로 플러긴을 받으라고 하면 썬으로서는 감사하겠지만, 그저 "귀찮아"에서부터 "MS JVM에서는 잘 돌아가는데 썬 JVM에서는 잘 안돌아가는" 말도 안되는 상황까지 핑계거리는 충분하더군요.

지난 얘기 해서 뭣하겠냐고 하겠지만, 저는 나름대로 이런 지경에까지 이르게 한 장본인들에게 몇마디 해주고 싶습니다. 기본적으로 여지것 썬이 보여준 일반 고객-일명 컨수머(consumer)에 대한 자세는 무척 오만했습니다. 허허실실, 줄 것은 주고 받을 것은 받는 식이었다면 MS를 그렇게 자바 진영에서 내쫓지 않아도 되었을지 모릅니다. MS가 가지고 싶었던 자바는 윈도우즈용 자바이지 솔라리스용이 아니었습니다. "운영체계를 만드는 회사가 자바 플랫폼을 구현한다"는 원칙에서 벗어나 있는 윈도우즈용 J2SE가 아직도 최적화라는 유령에서 벗어나지 못하고 있는 현실은 개발자에게도, 사용자에게도 안타까울 뿐입니다. (그런 전철를 다시 걷고 싶지 않아서인지 최근 맥오에스X의 경우 애플 자바팀이 J2SE구현 작업을 하고 있습니다.)

물론 서버나 웍스테이션, 기업과 연구기관을 위주로 상대해오던 회사가 갑자기 일반인들의 눈총을 받게 되었을 때의 당혹스러움란 십분 동정이 갑니다만, 그러니까 더욱 기존의 힘-MS를 활용하는 지혜를 보여주었더라면 지금처럼 자바가 J2EE-J2ME 편중화의 길을 걷지는 않았겠지요.

자바빈즈의 개념 변모는 이러한 썬의 실책이 어떠한 식으로 개발자에게까지 영향을 끼칠 수 있는지를 보여주는 극명한 예입니다. 당초 자바빈즈는 AWT나 스윙에서 비주얼한 컴포넌트웨어-비쥬얼 베이직(VB)의 초기 VBX나 후기 OCX와 같은 액티브 콘트롤을 상상하면 딱 닮은-를 구성하기 위한 기초 구조였었는데, VB의 컴포넌트웨어 시장이 계속 성장과 활성화의 길을 걷는 반면 자바빈즈는 엉뚱하게 서버쪽으로 전개되어 J2EE의 핵심 기술인 EJB의 프로토타입, 그리고 JSP와 함께 안써서는 안되는 자료 켑슐화(encapsulation)의 도구쯤으로 여겨지기에 이르렀고, 점차 본래 의도를 "자바빈즈 소개"란에 잠깐 나오는 도입 문구정도로 격하시켜버렸습니다.

세월이 변하는데 자바빈즈라고 안변하라는 법이 있냐고 항변한다면 그것은 너무도 당연한 말입니다. 문제는 다른 곳에 있습니다. 단적으로 예를 들어 현재 양산되고 있는 수많은 자바 웹 프로그래머들에게 자바빈즈는 무엇일까요? 왜들 자료는 빈즈로 설계를 하는지, 직렬화라는 걸 한다는데 실제로는 전혀 신경안쓰고, 이벤트 처리는 빈즈와는 별로 상관 없어보이는데 요새 톰켓은 왜그렇게 이벤트 모델을 끌어들이는지, 일명 겟터-셋터(getter, setter)라고 하는 get, set 메쏘드들은 왜들 귀찮게 다 붙여쓰는지... 이제는 XML까지 나와서 자바빈즈와 대응시킨다는데... 짧은 교육 기간에 이러쿵저러쿵 다 배우기 힘들다는 것은 학생들이 더 잘 이해하는 현실이지만, J2SE가 J2EE의 시녀가 되는 상황이 고3때 달달 외웠던 "철학은 신학의 시녀(하녀 아님)"과 별반 달라보이지 않는 건 저만의 경험일까요?

썬이 안하면 우리가 한다는 식의 자바 개발자들이 발산하는 열정과 능력은 참으로 대단할 뿐입니다. 하지만 자바 개발자라고 언제까지나 자바만을 할 수는 없을지도 모릅니다. 유난히 자신의 "자바 사랑"에 자긍심이 높은 자바 개발자들인 만큼 썬의 실정에는 더 크게 등을 돌릴 수도 있습니다. 옛날 "로봇 찌빠"라는 만화에도 나온 대사지요. "기대가 크면 실망도 크다"고.

이미 J2SE는 MS와의 결별로 자의건 타의건 PC계의 영원한 마이너 플랫폼으로 남게 되었고, J2ME는 일본이 휘어잡고 있고, J2EE는 IBM과 오라클, HP와 같은 썬 급의 거대 회사가 "지금은" 함께 하고 있지만 "언제고" 갈라설 수 있는 살벌한 한판입니다. 자바에게 최악의 시나리오는 바로 이것입니다. 이미 J2SE는 거의 최악으로 떨어져서 더 어떻게 될 구석도 없지만, J2ME는 NTT, J-PHONE과 같은 이통사와 소니, NEC와 같은 단말기제조사, 그리고 세가와 같은 게임제작사가 "우리가 시장을 쥐고 있으니 우리 말을 들어라"고 하면 썬으로서는 안그래도 허접한 CLDC-MIDP의 방향타를 알게모르게 넘겨주게 될 것이고(이미 MIDP-NG가 그런 분위기를 약간 풍기고 있죠), J2EE는 그동안 많이 숙여왔던 IBM이 "더이상은 못참겠다"며 썬과 오라클에게 모두 경쟁자적 선전포고를 한다면 그나마 불안하게 유지해오던 반MS 서버 진영의 균형은 산산조각나는 것입니다.

고래싸움에 새우등 터진다고, 남이야 썬과 적군이 되건 아군이 되건 상관은 없지만, 정작 자바의 운명은 앞으로 어떻게 될지, 온 청춘을 다 바쳐 배우고 익히고 일해왔는데, 하나만 파라고 해서 자바만 했는데, 하루아침에 "자바 안씀"이라는 천청벽력과 같은 소리가 떨어진다면? 물론 코볼처럼 유지보수에는 여전히 필요하겠지만, 최악의 시나리오대로라면 "난산 끝에 C#을 MS에게 안겨주고 숨을 거두는" 가슴 절이는 모습을 연출할 가능성도 배제할 수는 없죠. 채 피지도 못하고 져버린 봄날의 목련같은 운명이라니, 슬프도다...

새해 첫날부터 이런 우울한 예상을 해버려서 기분 잡치시는 분들이 계실까봐 죄송스럽네요. 어디까지나 상상에 바탕을 둔 최악의 시나리오중의 하나니까요, 너무 심려(?)하실 것 까지는 없습니다. 다만 MS의 닷 넷이 얼마만큼 개발자와 사용자에게 다가갈 것이며, J2EE 진영이 얼마만큼 썬 주도의 표준화 정책을 받들어줄 것인지, 그리고 사실상 "자바만" 해서는 먹고 살기 힘들어지는 현실에서 과연 "자바"가 줄 수 있는 것과 줄 수 없는 것은 무엇인지 끊임없이 귀추를 주목해야될 대목이 아닐까, 2002년은 그래서 인류 IT 역사상 가장 중요하며 동시에 혼란스러운 한해가 되지 않을까 조심스럽게 예측해봅니다.

그건 그렇고, 올해 2월로 루머상(?) 예정된 J2SE 1.4-멀린의 운세는 어떨까요? 돗자리 펴라는 말을 요새 자주 듣고 있어 아무 근거없이 그저 육감만으로 찍어본다면, (저는 점장이 아닙니다...)

... (사실 썼는데 내용상의 파괴력(?)을 감안하여 지웠음. 진실은... 저 우주 너머에 없고 제 백업 CD-R매체에 있겠죠?)

요새 세상이 한치 앞을 내다볼 수 없다보니 점(占)이 유행이라고 합니다. 특히 동아시아 국가들의 점 열기는 대단하다고 뉴스 토픽 삼아 나오곤 합니다. 그럼에도 불구하고, 점은 어디까지나 점입니다. 내년에 안맞았다고 해서 뭐라고 욕하지 마세요. (뭘 알아야 맞았는지 안맞았는지 알지... 하시는 분도 계시겠지만.) 맞아도 그만, 안맞아도 그만, 저는 점 믿지 말라고 하는 친구 말만 믿고 살고 있습니다.

"점 믿지 마시구요, 자신을 믿으세요."

다음 제 4부에서는 이러한 "J2SE 죽이기"를 배경으로 펼쳐지는 "J2EE 대혈전"의 현장을 따라가봅니다.
TAG :
댓글 입력
자료실

최근 본 상품0