다른 데 쓰려고 작성한 글인데, 여기에도 관심있는 분들이 있을 것 같아서 올려둡니다.
많은 개발자와 사용자들이 “오픈소스(open source)”와 “자유 소프트웨어(free software)”를 비슷한 의미로 생각하고 있지만, 이 두 가지는 “프리웨어”와 “오픈소스”만큼이나 엄연히 다른 의미입니다.
프리웨어는 단지 무료로 배포할 뿐이고 소스가 공개되어 있지 않을 수도 있지만, 오픈소스는 무료로 배포하면서 소스까지 공개되어 있다는 차이점은 대부분 아실 것이라고 생각합니다.
자유 소프트웨어는 무료로 배포하고 소스를 공개하는 것은 물론, 그 소스를 받아 사용하는 최종 사용자의 몇 가지 권리(자유)를 지켜 주는 프로그램을 의미합니다. 자유 소프트웨어 재단(FSF)에 따르면 자유 소프트웨어는 사용자의 네 가지 권리(자유)를 지켜 주어야 합니다.
0. 원본 그대로의 프로그램을 사용할 자유
1. 수정해서 사용할 자유
2. 원본 그대로의 프로그램을 재배포할 자유 (필요한 사람에게 나누어줄 자유)
3. 수정한 프로그램을 재배포할 자유 (더 나은 세상을 만드는 데 참여할 자유)
위와 같은 자유를 누리려면 반드시 소스코드가 필요하지만, 꼭 그것이 무료로 배포될 필요는 없다고 FSF는 이야기합니다. 무료를 너무 강조하지 말라는 거지요. (레드햇 리눅스처럼 돈을 비싸게 받는 자유 소프트웨어도 있죠. 훌륭한 자유 소프트웨어 프로젝트는 기업에게도 도움이 되는 경우가 많습니다.)
GPL, LGPL, BSD, 아파치 등 대부분의 오픈소스 라이선스들은 이 4가지 권리(자유)를 명목적으로 보장합니다. 그러나 현실적으로 사용자들이 그 권리(자유)를 행사할 수 있는지는 전혀 다른 문제입니다. 말로는 4가지 권리(자유)를 보장하지만 실제로 수정해서 쓰기가 너무 어렵다거나, 수정한 것을 널리 공유하는 데 불편함이 있다면 자유 소프트웨어의 정신을 잘 실천하고 있다고 보기 어렵습니다.
민주주의와 비교해 보면 이해하기 쉽습니다. 우리나라를 비롯한 대부분의 민주주의 사회에서는 성인 국민 누구나 투표할 권리가 명목상 보장되지만, 현실적으로는 아무리 투표해도 그 놈이 그 놈이거나, 일단 뽑힌 후에는 투표한 사람의 생각과는 전혀 다른 짓을 하는 경우가 많아서 국민들을 허탈하게 합니다. 단지 명목상의 권리는 큰 가치를 갖지 못한다는 거지요. 실제로 효과적으로 행사할 수 있어야 진짜 권리입니다.
많은 기업들은 “사회환원”이라는 명목으로 소스를 공개하면서 마치 시혜를 베푼다는 듯한 고자세를 취하곤 합니다. 기업이 아닌 개인이나 비영리단체가 배포하는 오픈소스 프로그램도 그냥 소스를 던져주고 끝나는 일이 잦습니다. 이렇게 공개된 프로그램은 단지 소스가 열려 있을 뿐, 사용자의 권리(자유)에 대한 진지한 고민이 담겨있지 않으므로 현실적으로 인터넷 생태계의 발전에 큰 도움이 되지 않을 수도 있습니다.
가격과 라이선스 정책을 결정하는 것은 프로그램을 개발한 사람의 고유권한이며, 자신의 노력에 정당한 대가를 받기 원하는 것이 잘못된 일은 결코 아닙니다. 그러나 이왕 소스를 공개하기로 결정했다면 좀더 큰 그림을 보고 생각할 수 있었으면 합니다.
공짜로 소스를 주는데 무엇을 더 바라냐고 반문하는 사람도 있지만, 그리고 그런 사람을 딱히 욕하고 싶지도 않지만... 단지 오픈소스에 머무르고 거기에 만족한다면 지금의 우리가 있게 해 준 자유 소프트웨어의 거장들로부터 등을 돌리고, 그들의 정신을 잊어버리는 꼴이 될 수 있기 때문입니다. 이런 오픈소스는 기술적 특성과 주변의 여건에 따라 어느 정도 성장할 수는 있겠지만, 우리 인터넷 생태계의 발전사에 한 획을 긋는 경지에까지 오를 수는 없습니다.
이것이 XE와 어떤 관련이 있는지는 각자 판단하셔도 됩니다. 여러 가지 의견이 있을 것 같네요.
제 머릿속을 들어갔다 나오신듯