페이지

레이블이 Community인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Community인 게시물을 표시합니다. 모든 게시물 표시

2013년 10월 3일 목요일

BlinkOn Conference

지난 주에 샌프란시스코 Google 사무실에서 열린 BlinkOn Conference에 참석했다. Google이 WebKit Project에서 나와 Blink라는 이름으로 Browser Engine을 개발하기 시작한 이후, 처음 열리는 Blink 개발자 모임이다. WebKit committer로서 Community가 둘로 나누어지는 것은 가슴 아픈 일이였다. 하지만, Apple과 Google이 추구하는 바가 다른 이상, 혁신을 위해 각자의 길을 갈 수 밖에 없는 현실을 지켜볼 수 밖에는 없었다.

여러 회사가 이미 WebKit에서 Chromium으로 옮겨갔다. Qt가 Chromium을 기반으로 웹엔진을 개발하겠다고 발표해서 WebKit Community가 좀 시끄러웠다. Google이 Apple보다는 개방적으로 프로젝트를 운영하기 때문에 이러한 현상은 계속될 것 같다. Google에는 Chromium 관련 내부 mailing list 조차 없다고 하니, 열린 개발 방식이 얼마나 무서운지 새삼 느낄 수 있었다. 이제 Chromium Project가 모든 것을 다 빨아들이고 있다. 여기 승선하지 못하면 왠지 뒤떨어진다는 느낌을 갖게 되는 것도 무리는 아닌 것 같다.

이번 Conference에서 소개된 Blink 현황과 기술적인 내용을 살펴보자.

먼저, Blink의 성능 향상과 위한 노력이 진행중이다. 성능은 Parsing, DOM, HTML, SVG, CSS 처리, Style resolution, Layout, Rendering 등등 전반적으로 모든 부분에서 개선 중이다. Blink내 Web Engine이 가져야할 핵심 기능이 아닌 Platform관련 코드 (예, keycode 변환), Networking(예, WebSocket Protocol), Rasterization 코드를 제거할 계획이다.

이외에 Chromium과 Blink의 모둘화 작업도 진행중이며, Blink와 V8의 garbage collection기능을 통합할 계획이다. Blink는 WebKit과 같이 Smart Pointer를 사용했는데, 이 부분이 모두 변경될 것 같다.
많은 시도들이 앞으로 일어날 예정이다.

Mobile과 관련된 Session이 하나 있었는데, Android Blink가 Desktop가 다른 점와 Mobile 환경의 여러 제약점, 빌드 방법 등을 소개하였다.
Android Blink는 platform코드 일부가 Java로 코딩되어 있어서 JNI로 Blink로 연결되어 있다. Mobile기기는 core개수, memory크기, GPU성능이 많이 뒤지지만 사용자는 초당 60FPS의 성능을 요구하기 때문에 여러가지로 어려운 상황이다. 프로세스를 많이 만들수도 없고 cache memory를 넉넉하게 사용할 수도 없다.  Network도 안정적이지 않고 비용이 든다. 그렇기 때문에, mobile은 특히 Chromium에게는 도전적인 부분이다. 이미 WebKit 기반의 Safari는 mobile에 많이 최적화되어 있지만, Chrome이 이제 시작 단계이다.

Performance 관련해서 Trace Event Profiling Tool이 소개되었는데, 아주 흥미로웠다. 툴을 이용해서 병목 지점을 찾고 code까지 고치는 것을 보여주었다. 특히, frame viewer를 이용해서 Skia paint를 단계별로 replay할 수 있는 기능까지 제공한다.

Rendering관련해서, 사실 Blink가 fork한 WebKit코드는 10년의 역사를 갖고 있고 계속 기능이 추가되다 보니 몇 개의 주요 class의 경우 코드 길이가 매우 길다.  RenderBlock이 6.8k, RenderBox가 4.7K이고 RenderLayer의 경우 HW 가속 및 svg관련 코드를 포함하고 있다.  또한 repaint도  불필요한 repaint를 줄이기 위해 최적화가 필요하다. 예로 table의 경우 여러번 다시 그리는 경우가 많다고 한다. 일부 웹사이트는 CSS 파일 크기도 커서 thread CSS parser를 도입할 필요가 있고, RenderStyle Cache 종류도 많고 복잡도가 높아서 개선이 필요하다고 한다.

Editing은 WebKit에서 독립하면서 maintainer가 없었는데, 이번에 새로 맡은신 분이 Editing 현황을 잘 소개해주었다. 연세가 지극하신 개발자인데, 유머있는 발표가 인상적이였다. 사실, WebKit/Blink의 모든 코드를 다 이해하는 사람은 없다. 특히, Editing부분 소수의 사람만이 이해하고 있는 다소 복잡다고 높고 버그가 많다고 알려져있지만, 발표자는 전혀 그렇지 않으니 많이 기여하라고 이야기해주었다. 재밌는 것은 Rich Edit 기능을 JS로 구현할수도 있다는 사실이다. Web Engine의 일부 기능을 JS로 구현하는 것은 성능이나 메모리 사용 때문에 주저할 수도 있겠지만, 복잡도가 높아서 Engine에서 분리할 수 있다면 나쁘지 않은 선택일 수도 있다.

Open Source 개발자에게 특히 외부 contributor에게는 뭔가 일할 부분을 찾는 것이 쉽지 않다. 그냥 보면 모두 완벽해 보이기 때문이다. 하지만 이런 자리에서 문제점을 확인하고 뭔가 기여할 만한 부분을 찾는 것은 굉장한 소득이다. 그리고, 내 patch를 review한 개발자와 만나 앞으로 개발 방향을 듣고 의견을 나누는 일도 좋았다.

여전히 웹은 진화 발전하고 있다. 이럼 흐름에 직접 기여할 수는 기회를 갖게 되어 기쁘다.

2007년 12월 17일 월요일

Creative Commons Korea Hof Day & Korea Mozilla Community Party 2007

CC Korea & Mozilla Firefox

12월 15일 홍대 앞에서 한꺼번에 두 행사가 열렸습니다.

늘 그렇지만 이런 외부 행사를 통해 늘 새로운 영감과 정보를 얻고 저 자신을 발전시키기 위한 기회를 갖게 됩니다. 무엇보다 저와 비슷한 생각을 가진 사람들을 만난다는 기쁨이 더해지지요.

Creative Commons Korea Hof Day는 CC Korea의 법인화를 선포하고 CC 라이센스를 이용하고 관심을 갖는 다양한 계층의(블로거, 음악가, 법조인, 개발자, DSLR사용자, 컨텐츠 기획자... ) 사람들이 참여하였습니다. 홍대 클럽에서 열려서 분위기는 좋았고 음악(대학팀의 락 공연과 국내 최초로 CC License로 음반을 출시한 BUST THIS의 공연)과 어울어진 축제의 한마당이였습니다. 파티 전체가 전세계로 생중계되었고 멀리 해외 및 각계 인사들의 축하 영상도 이어졌습니다.

KoMoCo Party는 CC Korea Hof day가 끝날 즘에 열렸고 50여명의 사람들이 참석하였습니다. 파이어폭스 사용자, 웹개발자, 기획자 등 많은 분들이 참석해주셨습니다. 특히 올해는 몇 명의 여성 사용자의 참석이 눈에 띄었습니다.

간단히 자신의 소개와 저녁식사가 이어졌고 한국 모질라 커뮤니티 리더인 윤석찬님께서 모질라 프로젝트에서 대해서 소개해주셨습니다.

  • Firefox 3.0 베타2 테스트 현재 진행 중이고

  • 마운틴 뷰의 Mozilla Corporation 사무실 모습과 직원들의 자유스러운 모습이 소개되었고..

  • 리트머스라는 테스트 툴 소개 (사용자의 참여로 테스트 수행)

  • 요즘 매주 test day가 진행중인데, 세계적으로 1000여명(?) 참석

  • 내년 다음, 네이버용 Firefox3가 나올 예정 (IE Tab과 IE 전용 사이트 DB 탑재)


모질라 재단도 국내 오픈웹 상황에 대해서 잘 알고 있다고 합니다. 한국은 특정 브라우저가 99%이상을 점유하고 있는 전세계 유일한 나라로서 심각한 폐해를 보여주는 대표적인 예이지요. 이 상황은 특정 브라우저 문제가 아니라 우리나라의 개발자들의 무개념 마인드와 정책을 결정하는 정부 관리자의 안일한 생각이 큰 문제라고 생각합니다.

석찬님이 이야기했듯이 모질라 프로젝트의 Moto가 바로 오픈웹입니다. 파이어폭스를 통해 좀 더 많은 사람이 오픈웹 운동에 동참하고 어떤 플랫폼, 어떤 브라우저에서 아무런 문제 없이 사용할 수 있는 참다운 웹 세상이 올 수 있도록 노력해야겠습니다. 모질라 커뮤니티가 그 중심에서 큰 역할을 할 수 있으리라 기대합니다.

바깥고리