2014년 3월 26일 수요일

행정용 "한국형 OS 개발"에 대해

2014년 3월 25일 기사: 정부, 공개 SW기반 한국형 OS 개발 나선다

과거에도 부요의 문제점에 대해 언급했었지만 ([1] [2]) 간단히 평하면,

  • 탈 윈도우나 오픈소스 기반 OS 사용이라는 기본적인 방향 자체는 환영할 만한 일이라고 생각한다. 하지만 과거에 실패했던 일들을 되새길 필요가 있다. 
  • 과거 부요의 개발과 배포 방식을 왜곡시킨 장본인이었던 ETRI 주도의 절차는 배제해야 한다. "기술이전"을 통해 수익을 올려야 하는 ETRI의 폐쇄적인 개발 모델은 동작하는 오픈소스 개발 방식이 아니다. 이미 부요는 10년전 실패한 역사이다. 활용할 가치가 있는 것도 남아있지 않을 뿐더러, 오히려 과거의 방식 때문에 왜곡될 가능성이 높다. 부디 바닥부터 시작한다는 마음으로 시작해야 한다.
    • (업데이트) 구체적으로 당시 ETRI 부요 배포판의 문제는 업체 입장에서 일단 실속도 없으면서 굉장히 조건이 까다로웠다는 점이다. 마지막 부요 3.0의 경우가 이런 식이었다. 약 5년전 중소기업 기준 1억7500만원의 착수금과 매출 2.7%의 런타임 로열티가 사업자의 입장에서는 그렇게 비싼 건 아닐 수도 있지만, 배포판 커스터마이즈 정도와 (분쟁이 일어난다면 실효성이 있는지 논란의 여지가 굉장히 많은) 소프트웨어 특허 몇개가 그만한 가치를 할까? (미안한 얘기지만 부요 기반으로 배포판을 만들었던 회사는 "표준리눅스"라는 겉포장에 넘어간 호구 고객이었다.) 게다가 리눅스에서 소프트웨어 특허에 배포 제한이라니 이게 대체 무슨 분위기 파악 못하는 얘기인가? GPL에 특허에 대해 royalty free 조건이 있다는 걸 ETRI에서는 알기나 하는 걸까?
  • 업체 미팅과 간담회로 폐쇄적으로 진행되는 개발이 아니라 누구나 소스코드를 볼 수 있고 누구나 의견을 제시할 수 있는 공개적인 개발이 이루어져야 한다.
  • 현 정부 임기를 고려한 것인지는 모르겠으나, 3년이라는 시간은 너무 짧다. 독일 뮌헨이 부럽다면 뮌헨처럼 10년 이상 진행하고 그 이후로도 계속 진행한다는 마음가짐을 갖고 있어야 한다. 장기적으로 지속적인 투자가 필요한 문제이지, 단기적으로 많은 투자를 하면 눈먼 돈만 많이 쓸 뿐이다.
  • 오픈소스는 원래 전세계가 같이 만들고 같이 쓰는 것이다. 한국형, 독자, OS주권, 경쟁력같은 말은 이제 안 먹힌다는 걸 깨달을 때가 됐다. 개발을 진행한다면 리눅스 기반 행정용 OS 개발이 아니라 리눅스 데스크톱 환경을 국내 행정용 목적에 맞게 발전시킬 수 있어야 한다.
  • 그런 면에서 정부부터가 오픈소스의 적극적인 생산자가 되어야 한다. 개발 과정을 통해 만들어낸 결과물이 배포판 패키징으로 끝나지 않고 업스트림에 올라갈 수 있도록 해야 한다. 그렇게 하면 아마 (탈윈도우나 OS 개발은 실패할지 모르겠지만) 오픈소스 데스크톱 발전에는 조금이라도 기여했다고 역사에 남을 것이다.

"공개소프트웨어"는 "오픈소스"가 아니다

2000년 초중반, 대한민국 정부가 오픈소스를 정책에서 여러가지로 고려하기 시작하면서 정부 주도하에 새로운 용어를 만들어냈다.  바로 "공개소프트웨어"이다. 엉뚱하게도 "Open Source"의 번역이다라고 주장했는데, 처음 그럴 때는 저러다 말겠지 싶었다. 하지만 십수년이 지난 지금까지 안 먹히는 용어를 밀어붙이는 걸 보면 해도해도 너무한다 싶다.

2014년 1월에 개정된 미래창조과학부 고시 "정보통신,방송 연구개발 관리규정"을 보면 아예 용어부터 공개소프트웨어라고 적어놓았다.

40. "공개소프트웨어"라 함은 "오픈소스 소프트웨어" 또는 "오픈 소스" 등 그 명칭과 상관없이 소프트웨어의 저작권자가 해당 소스코드를 공중에 공개하여 이를 사용, 복제, 수정, 배포할 수 있는 권한을 부여한 소프트웨어를 말한다.
41. "공개소프트웨어 라이선스"라 함은 공개소프트웨어 저작권자가 자신의 공개소프트웨어의 사용, 복제, 수정, 배포와 관련하여 허용되는 권한 범위를 명시한 이용허락조건을 말한다.
42. "공개소프트웨어 개발방식"이라 함은 소프트웨어의 소스코드를 공개하고 소프트웨어를 개발 및 유지 관리하는 전 과정에 최초 개발한 자 외에도 누구나 자유롭게 참여할 수 있도록 하는 개발방식을 말한다.
         

아마 정부 말고는 이렇게 오픈소스를 공개소프트웨어라고 부르는 사람은 없을 것이다. 또는 정부 정책에 동조하는 (또는 동조하지 않더라도 눈먼 돈에 관심이 있는) 기업들도 이 용어를 사용한다. 과거 리눅스 관련 회사들의 모임인 리눅스협의회가 전신인 "공개SW협회"가 대표적인 예이다.


"공개소프트웨어"는 옛날부터 하늘소 "이야기"나 안랩 설립 전의 "V3"와 같이 그냥 공짜로 배포하는 (하지만 소스 코드도 없고 명확한 제한 조건이 있었던) 소프트웨어를 가리키는 용어였다. 이 용어를 오픈소스를 가리키는 말로 사용하는 건 오픈소스의 의미를 왜곡하는 것이다.


진짜 문제는, 전세계가 같이 만들어 나가고 같이 쓰는 오픈소스의 의미를 공무원들이 불편해하고 있다. 각종 정책에서도 기업 위주로 혜택을 주고, 엉뚱하게 특허나 상용화를 강조하는 모습을 보면 그렇다. (사실 15년동안 데비안 개발자였지만 데비안으로 산업화를 어떻게 하냐 물어보면 할 말이 없다.) 정부가 바라보는 오픈소스는 기업화된 모습이지 그걸 만들어낸 해커 문화와 공동체 의식은 안중에 없는 것 같다. 기업화된 오픈소스의 모습도 지금의 현실이고, 좋다 나쁘다 가치 평가를 할 수 있는 것은 아니다. 하지만 어떤 오픈소스도 기업만으로는 동작하지 않는다.

애초에 "Open Source"라는 용어는 "Free Software"가 가진 영어 의미의 중의성이나 "자유"라는 단어가 주는 불편함을 완화시키기 위해 만든 말이다. 하지만 이 말조차 불편해 하면 무엇을 할 수 있을까.

정말 오픈소스의 활성화를 생각한다면 현실과 동떨어지고 왜곡된 용어부터 바로잡아야 할 것이다.

2014년 3월 7일 금요일

공인인증서, 보안이 중요하다면 이렇게 불편하지도 않았다

흔히 공인인증서가 NPKI 폴더에서 파일로 복사할 수 있는 것에 대해 공인인증서의 보안 문제를 비판하곤 하지만, 그에 대한 대안으로 (김기창 교수 주장처럼) 브라우저나 OS에 있는 인증서 저장 기능을 제시하는 건 올바른 대안 제시가 아니라고 생각한다. (물론 그렇게 하는 게 좋다. 하지만 그 점은 보안 때문이 아니라 편의성이나 OS 공통 인터페이스 사용이라는 문제에서 접근해야 할 것이다.) 얼마나 어려운가 차이는 있겠지만 결국 복사되는 건 마찬가지이기 때문이다. 아니 애초에 데이터 형태로 키를 만들어서 거기에 집어 넣는 것부터가 복사가 아니던가?

인증서를 공인했든 공인하지 않았든 컴퓨터에 들어 있는 한 모든 인증서는 같은 비판에 직면하게 될 것이다. 인증서의 복사를 근본적으로 막는 방법은 스마트카드나 TPM과 같이 인증서 자체를 하드웨어에서 읽지 못하게 만드는 것 뿐이다. 하지만 그게 우리가 원하는 미래인지는 모르겠다. 발급에 일정 비용이 반드시 필요하고 온라인에서 발급하는 건 불가능해질테니까.

애초에 인증서를 온라인에서 발급하는 것도 문제이다. 특히 재발급의 경우는 그렇다.지금까지 발생했던 온라인 금융 해킹에서 공인인증서 시스템을 우회했던 방법은 모두 개인정보를 취득한 다음 인증서를 재발급한 경우 아니던가? 하지만 마찬가지로 인증서의 오프라인 발급이 우리가 바라는 미래인지는 의문이다. 인증서를 잃어버리는 일은 너무도 흔하게 발생하니까 비용은 말할 수 없이 증가할 것이다.

그러면 공인인증서 시스템의 포인트를 어디로 잡을 수 있는 걸까? 저울질을 해 보자. 공인인증서 및 관련되어 설치해야 하는 액티브엑스의 불편함으로 인한 비용은 보안을 생각하면 감수할 만한 것이고, 인증서 복사를 근본적으로 막는 방법이나 인증서 허위 재발급을 막는 비용은 보안 위험을 감수하고서라도 감수할 수 없는 비용인가? 이 두 가지 저울질의 차이점은 후자의 경우 비용이 금융기관의 부담으로 돌아온다는 것이다. 오프라인 창구 업무가 말도 안 되게 늘어날 것이고 전에 없던 하드웨어 원가도 들어간다.

보안 회사들 역시 상식적이라면 문제에 대한 대응 방법으로 하드웨어 토큰 사용이나 재발급을 막는 걸 주장했을 것이다. 단지 금융 회사들은 직접적인 비용 부담 때문에 받아들이지 못했을 것이다. 그래서 대안은 사용자 컴퓨터에 백신과 방화벽을 설치하는 것과 같이 컴퓨터 보안을 강화하는 장치를 잔뜩 추가한 것이다. 그나마 PC에서는 하드웨어 토큰을 사용할 수도 있는데 스마트폰에서는 그것도 안 된다. 스마트폰에서 동작하는 백신 앱도 아주 제한된 일밖에 하지 못하고 심리적인 안정을 줄 뿐이다. (이제부터 안심할 수 없게 됐다면 죄송.)

부디 기본으로 돌아갔으면 좋겠다. 진짜 보안을 고려했다면 애초에 이 정도로 불편해지지도 않았을 것이다.