페이지

2012년 2월 27일 월요일

한국인/국내기업은 얼마나 Linux Kernel에 기여할까?

올림픽에는 원래 공식 순위가 없다고 한다. 그래서 나라마다 순위를 정하는 기준이 다르고, 우리나라는 유독 금매달에 집착해 순위를 정한다. 나도 그런 한국 사람인지 몰라도, 한국과 관련된 높은 순위에 열광하고 의미를 부여하는 것을 좋아하는 것 같다. 

Linux Foundation에서는 Kernel Git Repository를 분석해서 매년 누가 얼마나 코드를 기여하는지 순위를 발표하고 있다. 개인별 순위 부터 기업별 순위를 매기고 있는데, 2010년 자료에 흥미로운 결과가 있어서 소개해 본다.
(The above numbers are drawn from the entire git repository history, starting with 2.6.12)

허태준님은 2007년에 이 보고서를 통해 국내 오픈소스 커뮤니티에 알려지기 시작했다. "Linux Kernel Maintainer중에 한국인 이름이 있다. 이 분이 kldp.org에 문서를 등록한 것으로 보아 한국인이 맞다."등등. 결국,  KLDP 컨퍼런스에도 Linux Kernel 참여에 대해 발표를 하기도 했다

위 순위를 보면, 단순히 참여 수준이 아니라, 8위에 랭크되어 있는 것을 알 수 있다. 곧 결혼하신다 하니, 내년에는 순위가 좀 떨어질 것 같다. ^^; 현재 Google에서 일하고 있으며 내일 구글 오픈소스 라운드테이블 패널 중 한분으로 Linux Kernel 개발을 소개할 예정이다. 여기 참석할 분은 사인을 받으면 좋을 것 같다. :-)

(The picture since 2.6.30)
삼성전자가 2010년 회사 기여 순위에 올라온 것은 무척 반가운 일이다. 국내 기업이 Linux Kernel에 이렇게 많이 기여하고 있는지 모르는 분이 많을 것이다. 아쉽게도, 이런 사실이 언론을 통해 알려진 적이 없는 것 같다. 많은 사람들이 대한민국 소프트웨어 위기를 말하는데, 이 자료를 보면 작은 희망을 갖게 된다. 이런 배경인지 몰라도 삼성전자가 안드로이드 스마트폰에 무척 강한 모습을 보이고 있다.  

삼성전자 김국진님도 역시 내일 구글 행사에 패널로 참여하므로 그 분의 Kernel개발 이야기를 들어볼 수 있을 것 같다. 이외에 본인이 아는바로 내일 역시 패널로 참석하는 LG전자의 김남형님이 활발하게 활동 중이다. 그리고, 얼마전까지 Redhat에서 일했던 김민찬님도 활발한 Kernel 개발자이다.

Linux Kernel 개발 참여는 많은 개발자의 꿈이기도 하다. 내일 구글 행사에 참여하는 많은 분들이 이런 순위 결과를 통해 자극을 받고 자신감을 가지면 좋을 것 같다. 실력도 중요하지만, 열정이 가장 중요한 것 같다. 시간은 걸리겠지만 꾸준한 관심과 참여로, 언젠가 이런 순위에 이름을 올릴 수 있는 또 다른 한국인 개발자가 나타나기를 기대해 본다.

자료 출처: Linux Kernel Development: How Fast it is Going, Who is Doing It, What They are Doing, and Who is Sponsoring It, 2010.12

2012년 2월 21일 화요일

2012년 1,2월 브라우저 기술 동향

제13차 W3C HTML5 KIG(Korean Interest Group) 회의에서 발표한 최근 브라우저 기술 동향을 정리해보았습니다.
몇가지 특징을 살펴보면,
  1. Remote Debugging
  2. SPDY, SSL Faststart
  3. Hardware Accelerated Graphics
  4. V8
  5. Navigation Timing
  6. Large persistent cache
  7. requestAnimationFrame
  8. Preloading
  9. HTML5 APIs
HTML5 Feature를 살펴보면,
  1. AppCache
  2. FileSystem and File APIs (File, FileList, FileReader, Blob)
  3. localStorage for storing simple key-value pairs
  4. WebSQL for relational data (deprecated)
  5. IndexedDB
지원하는 Device API를 살펴보면,
  1. Geolocation API for accessing location
  2. HTML media capture for camera access
  3. Device orientation
  4. Android Intent URIs such as tel: and geo: that give access to the dialer and Google maps
FAQ 가운데, 중요한 것을 살펴보면,
  1. Is Chrome for Android Beta open source?
Android용 Chrome브라우저는 소스코드가 공개되어 있지만, 개발 브랜치는 공개되지 않았으므로, 아직까지 100% 오픈소스라고 말하기는 힘들 것 같습니다. 하지만 향후, Chromium Project를 통해 오픈소스화 될 것으로 예상합니다.
  1. Does Chrome for Android now support the embedded WebView for a hybrid native/web app?
아직은 지원하지 않지만, Chrome의 WebView를 쓸 수 있으면 독립 프로세스로 진정한 웹앱을 개발할 수 있을 것 같습니다.
  1. Does Chrome for Android support apps and extensions?
아직까지 계획에는 없다고 하지만, WebView를 쓸 수 있다면 앱은 가능할 것이고, 확장은 Desktop과 호환성을 갖추기는 어렵겠지만, 독자적으로 지원할 것으로 예상합니다.
  1. What version of Flash is supported on Chrome for Android?
Adobe도 이미 Mobile용 Flash를 지원하지 않기로 했기 때문에, 역시 Andrioid용 Chrome도 지원하지 않는다고 합니다.
  1. Is Canvas hardware accelerated?
Andorid가 사용하는 2D 그래픽 엔진인 Skia가 HW가속이 되므로, Canvas도 당연히 가속이 됩니다.
  1. What about WebGL support?
이 부분은 의외지만, 아직은 안된다고 합니다.
  1. Does Native Client work on Chrome for Android?
역시 지원하지 않습니다.
더 자세한 내용은 아래 원문을 참고하세요.
그외에,
Erisson에서 WebRTC Demo을 iOS에서 보여주었습니다. Erisson은 그동안 WebKitGtk+과 GStreamer를 기반으로 WebRTC를 구현했습니다. 이번에 iOS용 WebRTC App을 만들어서 서로 화상 통신하는 Demo를 보여준 것입니다. 참고로, WebRTC는 Chrome에서도 이미 구현을 해서 공개를 했고, Mozilla도 관심을 갖고 스펙을 만들고 있습니다. 향후, 웹에서 JS에서 사용가능한 WebRTC API 이용해서 쉽게 화상통신 기능을 구현할 수 있게 될 것입니다.
W3C에서 Shadow DOM이라는 스펙을 표준화하고 있습니다. 웹 UI를 구성하다 보면 자연스럽게 여러개의 구성요소로 화면을 나눌 수 있습니다. 사실 각각의 구성요소가 Widget이 되고 별개로 구분하여 재사용 가능할 수도 있습니다.  사실 HTML에서 사용하는 widget류의 element는 내부적으로 별도의 DOM 구조(Shadow DOM)를 갖고 있으나 접근이 막혀있습니다.   엘리먼트를 이용하면 DOM 구조의 경계를 넘나들 수 있게 됩니다. 그래서 CSS를 조정해서 보이는 모습을 변경할 수 있습니다. 테스트가 필요한 분은 이 글을 참고하세요.

마지막으로, Firefox10에 추가된 개발도구에도 관심을 가져주시기 바랍니다.
나머지 소식을 링크로 확인하세요.
  1. Reverse directions for CSS Animations are now available
  2. Apple has landed support for hardware accelerated CSS Filter animation.
  3. Decoding of JPEG images has been improved by 9% on Chromium.
  4. WebGL is now able to report errors to Web Inspector’s console.
  5. It is now possible to build Samsung’s WebKit EFL port with support for WebGL.
  6. Add a custom CSS Lexer for WebKit, doubling lexing performance!
참고
  1. http://peter.sh/2012/01/shadow-dom-pointer-lock-and-a-new-css-lexer/
  2. http://peter.sh/2012/02/mutation-observers-reversed-animations-and-faster-jpegs/