철수네 소프트웨어 세상 [본점]

소프트웨어와 관련이 있다면 뭐든지 – I no longer work for Microsoft.

Archive for 9월 2011

겁나 빠른 브라우저 배포 주기

leave a comment »

요즘 브라우저 버젼 경쟁이라도 났는지 버젼업 속도가 엄청나게 빨라졌다. 물론 그 선두 주자는 크롬이다. 벌써 버젼 13이다. 파이어폭스도 어느새 배포(Release) 주기를 바꾸겠다며 버젼 6를 내놓았다. 아마도 이런 릴리스 엔지니어링 구도는 다른 소프트웨어에 영향을 줄 것이 뻔하다. 그런데 조심해야할 부분이 있다. 이런 주기를 따라해야할 소프트웨어가 있는 반면, 따라하면 득보다는 실이 많을 소프트웨어가 있다. 이상하게도 실이 많을 수 있는 종류가 “브라우저”이다. 크롬은 사실 득보다 실이 많을 수 있는 한계선에서 외줄타기를 하고 있는 것이라 생각한다. 그 이유는 “플랫폼”이기 때문이다.

플랫폼 장사(Business)는 그 플랫폼을 사용하는 사람들에게 이노베이션도 제공하지만, 먹고 살 수 있는 여유를 주기도 한다. 다음 버젼이 되면, 새로운 것들을 통해서 다음 장사가 잘될 수 있는 기반을 제공하게 된다. 그런데 배포 주기가 빨라지면, 새로운 것에 대한 사용자의 면역력이 높아져서 주머니를 열게될 확률이 적어지는 것이다. 혹은 다른 경쟁제품으로 갈아탈 여지가 많아지는 것이다. 같은 속도로 따라오지 않으면 뒤쳐지고 다른 경쟁자들을 따라가기 위해서는 그만큼 더 투자를 해야하는 것이다. 배포 주기가 느린 곳에서 빠르기 바꾸기 위해서 적지않은 투자가 필요하다. 그러고 나서도 이를 유지하기 위한 비용도 들어간다.

브라우저는 다양한 표준이 구현되는 플랫폼이다. “표준”이라는 것은 그 적응 기간이 반드시 필요하다. 치즈처럼 숙성시키는 기간이 필요하고 그 동안 잘 자리잡고 많은 사람들의 의견을 받아 이를 반영하고 이를 반복해서 어느정도 고정된 권장 표준이 된 뒤에 잘못 생각한 부분때문에 계속 불편하거나 비효율적으로 어쩔 수 없이 사용하게 되는 일이 적어야 하는 것이다. 주기가 짧은 배포(Release)와는 조금 성격이 다르다. 아무리 너무 느린 표준 절차가 문제라고 하더라도 최소한의 베이킹 기간은 필요한 것이다.

또한, 브라우저가 반대로 표준을 밀어부치기 위해서 사용하게 되면 어떤가? 표준의 방향이 달라도 이미 구현되어 쓰는 사람이 이리 많으니 배째라고 하면 골치가 아프다. 배포주기가 빨라졌으니, 일명 “정식”판에 표준으로 굳어지기도 전에 들어간 구현이 지들 맘대로 “정식”이 되어버리는 것이다. 사용자에게는 “정식”판에 들어간 표준이니 덜된 표준이라도 이를 대할 기준이 애매하다. 뭐 표준이 바뀌면 다음 “정식”판에 바꿔서 넣으면 되지…가 아니다. 바뀌면, “플랫폼”에 의존하는 수많은 사이트들은 또 비용(인력)을 들여서 바꿔야하는 것이다. 물론 비용은 그대로고 인력의 삽질만 늘어나는 케이스도 많겠지.

근래 회사에서도 최신 브라우저 기술을 사용한 구현을 하는데, 이 배포주기 때문에 골치를 썩고 있다. 한 버젼을 기준으로 만들면 다음버젼에서 바뀐 것 때문에 버그가 발생하고, 이전 버젼으로 가도 문제가 있다. 도대체 개발자는 어느 버젼을 기준으로 만들어야하는 것일까?? 이전에 다양한 브라우저를 위해 따로 모바일을 위해 따로 구현해야한다는 골치가 이제는 같은 브라우저의 다양한 버젼에 따라 따로 테스트하고 패치(workaround)를 만들어야되는 상황이 온 것이다. 최악이다.

그나마 이를 해결하고자 한다면 브라우저 개발사들은 훨씬 더 복잡하고 정교한 테스트스윗을 만들어 하위 호환성을 최대한 보장하고, 다음 버젼의 Breaking Change에 대해서 정확하게 기술할 의무를 지켜야하지 않을까. 그것도 안하면서 애자일 Release 외치는 것은 어불성설이 아닐까.

이 겁나 빠른 브라우저의 배포 주기는 이렇게 사용자에게는 신기한 HTML5의 세계를 보여주지만, 개발자들에게는 달갑지 않을 수 있다는 생각을 해본다.

 

Written by charlz

2011년 9월 14일 at pm 2:28

Uncategorized에 게시됨

한국형 모바일 OS? (I)

with one comment

-. 가정(Hypothesis)

“정부에서 한국형 OS를 만드는 것이 문제가 아니라, 정부에서 (IT에 관해) 무엇을 하든 부정적인 그리고 곱지 않은 시각이 대부분의 의견이다.”

가정이지만, 사실이라면 극복할 수 있을까. 가정에서 보듯이, 난 한국형 OS를 만드는 자체는 문제가 아니라고 생각한다. 단지 정부가 하던 삼성이 하던 혹은 다른 작은 엔티티에서 시작해서 어딘가에서 자본 지원을 받던 좀 먹히는 한국형 OS를 만들 수 있는 나라가 되었으면 좋겠고, 소프트웨어 강국이라는 말을 대한민국에 붙이는데에 OS도 못 기획하는 껍데기 소프트웨어 강국을 지향하는 것이 아니길 바라는 어설프고 이상적인 생각에서 적어본다.

증명은 할 수 없으니, 그냥 줏어서 생각해본 이야기를 적어보고자 한다. 이런 가정이라면기에, 어떤 이야기들이 정부 비판이고 어떤 이야기들이 OS 제작에 대한 비판인지 구분해보고, 판단은 읽는 분들께 맡겨보겠다는 무책임한 서론을 적어봤다.

-. 그 소식

발표가 나온 며칠 뒤 뒤늦게 “한국형 OS”를 언급하는 여러 기사들을 봤고, 이 한국형 OS라는 것이 무엇인가 궁금해졌다. 검색 능력이 부족한 것이겠지만, 지경부 홈페이지에서 보도자료는 못찾았다. 한국에 살고 있지 않기 때문에 브리핑 같은 것이 TV에서 나왔었다고 하더라도 알기가 힘들다. 물론 원본이 검색해도 잘 안나오는 N사 검색서비스 탓도 해본다. 그래서 인용 문구들로 정부에서 뭐라고 했는지 유추해보기로 했다. 인용 문구들만 나열해보면:

“하반기에 공동 OS 개발 컨소시엄을 구성해 삼성·LG 등 국내 기업들과 함께 추진해 나갈 예정. (공동 OS는) 안드로이드처럼 개방형이 될 것”

“모바일기기 뿐만아니라 앞으로 스마트기기간 네트워크 시대를 감안할때 궁극적으로 스마트가전 OS까지 내다보고 첫발을 내딛는 거라고 생각해주시면 되겠습니다.”

“구글의 안드로이드에 대항할 수 있는 한국형 모바일 운영체계(OS)를 개발하겠다… 구글의 안드로이드처럼 스마트폰에 사용될 우리나라 독자적인 오픈형 OS를 개발할 것…구글 안드로이드나 애플의 iOS는 전 세계에서 몇 십억명이 이용하지만 삼성의 바다는 폐쇄형이어서 이용하는 사람이 극소수…공동 OS 개발에 부정적이었던 삼성이 최근 구글의 모토로라 인수 후 시각이 바뀐 것 같다…장기적으로 구글이 스마트폰 사업에 뛰어들 가능성을 배제할 수 없어 안드로이드에만 의존할 수 없는 상황…한국형 OS가 성공하려면 세계 시장에서 보다 많은 업체들이 채택하는 게 중요하다…삼성·LG뿐 아니라 해외 사업자도 끌어들여 최대한 많은 사람들이 사용하도록 할 방침”

“지경부의 월드베스트소프트웨어(WBS) 사업 가운데 하나로 삼성과 LG 등이 공동 참여하는 컨소시엄을 구성해 웹기반 모바일 OS를 개발하는 프로젝트를 곧 시작할 계획…과거 우리나라가 독자 모바일 플랫폼인 위피(WIPI)를 만들었지만, 폐쇄형이었기 때문에 글로벌화에 실패한 걸 거울삼아, 결국 한다면 (안드로이드처럼) 개방형 OS로 갈 예정”

“삼성과 LG 등이 모바일 OS를 비롯한 웹기반 오픈형 OS를 공동 개발해 우리나라의 독자적 OS로 육성하는 것이 핵심” (여담: 여기서는 “MB정부들어 오히려 IT경쟁력 수준은 더 높아졌다”라고 나오는데, 이 기사에서는 “우리나라 소프트웨어(SW) 산업의 문제점을 지적하는 것은 겸허하게 받아들이지만 현 정부 들어서 정보통신부를 해체해서 이런 문제가 생겼다고 하는 것은 사실을 왜곡한 것” “전체 IT 경쟁력 측면이나 국가 경쟁력 측면에서 너무 사실을 왜곡하고 있다”며 “특히 최근 IT 분야의 하강곡선은 IT 제품이 경쟁력이 없어서 그런 것이 아니라 일본 대지진과 유럽 금융위기 등 전체적으로 수요가 감소했기 때문”이라고 적는다.)

“기업들과 공동 컨소시엄을 구성해 우리나라만의 독자적인 OS를 만들 계획…스마트폰이나 태블릿PC용 제품은 이미 구글과 애플이 선점했기 때문에 (경쟁이 어렵다고 보고) 차세대 제품으로 부각되는 웹 기반 OS를 개발할 것”

“정부가 개발하려는 OS는 ‘한국형 안드로이드’라고 알려졌지만 이는 잘못됐다. 현재 제품들과 다른 ‘웹 기반 OS’로 안드로이드보다는 클라우드형인 ‘크롬OS’ 쪽에 가깝다”

여기서 유추할 수 있는 몇가지:

  • OS를 만들겠다는 것은 맞지만, 범용 OS가 아니라 모바일 그것도 스마트폰(그리고 스마트 가전?) OS이다.
  • 안드로이드에 대항한다고 한다.
단순히 모바일 OS라면 RT나 Embedded OS같은 것도 포함할 수도 있겠지만, 스마트폰 OS라는 것이 명확하다.
  • 구글의 모토롤라 인수가 하나의 발원지이다.
  • 삼성의 Bada에서 파생된 아이디어이기도 한 것 같다(Bada는 폐쇄적이라고 한 걸 봐서).
요것만 보면 삼성 밀어주겠다는 느낌을 받을 수 밖에 없다. 하지만, 공개적으로 삼성을 밀어줄 수는 없고, 정부 프로젝트인만큼 “오픈”이라는 말은 붙여야하고. 예를 들어 외산 (스마트폰) OS 점유율이 크지 않다가 갑자기 잠식해서 우리나라 OS의 점유율이 줄었다면 모를까, 우리나라 정부에서 왜 구글의 모토롤라 인수를 540억을 들일 정도로 걱정할까…삼성과 연관이 없을 수 없다는 생각이 들 수 밖에 없지 않나. 언론에서는 삼성에서 긍정적으로 생각한다는 기사도 있었지만 당혹감을 감출 수 없었다는 기사도 있었다. 그래도 윗분들은 이미 접촉을 했으리라 생각된다. 술자리에서 나온 이야기일 수도 있겠지(만 알 수 없지, 음모론은 알아서 필터링해서 읽어주세용).
또하나, 왜 iOS는 언급을 하지 않을까? 언급을 했는데 기사에서는 안나오는걸까? 왜 안드로이드만 대항하는 것일까. 조금 이상한게 아니고 정말 이상하다. 이것도 좀 멀리가는 추측이지만, 아이폰5가 나오는 시점에서 애플 심기를 건드리지 말라는 삼성측의 귀뜸같은게 있었을 수도 있다는 생각을 해본다.
  • “웹”을 어떤 식인지 모르지만 기반으로 한다.
  • “클라우드”라는 말도 들어간다.

OS가 웹 기반이라는 의미는 굉장히 모호하다. OS를 만들면 네트웍 스택은 당연히 있을 것이고, 그렇다면 웹브라우저를 탑재한다는 의미일 수도 있겠다. 단순히 HTML5와 같은 차세대 기술도 염두에 두고 지원을 하겠다는 이야기일 수도 있겠다. 구글의 크롬OS 같은 모습에 가깝다고 했으니 그쪽이 더 맞는 설명이겠다. 위에 인용한 기사처럼 클라우드라는 Hype을 생각한 말이기도 하겠다. 아무튼 “웹기반 OS”는 잘못 붙인 PR용 문구가 아니길 바라며 개발사들이 방향을 잡는데 헷갈리지 않는 구체적인 그림을 가지고 나온 말이었으면 좋겠다.

  • 삼성과 LG를 명확하게 언급한다.

왜 딱 짚어서 두 업체의 컨소시엄을 언급했을까. 이는 사실 문제가 있는 부분이지만, 뒤에서 다시 언급해보겠다.

정부가 이야기한 한국형 OS란게 뭘까하는 질문은 대충 알겠다. 좀 더 자세히 짜집어보면 “우리나라 정부에서 모바일 나아가서 스마트 가전에 올릴 수 있는 클라우드를 겨냥한 웹기반의 그리고 바다와는 다르게 공개형으로 삼성, LG 기타등등과 함께 기획할 OS”다. 한국형이라고해서 우리나라에 특화된 OS라는 느낌은 없었다. 하지만, 계속 “한국형 OS”라는 용어를 사용하겠고, 이 짜집은 의미로 생각해주길 바란다.

-. 한국형 OS를 만든다는것

이 단락은 좀 이상적인 이야기가 될 듯 하다. 위의 자료로는 유추하기 힘들기도 하고 해서 그냥 소식이야 어찌되었던 무시하고, “한국형” 스마트폰 OS를 만든다는 것이 어떤 것을 의미하는지 생각해본다.

우리나라에서 개발한다는 뜻일까, 우리나라 고유의 기술이 들어간다는 뜻일까, 아니면 우리나라 사람들이 좋아하는 겉모양새를 가졌다는 것일까. (이 글로벌 시대에) 우리나라 사람들이 사용하기 좋은(배타적인) OS라는 뜻일까. 아니면, 우리나라만의 울타리를 치고 외세(?)에 대항할 법제와 표준들을 마련한다는 것일까. 한국형이라는 말이 붙는 것으로 OS의 의미도 어떻게 쓰인 것인가를 다시 생각하게 할 정도의 강력한 수사가 된다.

OS라는 것은 생각하기에 따라서 엄청 복잡한 괴물일 수도 있고, 덜 복잡한 구동 OS일 수도 있다. 생각하기에 따라서 쉘 혹은 사용자레벨(User Level)의 부분만을 의미할 수도 있다. 따라서, 짚고 넘어가야할 부분이 OS가 꼭 밑바닥부터 만들어야 하는 것은 아니라는 것이다. 그러니까 OS를 만든다고 커널 만들고 런타임 만들고 보안 라이브러리만들다가 돈모잘라서 그래픽 섭 시스템 만들다가 나자빠지는 그런 이상한 상황을 꼭 상상할 필요가 없다. 대표적인 두 회사 애플과 구글만봐도 그렇다. Mac의 OS X도 BSD 계열인 OpenStep을 인수해서 만든 것이고 여기서 iOS도 파생된 셈이다. 구글의 내부 구분투(Goobuntu)나 Chrome OS도 Linux기반으로 만들었고, 물론 안드로이드도 마찬가지다. 꼭 우리나라에서 바닥부터 만든다고 한국형 OS는 아닐거다.

핸드폰 시장에서 스마트폰이 아직 과반수는 아니다. 애플이 마진을 많이 쳐묵쳐묵하기 때문에 많이 버는 것이지만, 점유율로는 스마트폰 시장은 폰시장의 50%가 안되는 상황이다. 이 나머지는 수십개의 OS가 나눠먹는 곳이다. 물론 훨씬 싸고. 피쳐폰이라고해서 폰위에 피쳐를 위한 애플리케이션을 떨렁 올린 것이 아니다. 분명 OS 혹은 그에 해당하는 레이어가 존재한다. 스마트폰에 올리는 모바일 OS는 추상적으로는 여기에 한겹 또다른 플랫폼을 얹은 것이라고 생각하면 쉽다. 플랫폼이 생기면, 자연스레 돈을 벌 수 있는 도구가 생기는 것이고, 애플/구글처럼 그걸 잘 만들어 티핑 포인트를 넘어서면 자연스레 혼자 잘 돌아가는 생태계가 발생하는 것이다.

그러니까, 외세에 밀리지 않는(?) 우리나라에서 만든 OS를 마련한다는 발상은 틀린 것은 아니다. 단지 OS가 Hype을 따라다니는 기술이 아니라는 것을 이해하고, 설령 목표가 우리나라 사람들만 사용할 수 있는 OS를 만든다쳐도, 정말 우리나라 사람들이 왕창 모일 수 있는 기반을 만드는 것이 중요하다는 것을 실행하면 되는 것이다. 완전 이상적인 이야기라 다시 읽어보면 내가 간지럽다. “한국형”이기에, 우리나라 사람들이 안쓰면 쓸 사람이 없는 것 아닌가. 헌데 우리나라 사람들도 안쓸 어설픈 기획이라면…

바다는 한국형 OS일까. (솔직히 삼성의 “바다”는 제대로 구경해본 적이 없으니 추측만 적어본다.) 우리나라에서 만들었다는 것 이외에 “한국적인” 요소가 어떤 것이 있을까? 들어본 적은 없다. 남들(iOS/Android등)과 또이또이하다면, 사용자들이 굳이 불편하게 바다를 사용하지 않는 것이 당연하지 않을까. 바다가 담긴 웨이브 폰의 한국적인 차별성은 뭘까. 정말 물어보고 싶은 것이 “바다”의 한국적인 요소, 혹은 바다에만 있는 뭔가가 있냐는 것이다. 바다가 “한국형 OS”가 아니라도 그 가치는 충분히 있지만, 기사들을 보면 한국형 OS로서의 바다를 이야기하는 듯한 기분이 들어서 좀 생각해보고싶다.

또 하나 기사에 나온 내용이 “기존 기술이 아닌 선행 기술로 도전한다는 것이며 향후 오게 될 패러다임에 부합하는 제품을 개발하겠다”는 야심찬 포부는 결코 틀린 것이 아닌 방향성이라고 생각된다. “한국형”이라는 말을 붙일 것이라면 그정도 이빨은 까야지, 단순히 안드로이드 클론을 만드는 것이라면 누군들 안말리겠나. 안드로이드를 처음 만들때, 단순히 “우리는 iOS의 대항마를 만들겠다”하고 조용했다면 심심했겠지만, 벌써 달빅같이 성공할 수 있는 씨앗인 요소를 가지고 진행되지 않았던가. 선도할 수 있는 기술을 개발한다면 한국적 요소가 없어도 한국형이라 해도 문제 없겠다.

한국형 OS라는 것을 해석하는 또하나의 방법은 영어권 위주의 UX/UI 설계와 디자인을 타파하는 것이다. 우리나라 글자들은 힌팅이 기본적으로 많이 필요해서, 쉽게 이야기하면 노가다를 영어 알파벳보다 “휠씬” 더 많이 해야하는 글자들이다. 그래서 더 자랑스럽지만, 문제는 이 때문에 한글 폰트를 제대로 만들기 위해서는 그 단가가 아주 높아진다는 것이다. 한글의 진정한 아름다움을 레티나 디스플레이에 가면 더 표현하기가 힘들어진다는 것이다. 물론 미려한 폰트가 아니라 우리 눈으로 아름다움을 확인할 수 있는 단순한 디자인의 폰트를 만들 수도 있지만, 대부분의 폰트가 그렇다.

한글 입력은 또 어떤가. 모바일 기기에서 스마트폰이라고 해서 꼭 QUERTY 배열의 자판으로 글자를 입력해야될 이유가 있나? 하드웨어 키보드라면, 물리적으로 영어도 치고 한글도 쳐야하기에 그렇게 할 수 밖에 없다고 쳐도, 터치기반의 소프트키보드인데, 한글의 우수성을 살릴 수 있는 새로운 배열과 입력 방식을 표준화하는 것에 일부 투자하는 것도 또하나의 업적이 될 수 있겠다. 중국이야 시장이 크니 GB표준을 강제해도 해외 소프트웨어 업체들은 돈을 엄청 투자해가면서 이를 준수한다쳐도, 우리나라는 시장이 고만고만해서 외산 소프트웨어들이 차라라 안지키고 안들어오겠다 할 정도니까, 이를 강제할 이유는 없지만서도 드팩토 표준이 된다면, 강제가 아니라 사용자의 요구에 의해 구현을 하게 할 수도 있고.

아무튼 한국형이라는 것에 가치를 두었느냐 아니면 한국형이라는 말은 그냥 사탕발림이냐에 따라서 프로젝트의 방향은 완전히 틀린 것일게다. 기왕 한국형이라면 정말 한국형이라면 좋겠다는 생각을 해보지만, 여기까지 온 글을 다시 읽어보면 그다지 해당사항 없음 도장을 찍어도 될 상황인 것일까.

아아, 정신차리자. 이미 기사는 났고, 방향성도 정해진 것 같다. 안될 것들을 열심히 적어 이야기해봐야 아무런 결과도 안나올것인데. 좀도 현실적으로 기사에 나온 팩트로 돌아가보자. 지경부에서 한 이야기에서 “클라우드”를 겨냥한다는 내용이 있다. 위험한 발상일 수 있다. OS 레이어와 클라우드의 간극은 한참 멀기 때문이다.

– (가능하다면) 다음에 계속 –

Written by charlz

2011년 9월 9일 at pm 3:57

Uncategorized에 게시됨