2014년 3월 30일 일요일

정부PC에 내년부터 MS윈도 안쓴다 (?)

일단 윤석찬님의 글부터...

"정부, 공개 SW기반 한국형 운영체제 개발 유감" 

안의 링크를 보면 미창부의 해명 자료가 있는데, 결국 공개 OS 개발에 관련된 이야기는 전혀 없고 XP 기술지원 종료 대처에 의한 이야기만 있다.

근데 논의를 하긴 한것 같고...

한국형 OS 개발 소식에 SW 업계 '시끌'

재미있는건 MS가 XP 기술지원 종료 이야기를 꺼낸게 하루이틀 이야기도 아니고 적어도 지난 1년 이전부터 지속적으로 홍보를 했던 것으로 아는데, 결국 정부는 아무것도 안하고 있었다는 이야기가 된다.

물론 XP 가 너무 히트를 친 관계로, 그리고 후속작인 윈도 Vista, 윈도 7, 윈도 8이 지난 10년간 나왔지만 XP의 명성을 따라갈 수 없었던 것은 MS의 잘못이라 볼 수 있겠지만, 적어도 윈도 7이나 8은 개인 사용자들에게는 쓸만하다고 본다. 8을 주로 쓰지는 않고 요즘에 7을 써 보지만 대부분의 어플리케이션 (이라고 해 봐야 오피스랑 회사 그룹웨어랑 몇몇)은 잘 되기 때문.

OS업그레이드에는 다음 요소가 영항을 미칠 것으로 생각한다.
  • XP시절에 구매한 구형 PC. XP는 지금 관점에서는 매우 낮은 사양에서도 잘 동작하므로 (128MB 메모리에서도 잘 동작했던 것으로 기억한다. 이상한 것만 안 띄우면...) 오래된 PC에 고사양을 요구하는 윈도7이나 8을 설치할 경우 일을 못할 정도로 느려질 수 있다. 물론 그에 연결된 관련 하드웨어 (네트워크 카드 및 프린터 등)도 잘 확인해야 하고. 64비트 OS까지 고려하면 깜깜하겠지만...
  • 정부에서 필수적으로 사용해야 하는 각종 소프트웨어. 이건 윤지만씨 블로그의 글에서 잘 설명되어 있는데 (이분 아마 공익근무로 추정이 된다. 나도 공익이긴 했지만 직원PC로 업무를 본 적이 없어서 직접 알지는 못한다) 쉽게 말하자면 한가지 한가지가 모두 ActiveX 로 개발되어서 OS 업그레이드은 고사하고 IE 업그레이드도 못한다는 이야기이다. 이 부분은 해당 지원 업체에게 요구를 해야 겠지만 일반적으로 유지보수 1년 규정이 들어가는 걸 생각하면 2-3년 전에 구축된 것들에 대해서만 IE 9 이상 또는 윈도7 에서 테스트를 하고자 해도 이미 업체가 없거나 인력이 없어서 지원이 어려운 경우도 있을 거라 생각한다. 물론 이것은 여러번 지적되어 왔지만 매우 심각한 문제인 것이, OS 업그레이드를 막는 최대의 요인이라 생각이 든다.
  • 정부용으로 개발된 것이 아니라 기성품을 구매한 경우. 이는 OS 자체에도 해당이 되고 (XP에서 7이나 8로 가는 건 공짜가 아니다) 오피스 (2003도 마찬가지로 지원 종료 된다. 아마 2000이나 오피스 97 쓰는데도 꽤 있을 거라 생각한다. 서비스팩은 생략) 빼고는 아마 아래한글이 제일 클거라 생각이 되는데 이건 사실 돈과 시간, 그리고 기존 하드웨어가 잘 지원하는지의 여부가 문제이다.
사실 위와 같은 요인을 생각한다면 이 시점에서 공개OS 운운 이야기가 나오는 걸 이해할 수 없다. 왜냐하면 위에 나열된 요인에서 공개 OS 내지 데스크탑이 필요한 이유를 알 수 없기 때문이다. OS가 오래 되었으면 업그레이드하는 건 당연한 일이고 (PC방에서도 한다. 라이센스 정책 때문에 분쟁이 있긴 하지만 PC방에서 XP구매를 더 이상 못한다고 게임을 돌릴 수 있는 자체 OS를 만들자고 하는 이야기는 아마 없을 것이다... 추가: PC방에서 쓰자는 기사도 있군요) 하드웨어도 노후하면 교체하는 것이 당연하다.

"한국형" 이라는 수식어에 다른 것들을 붙이면 참 이상한 의미로 변질되기 쉬운데 -- "한국형 오픈소스"라든가 "한국형 클라우드" 라든가 "한국형 리눅스"가 무슨 의미인지 생각해 보자 -- 아마도  다음과 같은 생각에 기반을 두고 있을 거라 본다.
  • XP 에서 7이나 8로 업그레이드하려니 돈이 너무 많이 든다 (당연하다 10년동안 묵혀둔걸 한꺼번에 해결하려 하니 OS, 어플리케이션, 하드웨어 모두 업그레이드해야 한다)
  • 아마 리눅스 기반으로 바꾸면 구형 하드웨어에서도 잘 동작할 거다
  • 이참에 한국형 공개 OS 개발하면 아마 프로젝트도 많이 생기고 정부 용도의 OS및 관련 어플리케이션을 다 바꾼다면 그것 만으로 많은 SI 수요가 생길 것이라 예상
일단 한국형 공개 OS부터 이야기해 보자. 류창우씨의 블로그 글에서 볼 수 있듯이 90년대 말 공개 소프트웨어 내지 오픈 소스라는 말이 쓰여지고 리눅스가 알려진 이래 국산 리눅스 내지는 국산 리눅스 기반 데스크탑의 수요는 없지 않았고 (나도 오래전에 이쪽 일을 잠시 했었지만) 정부에서 주도하는 형태로 프로젝트 내지는 국책 연구소의 개발 항목으로 자리잡았던 것으로 기억한다. 99년부터 2000년대 초까지 사실 몇번 미팅에 초청받아서 회의도 하고 (참석자에게 참석비를 주는건 마다하지 않지만...) 모 프로젝트의 제안서에 몇번 의견을 주기도 했는데, 결국 문제는 다음과 같은 것으로 귀결된다 할 수 있다. 류창우씨가 이미 잘 지적한 부분을 제외하고 내 생각을 추가하면,
  • 모든것이 입찰과 업체 선정과 몇개월간의 프로젝트로 진행이 된다. RFP의 목표만 달성하면 된다는 식으로 진행이 되므로, 오픈 소스 프로젝트의 가장 큰 장점인 "커뮤니티의 관심이 있는 한 라이프타임이 유지된다"의 속성이 애초에 먹히지 않는다. 프로젝트 고도화가 또 나오긴 하지만 같은 업체가 한다는 보장도 없으니 지속성 자체가 없다.
  • 그 결과물을 평가하는데 오픈 소스에 얼마나 관련이 되었는지, 새로 만들어진 부분이 업스트림에 반영이 되었는지에 대해서는 평가하지 않는다. 즉 기존의 오픈 소스를 통해 만들어진 부산물일 뿐이고 추후 업그레이드는 기대할 수 없다. 업그레이드를 위해서는 또 프로젝트를 발주한다.
  • 위에 관련된 이야기지만 업스트림은 고사하고 국내 커뮤니티에조차도 결과물을 돌려주지 않는다 (번역 등)
그리고 기본적인 전제가 잘못되었는데 "공개 SW기반 한국형 OS"(전자신문의 표현을 그대로 믿는다면)이 무엇을 말하는지 조차도 불분명하다. 요즘의 OS의 정의라고 하면 넓은 표현에서 대략 다음과 같이 표현할 수 있는데,
  1. OS의 근간을 이루는 커널과 관련 유틸리티들 (Linux의 경우 linux kernel, gcc, binutils, fileutils 상당. BSD같으면 기본 배포본의 설치 요소)
  2. 1에 설치 프로그램과 패키징 시스템, 부가적인 유틸리티를 조합해서 내놓는 "배포본" (CentOS, Debian 등의 리눅스 배포본, BSD같으면 FreeBSD나 NetBSD등)
  3. 1,2에 해당되지 않은 부분을 추가하여 이용성을 높인 또 다른 배포본 (Debian 계열의 ubuntu, ubuntu에서 다시 kbuntu, Redhat Enterprise 기반의 CentOS, FreeBSD기반의 PC-BSD 등이 해당)
정부에서 이야기하는 것은 어떤 부분일까? 아마도 3에 해당한다고 생각한다. 왜냐 하면 1)을 개발하는 것은 분명히 아니겠고(시간과 인력, 그리고 지식 기반을 생각할 때) 2)도 제대로 개발해 본 적이 없다. 따라서 현실적인 선택은 기존 적당한 배포본 (CentOS나 ubuntu. 데스크탑 용도라 생각하면 아마 ubuntu 기반이 논의될 가능성이 크다 하겠다)을 고르고 그 위에 정부에서 필요한 어플리케이션이나 보안 설정을 추가하는 정도라 말할 수 있는데 그걸 "공개 SW기반 한국형 OS"라고 부를 만큼 거창하다고 생각이 들지 않는다. 그냥 전세계 누구나 만드는 (심지어 개인도 만드는) 수많은 배포본의 하나일 뿐이다. 잘 된다면 중국의 우분투 기반의 Kirin OS 정도가 되지 않을까 (물론 이쪽은 모바일 용도가 크므로 포커스는 다르다 생각이 되지만) 보는게 현실적인 예상일 것이다. 그외 다른 OS에는 아마 관심들도 없을 것 같으니 (BSD라든가 안드로이드의 AOSP라든가. AOSP는 데스크탑용이 아니고 하드웨어의 포커스가 애초에 다르므로 1과 2에 해당되는 작업이 될 거고 이는 들이는 시간과 노력 대비 하지 않는게 맞다)

물론 그것만으로도 의미가 있다 생각할 수 있겠지만 지속적으로 유지 보수해 주지 않으면 XP보다 더 큰 문제를 맞이할 수 있다는 점에서, 그리고 커뮤니티에 대한 피드백을 거의 기대하지 못할 거라는 점에서 굳이 오픈소스라는 말을 쓸 필요도 없다고 생각한다. 그리고 앞서 이야기한 하드웨어 호환성 이슈 (네트워크 카드나 프린터 드라이버 등)의 문제로 실무적으로는 거의 받아들여지지 않을 개연성이 크다.

대안이라 한다면 사실 윤석찬씨 글에 동의하는 바가 큰데, 순서대로 가려면
  • 기존 OS, 어플리케이션 업그레이드 및 기존의 구 버전 IE + ActiveX 로 구성된 사이트에서 최신버전 IE 기반으로 전환.
  • 향후 기능 업그레이드는 웹에서 동작해야 하는 경우 최대한 최신 IE와 Firefox, Chrome 등의 메이저 브라우저에서 동작하도록 각종 RFP에 명기 (자연스럽게 HTML5 기반이 될 거고 다수 브라우저에서 테스트해야 ActiveX등의 플러그인을 쓰지 않을 수 있다)
  • 어정쩡하게 브라우저 기반으로 만들기 보다는 아예 어플리케이션으로 동작하도록
이렇게 몇년 하고 Windows OS 업그레이드와 플러그인 제거가 확인이 되면 그제서야 다른 OS/배포본을 투입해도 의미가 있을 거라 본다 (하드웨어 호환 문제는 계속 존재 하겠지만). 따라서 OS는 가장 끝에 고려할 사항이고, 그 전에는 일단 동작하고 있는 어플리케이션 문제를 최우선시해야 하므로 구형 OS와 구형 IE에서만 동작하는 프로그램 부터 고쳐 나가야 할 것이다. 만약 브라우저 의존성 없이 이용이 가능하다면 사실 그 시점에서 윈도든 맥이든 리눅스든 iOS든 안드로이드든 관계가 없으므로 사용자의 선택에 맡겨도 되는 일이라 본다.






댓글 쓰기