by 데이빗 심즈(David Sims), 팀 오라일리(Tim O"Reilly), 라엘 돈페스트(Rael Dornfest)
마이크로소프트는 윈도우와 FreeBSD에서 사용할 닷넷(.NET) 하부구조의 공유 소스(shared-source) 버전의 추진 계획을 발표했다.
마이크로소프트는 ECMA와 함께 일해왔고,
ECMA 버전의 CLI(Common Language Infrastructure), C# 컴파일러, ECMAScript 컴파일러를 내놓을 것이다. CLI는 닷넷 하부구조와 다른 플랫폼간의 번역기로 동작하는 점에서 자바 가상 머신과 비슷하다.
ECMA(European Association for standardizing information and communication systems - 정보/통신 시스템 표준화 기구)
이 발표는 최근에 MS가 공개 소스 소프트웨어에 대해서, 특히 GNU GPL에 대한 MS의 최근의 공격과는 대조되는 것이다. 마이크로소프트는 GPL을 개발자가 수정한 소스에 대해서 공동체에 내놓도록 강요하는 "바이러스에 감염될 여지가 있는 성격(virual nature)"라 여기기 때문에 GPL을 비즈니스에 적합하지 않다고 생각한다.
MS는 GPL과 같은 라이선스가 적용되는 공개 소스 소프트웨어에 대하여 "바이러스에 감염될 여지가 있는 소프트웨어(viral software)"라 공격하며, 공유 소스 프로그램(shared source program)을 발표하였다.
MS의 공유 소스 프로그램에 대한 세부 사항은 http://www.microsoft.com/sharedsource를 참고하도록 한다.
GNU GPL의 내용에 대해 자세히 알고 싶은 사람은 다음 링크를 참고하라. 그놈 사용자 지침서
발표 전날, 오라일리의 CEO 팀 오라일리(Tim O"Reilly), 편집자 존 오스본(John Osborne), 오라일리 네트워크의 라엘 돈페스트(Rael Dornfest)는 MS가 공개 소스(public source)에 처음 참가한 것에 관하여 데이브 스투츠(Dave Stutz)와 이야기하였다.
데이브 스투츠: GPL 문제에 파묻혀서 사람들에게 부각되지 않았지만, 우리도 오픈 소스 운동의 긍정적인 면을 인정하고 있습니다. 그리고 긍정적 측면에서 교훈을 얻으려 했습니다. 우리는 사람들의 지적 재산권을 보호하면서도 사람들이 기업간 협력할 수 있는 라이선스 군을 개발하고 있습니다.
확실히 우리는 윈도우 등 지금 우리의 주요 수입원이 되고 있는 지적 재산권에 대해 매우 방어적인 입장입니다. 하지만 우리가 작업하고 있는 다른 라이선스 중 하나는 지금 이야기 하고 있는 코드 기반 라이선스와 관련된 것입니다. 이러한 형태의 라이선스에서는, 컨텐츠를 가능한 많은 사람이 취할 수 있도록 하는 것이 목적입니다. 이는 CLI와 C# 언어의 상업적 구현과 여기서 파생되는 비상업적인 일 둘 다에 적용됩니다.
우리는 소스 코드를 보고싶어 하고 소스 코드를 통해 배운 것을 활용하고 싶어하는 사람들을 위해 명료한 라이선스를 제공하고 싶었습니다.
그리고 비상업적인 일을 하는 사람들, 즉 개인적 해킹이나 조사, 교육, 강의 등을 하는 사람들이 쉽게 사용할 수 있게 하고 싶었습니다.
라이선스는 리눅스를 비상업적으로 포트하기를 원하는 사람들을 위해 만들어졌습니다. 커널에 GPL적인 성격이 있기 때문에, 우리와 같은 상업적인 회사에서는 리눅스를 편하게 이용할 수 없습니다.
리눅스와는 달리, FreeBSD는 전통적으로 자유롭게 소스를 다루는 것을 장려했던 운영체제 였습니다. 그래서 우리가 FreeBSD를 사용하는 것이지요. 우리는 유닉스에서 CLI를 구현할 수 있다는 것을 증명하기 위해 그것을 사용하고 있습니다. 시간이 지나자 사람들은 그것을 상업적으로 사용하게 되었습니다. 마이크로소프트도 사실상 상업적으로 다루고 있지요. 그리고 학계에서도 그러한 것에 익숙합니다.
존 오스본: 라이선스 때문에 리눅스보다 FreeBSD를 선호한다는 것입니까?
스투츠: 예, 라이선스 문제 때문에 FreeBSD를 선택하였습니다. 상업적 포트의 경우에는 마이크로소프트가 공통 언어 하부구조(CLI)를 그 자체로 상업적으로 만들 생각이기 때문에, 그것으로 사업을 하려는 사람은 라이선스를 획득해야 합니다.
스투츠: 라이선스의 관점에서 본다면, 당신이 어떤 것을 배포하고 있다면, 비상업적인 용도로 배포하는 것이겠군요.
하지만 어떤 사람이 CLI나 리눅스를 상업적으로 구현하고 싶다면, 공유 소스 구현에 대해 살펴보고, 소스 코드를 통해 영감을 노하우나 지식을 얻을 수 있습니다. 하지만 그런 경우, 소스 코드를 그대로 사용하지 말고 그들만의 코드를 사용하여 다른 제품을 만들라고 주장할 수 있을 것입니다.
우리는 CLI의 상업적 구현을 판매하는 사업을 하고 있습니다. 이것을 닷넷(.NET) 프레임워크라고 부릅니다. 우리는 그것을 통해 돈을 벌 수 있는 사업을 하기 때문에, 상업적인 포팅 쪽에는 제한을 둘 것입니다.
사람들이 상업적인 버전의 라이선스를 만드는 데나 공유 소스 버전의 상업적 라이선스에 관심이 있다면, 이에 대해 논의할 의향이 있습니다.
학계와 오픈 소스 공동체에 다가가기
인터뷰 내내 스투츠는 코드를 제공하고 학계에 어필할 라이선스를 정하는 것의 중요성을 강조했다.
팀: 당신은 학계에 대해 몇 번 언급하였습니다. 제가 알기로는 마이크로소프트에서 크게 걱정하는 것 중 하나가 대학 컴퓨터 공학 교과 과목으로 자바를 채택했다는 점입니다. 이 점에 있어서는 자바가 부럽겠지요. 이 라이선스가 이러한 문제를 공격하기 위해 만든 것입니까?
스투츠: 확실히 우리는 학계에서 우호적으로 받아들일 수 있는 것을 만들고 싶습니다. 자바를 시기해서 그런 것은 아닙니다. 우리는 CLI에는 흥미 있는 내용과 하부구조가 있다고 생각합니다. C#은 훌륭한 언어입니다. C#은 VB나 자바로 잘 안되었던 것들을 잘 수행할 수 있습니다. 그래서 우리는 이러한 장점을 학계에 부각시키려고 하고 있습니다.
팀: 그렇다면 학계에서 언제쯤 C#을 선호하게 될까요?
스투츠: 아마 우리는 4 사분기쯤 베타 버전을 볼 수 있을 것입니다. 우리는 코렐(Corel)과 함께 일하고 있습니다. 지금 개발 팀이 작업중입니다. 하지만 어디서 그것을 준비했는지는 중요하지 않습니다. 우리는 느린 속도로 일을 진행 중입니다.
팀: 그러면 공유 소스가 오픈 소스와 다른 점은 일찍 출시되는 것이 아니라 자주 출시된다는 것입니까?
스투츠: 글쎄요, 그것은 긍정적인 피드백입니다. 이런 스타일의 개발이 새롭고 중대하다고 생각합니다. 그리고 나는 커뮤니티의 의견을 반영하고 싶습니다. 제품을 빨리 출시해야 한다거나, 완결성이 덜 갖춰진 제품을 출시하라고 한다면, 그러한 제안을 진심으로 받아들이고 팀에 알릴 것입니다.
팀: 커뮤니티를 육성하기 위해 하고 있는 일이 있습니까?
스투츠: 우리는 이러한 코드를 기반으로 다양한 커뮤니티를 육성하려고 많이 노력 중입니다. 마이크로소프트는 공유 개발 프로세스(shared development process)를 시작했습니다. 우리는 그러한 프로세스에 참여하려고 노력할 것입니다. 그리고 전통적인 오픈 소스 커뮤니티와도 융화하려는 노력을 기울일 것입니다. 커뮤니티와 가까워지면 그들에게서 많이 배울 수 있을 것입니다.
물론, 이것이 쉬운 일은 아니다. 마이크로소프트와 오픈 소스 커뮤니티는 오랫동안 암묵적으로 서로를 불신했다.
팀: 마이크로소프트와 표준에 관련하여 회의론이 많이 제기되고 있습니다. 예를 들어서 최근에 사람들이 특허권을 침해하지 않고는 고칠 수 없도록 하기 위해 SAMBA 프로토콜이 사실상 특허를 얻게 된 것 등을 들 수 있습니다. 그래서 사람들은 이것이 정말 표준인지, 아니면 사람들을 끌기 위해서 그런 것인지 의아해 합니다.
스투츠: 카스 선스타인(Cass Sunstein)은 『Republic.com』이라는 저서에서 "깊이 생각하는 담화(deliberative discourse)"의 개념에 대해 이야기 했습니다. 이는 표준 그룹에서 사용하기 알맞은 개념이라고 생각합니다. 표준 단체들은 현재 있는 구현을 단지 승인만 하기 위해 있는 것은 아닙니다. 멤버들이 검열을 하기 위해 존재하는 것입니다. 그리고 지난 몇 년간 매우 잘 해왔습니다. 웹 서비스가 도래한 이후로는 확실히 그랬습니다. 우리는 공인된 표준 기관에서 나온 표준에 기반하여 기준을 만들기 위해 노력했습니다. 우리가 규칙 없이 움직인다고 보는 것은 타당하지 않습니다. 우리는 이러한 표준을 지키는 훌륭한 시민이 되기 위해 노력하고 있습니다.
팀: 저도 충분히 이해합니다. 동의하는 부분도 많고요. 마이크로소프트는 우리가 표준 경쟁을 하고 있다고 말하는 것 같았는데요, 그렇다면 이러한 경쟁의 주도권을 쥐고 있는 또 한 편은 누구일까요? 그리고 이러한 라이선스 경쟁의 진정한 가치는 어디 있다고 생각하십니까?
스투츠: 우리는 돈을 벌기 위한 사업을 하는 업체이기 때문에, 오픈 소스 진영과 비교하는 것은 불공평합니다. 그런 뉘앙스로 이야기한 적도 없고요. 우리는 상업적인 소프트웨어 모델에 대해 믿습니다.
마이크로소프트와 같이, 순전히 지적 재산권을 기반으로 돈을 벌 수 있다는 것이지요. 우리에게는 돈을 번다는 일이 중요하며, 이를 위해 지속 가능한 비즈니스 모델을 세울 수 있을 것이라고 생각합니다.
팀: 하지만 시스코(Cisco)도 돈을 벌기 위해 사업을 하고 있습니다. 하지만 표준을 정하는 일과 판매 목적의 소프트웨어는 구분되어 있습니다.
스투츠: 우리의 경우도 그렇다고 생각하는데요? 덧붙여서, 사람들이 차별화하기 위해 제멋대로 해왔던 것을 없애야 할 것입니다. 그리고 우리는 표준 단체와 함께 일하는데 중요한 역할을 할 것이며, 그러한 표준을 확산시킬 것입니다. 동시에 우리는 그러한 일을 통해 우리 자신을 시장에서 차별화하고, 지속 가능한 비즈니스 모델을 만들고 싶습니다.
팀: 훌륭하군요. 그러한 개념은 충분히 이해했습니다. 그런데 Halloween Document로 파급되는 신뢰 문제가 있다고 생각합니다.
스투츠: 어떤 커뮤니티에서는 그럴 수도 있지요. 저도 그 점에는 동의합니다. 제가 진행중인 프로젝트인 CLI의 의도 중 하나는 그러한 커뮤니티로 뻗어나가는 것입니다.
앞으로의 전망
스투츠는 CLI가 공유 소스로서 제공되는 것은 닷넷 프레임워크에 포함되는 개념이라고 말했다.
다음이 제공된다.
ECMA스크립트 컴파일러, 윈도우, FreeBSD 둘 다에서 실행할 수 있다.
C# 컴파일러, 이것도 둘 다에서 실행할 수 있다.
공유 소스 CLI
다음은 제공되지 않는다.
ASP.NET
ADO.NET
윈도우 폼(Windows Forms)
또한, 성능이 뛰어난 메모리 관리자(memory managers), 상업 버전에는 있지만 공유 소스 버전에는 없는 가비지 컬렉터(garbage collector)와 컴파일러 등이 있다. "우리는 이것을 사용하는 데 대한 요금을 받고 싶습니다."
공유 라이선스가 공표되면, 이것은 아마 마이크로소프트가 제공하는 서비스 중 가장 자유로운 소프트웨어 라이선스가 될 것 이다. 하지만 스투츠는 마이크로소프트의 라이선스는 틀림없이 더 자유롭게 될 것이라고 했다.
"마이크로소프트는 소스 코드를 넓은 방식으로 공유하는 것에 대해 진지하게 생각하고 있습니다."라고 그는 말했다. "그리고 이것은 CLI를 웹 서비스의 표준으로 설립하기 위한 장기적인 전략이기도 합니다. 자바와의 계획적인 전쟁에서 이것은 결코 단기적인 전략이라고 할 수 없습니다."
마이크로소프트에서 오늘 발표한 공유 소스 라이선스의 구체적인 내용은 아직 드러나지 않았다.
데이빗 심즈는 오라일리 네트워크의 편집장이다. 팀 오라일리는 오라일리의 사장이며, 인터넷 표준 및 오픈 소스 소프트웨어 운동가이다. 라엘 돈페스트는 오라일리 네트워크에서 활동중이다.