ADVERTISEMENT

MS, CLI·C#로 공개소스 진영에 손짓

중앙일보

입력

썬이 자리를 양보하면 MS가 공개소스의 새로운 기업 챔피온이 될까?

자바 출현 이후 썬은 자바의 번성을 원하면서도 동시에 MS가 자바를 수용하는 일을 막기 위해 자바의 향방을 철저히 통제하는 등 겉으로 보기에도 방향성이 모호한 일을 해왔다.

자바가 공개되지 않았기 때문에 이런 전략이 전부 성공한 것 같지는 않다. 많은 사람들이 자바 기술을 사용하려고 하지만 그렇게 하기가 생각만큼 쉽지 않다는 것을 안다. 사람들은 자바를 수용하기 위해 무엇을 해야 하는지에 대해선 썬의 의견에 전적으로 의지할 수밖에 없다는 것을 알고 있다.

두 개의 별개 행사(썬이 스스로를 표준단체로 천명하려던 ISO와 그보다 최근에 있었던 ECMA)에서, 썬은 마치 단서를 쥐고 자바를 표준화 과정에 진입시킬 것처럼 보였다. 하지만 그렇게 되지는 않았다.

썬은 10월 13일에 자사의 스타오피스 스위트에 소스를 공개할 예정이라고 발표해 찬사를 받았으며 공개소스 진영의 조명을 받았다. 썬이 자바를 장악할 것이라는 예상은 완전히 빗나갔던 것이다.

MS와 공개소스를 나란히

MS는 CLI(Common Language Infrastructure)라는 자바 VM과 비슷하게 작동하는 언어 독립적인 바이트코드 해독기와 함께 최근에 발표한 C# 언어의 공개소스 레퍼런스를 고려중이다. 주의할 것은 이런 것들을 발표했다는 것이 아니라 단지 고려중이라는 점이다.

주위의 이목을 많이 끌지 않았던 ECMA의 TC39 기술회의의 일부로 2주전에 올랜도에서 열렸던 한 모임 의사록에는 이 모든 사항과 그 이상의 내용까지 들어 있다.

ECMA는 국제 정보통신 표준 단체다. TC39는 특히 스크립팅 언어에 초점을 맞추고 있다. 그리고 지금까지 TC39의 가장 큰 성공은 한때 자바스크립트라고 알려졌던 ECMA스크립트(ECMAscript)이다.

자바스크립트는 원래 MS와 넷스케이프 모두에 의해 분쟁이 야기됐던 언어다. TC39는 이들 두 기업 사이를 중재했고 현재는 ECMA스크립트의 확산을 추진하기 위해 꾸준히 작업하고 있다. 이 단체의 그동안의 업적은 가히 성공적이라 평가할 수 있다.

TC39는 제대로 일을 한다는 평판 말고도 7월 13일에 있었던 최근 회의로도 유명하다. 이번 모임에서 MS 대표자들이 위원회에게 C#과 CLI 모두의 표준화 과정을 고려하고 있는지 여부를 물었다.

이런 제안에 대한 질의응답에서 MS 대표자들은 C#과 CLI가 솔라리스, AIX, 리눅스를 비롯해 가능한 한 많은 플랫폼에 들어가길 바란다고 분명히 밝혔다.

MS는 원래 지난 6월 연속적인 닷넷(.Net) 발표의 일환으로 C#을 발표했다. C#은 자바는 아니지만 이와 매우 흡사하다. C++에서 유래한 것으로 가비지 컬렉션(garbage collection)를 사용하며 샌드박스에서 바이트코드로 작동된다.

뿐만 아니라 C#은 자바가 아니기 때문에 MS는 이것을 표준단체에 넘기는 것을 비롯해 원하는 대로 할 수가 있다.

모든 것을 고려해볼 때 C#은 언어로서 꽤 흥미로운 것이지만 정말 킬러 기술은 CLI라고 할 수 있다. 이 기술에 대해서는 쓸만한 상세 정보가 거의 알려져 있지 않다. 공개적으로 이용할 수 있는 MS 웹 컨텐츠의 자료를 몇 차례 검색해봐도 적절한 표현이 하나도 나오지 않았다. 하지만 몇 가지를 질문을 해봄으로서 앞뒤가 꽤 잘 맞는 그림을 조합해볼 수 있다.

즉, 자바의 VM은 자바에 한정된 것이지만 CLI는 언어와는 무관하게 기능한다. C#은 CLI 바이트코드로 축적될 수 있는 하나의 언어일 뿐이다. MS에 따르면 펄(Perl), 파이톤(Python), 비주얼 베이직을 비롯해 15개 CLI용 언어를 개발중이라고 한다.

킬러 기술은 CLI

CLI가 ECMA의 표준이 되면, 다수 언어의 위력을 이용하길 원하는 다양한 플랫폼 소프트웨어 개발자들은 매우 흥미로운 툴 셋을 제공받게 될 것이다. 그리고 만약 C#과 CLI가 콤비로서 성공하면 자바의 앞날에 먹구름이 끼는 격이 될 것이다.

하지만 C#과 CLI의 앞날이 순조로운 것만은 아니다. 자바에서 체험했듯이 컴파일러와 VM을 갖는 것만으로는 충분치 않다. 각각의 언어는 기본 특성이 다르기 때문에 CLI는 클래스 라이브러리의 기본 세트와 각각의 모든 언어에 대해 표준 런타임 지원을 필요로 한다.

만약 이것이 썬에 대한 경고 이상의 의미를 갖는다면, CLI의 공개소스 레퍼런스는 개발자들이 다양한 CLI 언어의 기초를 구축하기 위한 개발 노력을 들이지 않고도 충분히 소프트웨어를 만들 수 있도록 해준다.

좀 더 공개화 된다고 해도 CLI가 성공하는데는 충분치 않다. 개발자들에게 훨씬 더 나은 환경을 조성해 줄 때, 오늘날 자바에 대한 작업조차도 대체할 수 있는 폭넓은 이점을 갖게 될 것이다.

MS는 C#와 CLI에 휴대 가능하고 표준화된 공개소스 레퍼런스 구현에 대한 가능성을 암시함으로써 썬에게 매우 직접적인 공격을 가했다. 이것은 앞으로 굉장히 흥미로운 볼거리가 될 것이다. @

ADVERTISEMENT
ADVERTISEMENT