페이지

2011년 5월 14일 토요일

WebKit Contributors meeting 2011

WebKit Contributors Meeting 2011
지난 4월 24,25일 미국 Apple본사가 위치한 Cupertino에서 열린 WebKit Contributors meeting 2011에 참석했습니다. 본 행사는 WebKit Contributor가 한 자리에 모여, 당면한 문제와 앞으로 계획 등을 논의하는 자리입니다. 올해가 두번째 열렸으며, unconference형식으로 진행되는 행사입니다. 지난 1년간 함께 WebKit을 개발해온 사람들이 함께 모이는 축제라고도 할 수 있겠지요. 이번 모임에서 어떤 논의가 있었는지 간단하게 소개하도록 하겠습니다.

WebKit은 모바일 브라우저 엔진 뿐만 아니라 Mobile Platform으로도 사용되고 있기 때문에 Apple과 Google뿐만 아니라, Nokia, RIM, Samsung, Motorola, Ericsson, Sony, Igalia, Sencha 에서도 참석하였고, 저도 Collabora를 대표해서 참석하였습니다.  지난 WebKitGtk+ Hackfest 참석 멤버들도 다시 만나서 반가웠고, 제 Patch를 review해주던 Reviewer도 실제로 만나니 더 반가웠습니다. 오픈소스 프로젝트에 참여하는 맛이 이런게 아닌가 싶었습니다. 

진행된 Session과 내용은 대부분 인터넷에 공개가 되어 있어서, 어떤 논의가 오고갔는지 확인할 수 있습니다.  무엇보다도 관심은 WebKit2였습니다. 작년에 Apple이 소개한 WebKit2는 그 동안 Qt와 Gtk+ Port팀도 활발하게 작업을 진행하고 있습니다. 사실, WebKit2는 WebCore를 제외한 API영역과 Web Process와 UI Process를 새로 개발하기 때문에 그리 간단한 일은 아닙니다. 이날도 많은 Issue가 쏟아져나왔는데, 몇 가지를 소개하면 다음과 같습니다. 
  • C API사용이 최선인가? 이미 Qt는 C++ API를 사용하고 있습니다.
  • plugin을 별도 process로 실행하기. 곧 Apple이 소스를 공개한다고 합니다.
  •  WebKit1과 WebKit2와 중복 code를 어떻게 줄일까요?
  • DRT를 다시 작성하는일, WebKitGtk+의 경우 WebKit1용 DRT도 아직 완벽하지 않습니다.
  • theaded model 지원하기. mobile device에서 각 page마다 web process를 실행하는 것은 다소 부담스러운 일입니다.
  • web process와 ui process과 통신하는 부분이 너무 platform 의존적으로 개발되어 있어, 뭔가 추상화 모델이 필요합니다.
  • Mac에서 구현한 접근성 기능을 다른 port에서는 따라하기가 쉽지 않다고 합니다.
그 다음 제가 관심을 가진 부분은 하드웨어 가속입니다.  하드웨어 가속은 크게 2D가속, accelerated compositing, WebGL 지원으로 나눌 수 있는데, 논의된 issue 가운데 몇가지를 소개하면,
  • Canvas 2D 가속하기 : Canvas 2D를 GPU를 이용하여 가속하는 patch가 WebKit에 반영되어 현재 계속 보완되고 있습니다. Google에서 Skia가속을 위해 계속 작업 중에 있고, 실제 Profilng결과, 성능이 빨라지는 부분만 가속하는 방식을 사용하고 있다고 합니다.
  • WebKit2에서 GPU가속: Chromium처럼 GPU Process 실행시켜 구현. 
이외 Build System을 CMake나 GYP로 일원화 하자는 이야기가 있었지만, 결론은 쉽게 나지 않을 것 같습니다.  그리고, 작년에 HTML5 Parser가 WebKit에 추가되면서 Parser코드가 완전히 교체되었는데, 이에 대한 구현 내용을 소개해주었습니다. 기존 Parser코드를 이해하는데 3 개월(?)이 걸린 만큼 복잡한 코드였는데, HTML5 Spec을 반영하면서 새롭게 개발했다고 합니다.  마지막 Session에서는 Review-a-thon 행사가 열렸는데, 100개를 목표로 Patch룰 review하는 시간을 가졌습니다.  제가 행사 때 올린 Patch 하나도 Review가 되긴 했는데, 다른 방식으로 수정이 되었네요.

마지막 날 오후에 작년 처럼 단체 사진을 찍었는데, 운 좋게 가운데 자리에 자리를 잡아서 사진이 잘 나왔네요.

(C) torarnv
비록 각 contributor가 속해있는 회사는 서로 치열하게 경쟁하지만, WebKit 개발 커뮤니티는 더 나은 브라우저 엔진을 개발하기 위해 서로 협력하고 참여를 독려하고 있습니다. 혼자 개발하는 것 보다, 함께 개발하는 것이 비용과 시간을 줄이고 더 나은 기술을 받아들일 수 있는 좋은 방법이라고 믿기 때문이죠.  내년 모임에서는 더 알찬 소식을 전하도록 하겠습니다~
 

WebKit Party Poster

2011년 4월 9일 토요일

GNOME3 Korea Launch Party

GNOME3 Korea Launch Party


어제(4/9) GNOME3 Korea Launch Party가 잘 끝났네요. 베일(?)에 가려져있던 한국 그놈 커뮤니티 분들을 직접 만나게 되어 무척 즐거웠고, 좋은 발표도 이어져, 3시간 동안 알차게 시간을 보낸 것 같습니다.

그놈 플랫폼은 우분투에서 기본으로 사용하기 때문에 정말 많은 사용자가 국내에도 있지만, 정작 우분투는 알고 그놈이 무엇인지 모르는 분들이 많은 것 같습니다. 설명하지면, 우분투는 대표적인 리눅스 배포본 중의 하나이고, 그놈은 우분투에서 사용하는 데스크탑 환경과 기반이 되는 플랫폼 그리고 응용 애플리케이션이라고 말할 수 있습니다. 주요한 특징은 GTK+라는 Widget Toolkit으로 애플리케이션을 개발하고 GObject 사용합니다.

한국 그놈 커뮤니티에서 그 동안 (아마 10년 넘게), 한글화 및 한글 지원 작업을 진행해오고 있습니다. 국가에서 상이라도 줘야할 것 같은데, 조용하게 활동하는 분들이라서, 그 동안의 기여가 제대로 알려지지 못한 것 같습니다.

그 동안 진행해왔던 일들을 소개하면, (제가 모두 아는 것은 아지만)
등등 입니다.

현재 이슈 사항으로는 (창우님의 발표 내용을 더듬어)
  • 나눔글꼴 이슈 (fork 고려)
  • GNOME Accessibility에서 Screen Reader 한글 지원
  • Telepathy Nate-on Connection Manager (리눅스용 Nate-on이 더이상 업데이트 안되고 있다고 하네요)
  • Banshee 한국음원사이트 관련 Plug-in 개발
등이 있습니다.


 이번 행사에서,

차영호님이 GNOME3 Demo, GObject-Introspection을 발표,
류창우님께서 GNOME 커뮤니티에서 진행해 온 일과 앞으로 할 일 등을 소개,
박보람님께서는 GTK+3를 소개하고,
제가 WebKitGtk+를 소개하였습니다.

이번 GNOME3 출시로 인하여, 리눅스 데스트탑 환경이 더욱 발전하기를 빌고, 국내에서도 많은 참여가 있었으면 좋겠습니다. 마지막으로, 행사를 준비하시느라 수고하신 창우님 이하 커뮤니티 회원 여러분들과 장소를 제공에 도움을 주신 네이버 순선님께 감사를 드립니다.

참고로, 그놈 한국 커뮤니티에 참여를 원하는 분은 아래 mailing list에 가입하세요.

2010년 8월 12일 목요일

우리에게 이야기가 없는 이유

P1010475
2010 부천판타스틱영화제. 건담 영화 상영과 함께 전시회도 열렸다.
얼마전 부천국제판타스틱 영화제에서 건담 영화를 봤습니다. 비디오로 몇 번 보다가 대형 스크린에서 건담을 보니 감회가 새로웠습니다. 영화제와 함께 별도로 건담 전시회도 함께 열렸는데, 건담의 시작과 각 에피소드, 등장 인물을 한눈에 볼 수 있도록 잘 정리해 놓았습니다. 70년대 말 부터 30년 가까이 계속되고 있는 건담 시리즈는 넓은 세계관 만큼 다양한 에피소드를 갖고 있고 계속 진화 발전하고 있습니다. 세계적으로 이런 시리즈물은 많이 있습니다. 영화 스타워즈, 스타트랙을 비롯해, 소설 반지의 제왕, 해리포터 시리즈 등 다양한 이야기와 독창적인 세계관으로 전세계적으로 많은 팬을 거느리고 있습니다. 그렇다면 과연 우리에게도 이와 같은 이야기가 있을까요?
Open the source code of Death Star!
때로는 스타워즈의 등장 인물의 되고 싶을 때가 있다.
제가 좋아하는 스타워즈를 예로 들어보겠습니다.너무나 유명한 스타워즈는 1977년 조지루카스 감독에 의해 영화로 만들어진 후, 소설, 게임, 애니메이션으로 만들어져 큰 인기를 누리는 장수 시리즈입니다. 현재는 TV드라마로도 제작되고 있습니다. 흥미로운 것은 영화에서 소개된 줄거리는 어쩌면 일부에 불과하다는 것입니다. 영화 이전 시대인 구공화국 이야기와 에피소드간의 중간 이야기 그리고 각 등장인물의 외전까지 합하면 모든 이야기를 따라가는 것은 매니아가 아니면 벅찬 일이지요.

일본의 경우, 건담 뿐만 아니라 소설이지만 애니메이션으로 유명한 은하영웅전설이 있고, 많은 영화와 또 다른 애니메이션의 모티브가 된 공각기동대, 지금도 계속 영화로 이야기를 반복하고 있는 에반게리온 등이 있습니다. 여기서 미야자키 하야오의 나우시카를 빼놓으면 안되지요. 원작은 만화이며 애니메이션은 전체 이야기의 1/10만 소개되어있습니다. 애니메이션 만으로는 이해하기 힘든 독창적인 세계관과 역사를 소개하고 있고, 환경 파괴에 대한 저자의 생각을 이해하는데 도움이되는 초기 작품입니다. 

우리나라도 태권V가 시리즈가 있긴 하지만, 어떤 세계관을 담기 보다는, 우주평화를 위해 악당 로봇과 싸우는 수준이였던 것으로 기억합니다. 김박사, 깡통 로봇, 메리 외에 뚜렷이 기억할 만한 등장 인물이 없지요. 우리나라가 온라인 게임은 발전되어 있지만, 게임이외에 다른 형태로는 발전을 못했습니다.

이런 현상이 왜 일어난 것일까요? 줄세우기식의 교육 제도, 만화 컨텐츠에 대한 부정적인 시각, 창작 문화에 대한 투자 부족 등이 원인일 수 있습니다. 그러나, 제가 보기에는 "빈둥거릴 여유"가 없어서 그런 것 같습니다. 그냥 아무것도 하지 않고 상상할 수 있는 여유가 있어야 하는데, 우리 사회는 그런 것을 용인할 만큼, 여유가 없습니다.

우리는 너무 바쁩니다. 아이들은 밤늦게 어딘가에 잡혀서 자신들의 상상력을 죽이고 있고, 대학생들은 세상을 공부하기 보다는 좋은 스펙을 쌓기 위해 노력해야 합니다. 직장인은 야근과 각종 회식과 모임으로 소설 책 한권 읽을 여유가 없는 것 같습니다. 

빈둥거려봅시다. 사실 배울 것도 많고 할 일도 많지만, 일정 시간을 내서 여유를 가져봅시다. 그리고, 연습장에 나만의 이야기를 써 봅시다. 그 이야기가 발전되면 우리가 만들고 모두가 좋아하는 멋진 이야기를 갖게 될지도 모릅니다.