마이크로소프트 반독점 재판과 자유소프트웨어

마이크로소프트사의 반독점 재판의 종결이 점점 가까와 지면서 마이크로소프트사가 지는 경우 마이크로소프트사가 어떤 요구를 받게 될 것인가가 점점 초미의 관심사가 되어지고 있습니다. 랄프 내이더(Ralph Nader)는 (1999년 3월에 쓰여진 것이지만) 이제 한 걸음 더 나아가 이 문제에 관한 컨퍼런스를 준비하고 있습니다.(여기에 대해서는 http://www.appraising-microsoft.org/를 참고하기 바랍니다.)

마이크로소프트사와 컴퓨터 제조업자들 사이의 독점적인 계약을 제한하든지 아니면 마이크로소프트를 분사(分社)시키는 해결책이 나올 것이 거의 분명한데 이 두 방법에 그리 큰 차이는 없을 것입니다. 전자의 방법은 GNU/리눅스 시스템이 미리 깔려진 컴퓨터의 유용성을 높일테지만, 그 일은 어차피 그렇게 될 것이었습니다. 후자의 방법은 주로 마이크로소프트사 이외의 다른 독점적인 응용 소프트웨어 개발업체들의 경쟁을 돕는 일이 될테고, 그렇게 되면 다시 우리들의 자유를 억압하는 또 다른 길이 생기는 것일 뿐입니다.

이런 이유로 인해서 저는 GNU/리눅스와 같은 자유 소프트웨어 운영체제들이 경영적 측면에서나 혹은 판촉면에서가 아닌 기술적인 측면에서 경쟁하는 것을 가능케 하며, 동시에 사용자들의 자유를 배려하여 침해하지 않을 다음의 세 가지 해결안을 제안하는 바입니다. 이 세 가지 방안은 자유 운영체제의 개발을 저해하며, 윈도우즈만을 위해 만들어진 프로그램들이 자유 운영체제에서 사용되어지는 것을 방해하는 세 가지 장애를 직접적으로 다루고 있습니다. 이 방안들은 또한 마이크로소프트사가 “할로윈 문서”에서 이미 언급한 자유 소프트웨어를 방해하는 방법들을 직접 다루고 있습니다. 물론 아래 세 가지 방안을 모두 동시에 사용하는 것이 가장 효과적이리라 생각됩니다.

  1. 마이크로소프트사에게 소프트웨어 구성 요소 간의 인터페이스와 커뮤니케이션 프로토콜, 파일 포맷 등을 기록한 모든 문서를 공표하라고 요구해야 합니다. 이렇게 하면 마이크로소프트사가 흔히 사용하는 전술인 비밀 인터페이스와 비호환 인터페이스 방식을 막을 수 있게 될 것입니다.

    이러한 요구 사항이 현실적으로 지켜지기 위해서는 마이크로소프트의 비밀스러운 인터페이스를 다른 조직들이 구현할 경우에 여기에 대한 승인을 요청하도록 하는 비공개 협약을 맺을 수 없도록 해야 합니다. 인터페이스를 공표할 수 없다면, 그 인터페이스를 이용한 구현물도 배포되어서 안된다는 것이 원칙이 되어야 합니다.

    그러나 마이크로소프트사가 구현물을 발표할 때 거기에 사용된 인터페이스의 명세를 함께 공개할 수 있다면, 명세가 공개되기 전에 해당 명세를 이용한 구현물이 만들어 지는 것을 인정할 수는 있습니다.

    이런 요구 사항의 사법적 강제가 그리 어렵지는 않을 것입니다. 만약 다른 소프트웨어 개발업체들이 그런 식으로 발표된 문서로는 인터페이스의 어떤 면들이나, 어떻게 특정한 일을 하는 것인지가 잘 기술되지 않았다고 불평하는 경우에는 법원이 마이크로소프트사에게 그 질문에 대해 직접 대답하도록 강제할 수 있을 것입니다. 마이크로소프트사는 인터페이스를 구현한 기술이 아닌 특정한 인터페이스 자체에 대한 어떠한 질문 사항에도 응답해야만 할 것 입니다.

    이와 비슷한 조항들이 1984년에 체약된 IBM과 유럽 연합 사이의 협정 안에 포함되어 있습니다. 그 협정은 그 당시 그들 사이에 벌어져 있던 반독점 분쟁을 해결하는 것이었습니다. 이와 관련해서는 http://www.cptech.org/at/ibm/ibm1984ec.html을 참고하기 바랍니다.

  2. 마이크로소프트사에게 소프트웨어 분야의 특허를 단지 방어용으로만 사용하라고 요구해야 합니다.(만약, 그들이 소프트웨어 이외의 분야에서 적용할 수 있는 특허들을 소유하게 되는 경우에는 그 분야들도 이러한 요구 사항 안에 포함시킬 수도 있거나 특허의 적용 대상에서 제외시켜야 합니다.) 이러한 방법을 통해서 마이크로소프트사가 할로윈 문서에서 이미 언급 했듯이 자유소프트웨어의 개발을 방해할 용도로 특허권을 사용하고자 하는 전략을 막을 수 있습니다.

    마이크로소프트사에게 자기 방어나 상호 방어 중 한 방식의 사용을 선택하게 해야 합니다. 자기 방어는 모든 특허에 대해서 이를 사용하기 원하는 사람에게 상호간에 라이선스를 무상으로 허용할 수 있도록 하는 것을 의미합니다. 상호 방어란 특허를 전혀 갖고 있지 않은 사람을 포함해서 누구나 참여할 수 있는 조합으로 모든 특허권을 이관하는 것을 의미합니다. 이러한 조합에서는 모든 참여자들의 특허권을 모든 참여자들에게 허용할 수 있습니다.

    마이크로소프트사가 이미 특허된 일부분을 인터페이스 안에 집어 넣거나 아니면 특허된 부분에 대한 접근을 가능하게 하는 기능을 인터페이스 안에 포함시킬 경우에는 사용자들이 그것을 자유롭게 구현할 수 없게 됩니다. 이러한 경우에는 인터페이스를 마이크로소프트사가 공개한다고 해도 그리 유용하지 않을 것이므로 특허권에 대한 문제를 확실하게 짚고 넘어가는 것은 참으로 중요합니다.

  3. 자사의 하드웨어 명세를 완벽하게 공개해서 어떠한 프로그래머라도 그 하드웨어를 지원할 수 있는 소프트웨어를 구현할 수 있는 경우가 아니라면 그러한 기업이 생산하고 있는 하드웨어에서 마이크로소프트사의 소프트웨어가 작동할 수 있다는 인증을 하지 말 것을 마이크로소프트사에 요구해야 합니다.

    비밀스런 하드웨어 명세는 마이크로소프트사가 일상적으로 취하고 있는 행태는 아니지만, 이들 비밀 명세는 윈도우즈와 경쟁 관계에 있는 자유 운영체제들의 발전에 심각한 장애가 되고 있습니다. 이런 장애를 없애면 큰 도움이 될 것입니다. 해결 방안을 마이크로소프트와 협상하게 된다면 이런 내용의 조항을 해결 방안에 포함시키는 것이 불가능한 것은 아닙니다. 이것은 협상의 문제일 뿐입니다.

1999년 4월에 마이크로소프트사의 스티브 발머(Steve Ballmer)는 윈도우즈의 일부 소스 코드를 공개할 수도 있는 계획을 가지고 있음을 발표한 바 있습니다. 그러나 이것이 윈도우즈를 자유 소프트웨어로 만들겠다는 것인지 윈도우즈의 일부분이 자유 소프트웨어가 될 수 있다는 것인지 분명치가 않습니다. 그러나 마이크로소프트사가 윈도우즈의 중요한 일부를 자유 소프트웨어로 만든다면 그 부분에 대해서는 문제를 해결할 수 있습니다.(문제의 소프트웨어가 독점적인 마이크로소프트의 소프트웨어가 실행되는 것 이외의 목적으로 유용하게 사용될 수 있다면 그것은 자유 소프트웨어 공동체에 대한 기여가 될 수도 있습니다.)

그러나 윈도우즈의 일부를 자유소프트웨어로 사용하는 것보다 전체 부분을 구현할 수 있도록 허가받는 것이 더욱 중요합니다. 위에서 제안된 처방들이야말로 우리가 진정으로 원하는 것입니다. 이런 방법들을 통해서 우리는 마이크로소프트사가 윈도우즈 중에 자유 소프트웨어로 만들지 않는 부분이 무엇이든지 간에 마이크로소프트사의 윈도우즈보다 진정으로 우월한 대체물을 개발할 수 있는 장애 없는 방법을 확보할 수 있습니다.