최근 들어 자유소프트웨어와 오픈소스의 철학적 차이는 무엇일까 하는 쓸데없는 의문이 생겼었는데, GNU 사이트의 글을" target="_self">https://www.gnu.org/philosophy/free-software-for-freedom.ko.html [/footnote]을 보고 의문이 풀렸다.
이를 요약하자면 자유소프트웨어는 "자유"라는 추상적이고 도덕적인 문제에 대해 관심을 갖는다. 그런데 오픈소스의 경우는 자유소프트웨어의 실용적인 이슈에 관심을 갖는다. 자유소프트웨어의 원칙에 있어서 둘은 서로 차이가 없다. 1989년에 GNU에서 나온 공증인 GPL(GNU General Public Licence)의 원칙과 그리고 오픈소스 가이드라인(OSD)을 함께 고려하여 압축해보면 다음과 같은 두 가지 원칙에 있어서 둘은 차이가 없다.
(1) 소스코드를 공개할 것
(2) 누구든지 소스코드를 수정하여 재배포하는 것이 가능할 것
이 두 가지 핵심적인 원칙에서 차이는 없으나 오픈소스의 경우 이 원칙에 대해 실용적인 흥미를 갖는 것이라고 볼 수 있겠다. 하지만 이와 달리 자유소프트웨어는 제작자의 의도와 동기에 더 많은 관심을 갖는다. 자유소프트웨어 제작자는 소스와 사용하고자 하는 소프트웨어 모두를 "자유롭게" 이용하도록 한다는 의도를 더 중시한다.
여기에서 내가 무엇보다 흥미롭게 보는 관점은 "누구든지 필요에 따라 수정을 거쳐 재배포를 할 수 있는 것"에 있다. 이는 스톨만의 유명한 일화를 생각하면 쉽게 이해될 수 있다. 스톨만은 프린터의 잼 현상을 사용자에게 알려주는 프로그램을 만들려고 제록스社에 소스코드를 달라고 요청했다가 빠꾸를 당한 적이 있다. 기업들은 대체로 자신의 소스코드를 제공하는 것을 꺼린다. 그런데 사회전체의 이익으로 생각해보자. 잼 현상에 대해 사용자에게 알려주지 않는 해당 문제를 인식한 사용자가 있고 사용자 자신이나 아니면 다른 이가 문제를 수정할 수 있는 능력이 있으며 이 소스코드가 공개되었고 재배포가 가능했다면 대응은 더 빠르고 더 좋은 소프트웨어를 만들 수 있었을 것이다. 하지만 소프트웨어가 독점적이라면 이런 사회적 이익에 반하는 일이 발생할 수 있다는 것이다.
이러한 자유소프트웨어 운동에서 내가 흥미를 느낀 이유는 자유소프트웨어의 철학이 공산주의와 유사했기 때문이다. 이는 추상노동과도 관련이 있다. 소프트웨어를 자기 기업조직 내부에서 특수한 엔지니어 직군만이 접근하여 독점적으로 배포할 권한을 갖는 지금의 흔한 생산방법은, 노동을 투입하는 데에 있어 가치법칙을 작동시킬 것이다. 자유소프트웨어는 오히려 가치법칙을 작동시키지 않는다고 생각된다. 방대한 버전의 상용 리눅스는 여러 사람들이 대가를 받지 않고 개선이 필요하며 개선된 버전을 재배포할 필요가 있다는 스스로의 판단 하에 자유롭게 노동을 투입하는 것이다.
가치법칙이 작동한다는 것은 이 노동투입에 대한 서비스에 대해 대가가 지불되는 방식이어야 한다. 이로써 기업은 계약이 성립하면 TF를 구성하고 적절한 노동력을 재배치하여 생산하게 된다. 추상적으로 말하자면 자본주의 생산방법이란 경제적으로 교환되는 상품의 등가교환에 의존한다. 노동자들을 고용하고 일정한 자본을 투자하여 일정한 시간에 이 생산요소를 투입하여 가치를 생산한다. 이것이 노동을 실질적으로 포섭하는 것이라고 할 때 구체적인 노동들은 추상노동이 되는 필요조건이 생성된다. 따리서 자유소프트웨어 운동과 독점소프트웨어는 길드 제도와 자본주의적 임노동 제도로 비견될 수 있을 것이다.
하지만 모든 비-가치법칙이 곧 공산주의는 아니라 필요조건일 것이다. 하지만 자유소프트웨어의 아이디어는 소프트웨어를 상품으로 인식하지 말아야 한다고 본다는 점에서 비-가치법칙이면서 능력에 따라 일하고 필요에 따라 분배하는 원칙에 있어서 충족된다. 그렇지만 아직 기업들은 독점소프트웨어에서 얻는 이득에 더 매력을 느끼며 아직 갈길은 멀어보인다. 이것이 꽤 장기적이고 미래지향적인 점에서 자유소프트웨어 운동은 그리 낡은 사회운동이라고 느껴지지는 않는다.
[이관 글. 2019-08-17 작성]