페이지

2008년 2월 19일 화요일

Firefox3 beta3 릴리스

Firefox3 beta

Firefox3 beta3가 릴리스되었습니다.
저는 Firefox2 beta2부터 줄곧 사용해왔는데, 안정성에는 문제가 없었고, 단지 아직 Firefox3 베타를 지원하지 않는 확장들을 못쓰는 부분만 불편합니다.

beta2를 쓰고 있다면 자동적으로 beta3로 업데이트가 되는데, 처음으로 UI의 변화가 눈에 띄기 시작했습니다. 물론 그전 부터 조금씩 바뀌긴 했지만 도구모음이 바뀌는 수준은 아니였지요. 현재 beta4계획도 있기 때문에 바로 정식 버전이 나올 것 같지는 않고 아마도 늦은 봄이면 beta4테스트를 끝내고 정식 버전이 나오지 않을까 기대해봅니다.

참고로, 릴즈스 노트를 보시면 새로 추가되거나 바뀐 부분을 알 수 있습니다.
모질라 개발자라면, Mozilla Developer Center에 등록된 글을 보시면 좀 더 자세한 개선 사항을 알 수 있습니다.

2008년 2월 14일 목요일

아시아 오픈소스



Mozilla Corporation 소속 Gen Kanai씨가 Lift Conference에서 "Open Source in Asia"제목으로 발표한 내용을 정리해보았습니다. 참고로 Lift Conference는 기술이 사회에 미치는 영향에 대해 이야기를 나누는 행사입니다.

발표 내용은 크게 Mozilla Community in Asia와 Open source in Asia로 나눌 수 있습니다.

1. 아시아 모질라 커뮤니티

현재 아시아 지역에서 모질라 활동에 대해 소개하면, 중국과 일본은 Mozilla Corporation에서 공식적으로 지사를 운영 중이고, 한국과 대만은 커뮤니티에서 활동을 주도하고 있다고 합니다.

중국의 경우, 시장이 커지고 있는데, MS에서 일했던 Dr. Li Gong가 Mozilla China를 운영중입니다. 일본은 2000년 MozillaGumi라는 모질라 커뮤니티가 만들어졌고 2004년에 Mozilla Japan이 설립되었습니다. 현재 파이어폭스는 일본내에서 약 10~12% 점유율을 차지하고 있습니다.

한국은 윤석찬님께서 작지만 강한 커뮤니티를 이끌고 있는데,  사회적 영향으로 시장 상황이 특이합니다. 한국은 어디서나 브로드밴드의 혜택을 받을 수 있으며, 정부 주도로 e-Commerce, e-Goverment가 시작되었습니다. 하지만, 보안 트랜잭션이 필요한 전자상거래, 은행거래를 위해서는 반드시 인터넷 익스플로러를 사용해야 합니다. 이런 이유로 시장 환경은 제약적이며, 인터넷 익스플로러가 사실상 독점적 표준이 되었습니다.

2. 이시아 오픈소스

현재 아시아 지역의 회사과 비지니스에서 오픈소스를 잘 활용하고 있지만, 참여와 기여는 잘 못하고 있습니다.

리누스 토발즈가 최근 언급했듯이 세가지 장벽이 있다고 합니다.

1. 문화 (큰 장벽) => 온라인 커뮤니티를 통한 참여, 소스코드 제안/공유 이런 부분 좀 부족하죠..

2. 언어 => 주요 오픈소스 프로젝트가 사실상 영어를 사용합니다.
3. 교육 => ??

이외에 인도에는 수 많은 SW 개발자가 있음에도 불구하고 오픈소스 활동이 부족한 것은 대부분 아웃소싱된 프로젝트에 참여하고 있기 때문에 관련된 오픈소스 프로젝트나 기술에는 참여하기기 힘든 부분을 지적했습니다.

그러나, 자세히 보면 아시아도 나름 열심하고 하고 있는데,

1. 일본의 루비
2. 중국정부 주도의 홍기(Red Flag) 리눅스
3. 부탄이라는 나라가 자국 언어 지원을 위해 리눅스 기반 Dzongkha Debain Linux개발

예로 소개하였습니다. 특히 부탄이라는 나라는 인구가 2백만밖에 안되는 작은 국가이며, 고유의 문자와 입력체계를 갖고 있어 윈도에서 제대로 지원을 받지 못했습니다.  이러한 이유로 데비안 리눅스를 기반으로 자국어 리눅스를 개발하게 되었다고 합니다.

이는 작은 국가에서 오픈소스를 활용하여 그들의 언어로 그들을 위해 스스로 제어할 수 있는 운영체제를 만들 수 있는 좋은 예라고 할 수 있습니다.

다행인 것은 일본의 루비가 아시아를 대표할 만한 오픈소스 프로젝트라는 것입니다.  이 부분에 대해서 자세히 소개하더군요.

우리나라도 나름 열심히 하지만(태터툴스, 제로보드, 스프링노트 에디터 부분), 웹기반 위주이고 아직까지는 우리나라만 국한 된 듯 보여 아쉬웠습니다.

결론적으로, 아시아가 나름대로 오픈스소에 기여해 왔지만, 더 많은 활동이 필요하며 여러분의 참여와 도움이 필요하다며 발표를 마쳤습니다.

2008년 2월 11일 월요일

모질라 빌드에러...

개발할 때, 제일 싫은 것은 바로 "빌드 에러"다.

새해 첫날 우분투를 업데이트하고, 사실 이번 업데이트는 오래전부터 망설였는데, 지난 번 cairo업데이트 한 후, gtk+로 개발된 애플리케이션이 동작하지 않아 낭패를 본 경험때문이다. 이번 업데이트는 커널 부터 파이어폭스2.0, firefox-dev, apache까지 포함되어 있었다.

업데이트 한 후, 우려했던 것 처럼 문제가 발생하기 시작했다.

파이어폭스가 실행되지 않는 것이다.

joone@R2D2:~/mozilla/mozilla/obj_debuglog/dist/bin$ firefox
The program 'firefox-bin' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
(Details: serial 2377 error_code 3 request_code 20 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)

다행히 firefox --sync 하니까 실행은 되지만 온갖 디버그 정보가 터미널에 주르륵 나타났다.

더 시급한 문제는 Firefox trunk 빌드가 안되는 부분이다. 간만에 mainline으로 부터 소스를 업데이트하고 빌드하려고 하니 에러가 발생했다.

../../../config/./nsinstall -R -m 444
/scratch/chen/X/mozilla/nsprpub/pr/include/md/
/scratch/chen/X/mozilla/build/dist/include/nspr
../../../config/./nsinstall: cannot make symbolic link
/scratch/chen/X/mozilla/build/dist/include/nspr/md: File exists
gmake[7]: *** [export] Error 1
gmake[7]: Leaving directory

경로는 다르겠지만 /dist/include/nspr/md 심볼릭 링크를 만들지 못해 발생한 에러였다.

이 문제는 크로스 컴파일할 때, 타겟을 못찾는 경우 발생한다고 한다. 그래서

ac_add_options --target=i686-linux-uclibc

위 옵션을 추가했더니 컴파일이 잘된다.

갑자기 멀쩡한 우분트가 업데이트 하나로 뭔가 이상하게 동작하기 시작했다.

새해 부터 삽질은 시작되는 듯 싶다.

2008년 2월 4일 월요일

웹 브라우저에서 네이티브 인터페이스 지원하기

카메라(Camera) 영상이 표시되는 브라우저.

GPS수신기를 이용하여 구글맵(Google Map)에 위치를 표시할 수 있는 브라우저.

아웃룩에 저장되어 있는 일정을 표시하고 웹기반 주소록과 동기화해주는 브라우저.

물론 ActiveX 콘트롤이나 파이어폭스 (Firefox) 확장을 설치하면 뭔들 불가능하겠습니까? 하지만 이제 표준화된 인터페이스를 통해 현실화되고 있는 기능입니다.

이미 우리는 XMLHttpRequest 인터페이스를 통해 변화하는 웹을 경험했습니다. 하지만 이 기능이 처음 등장한 것은1999년  IE5.0이 출시될 때였습니다. 이후, 파이어폭스가 같은 인터페이스를 지원하고 구글맵에서 사용되기 전까지 잘 활용되지 못했습니다. 여기서 우리가 깨달은 것은 어느 한 브라우저만이 자신들만의 확장 기술로 이러한 인터페이스를 구현해서는 안된다는 것입니다.

실험적인 시도는 어떤 브라우저에서도 가능하겠지만, 표준화를 염두하지 않는다면 기술의 확산과 사용에 혼란을 줄 수 밖에 없습니다. 그런 사실을 누구보다 잘 알고있는 브라우저 업체들은 WHATWG를 만들어 더 나은 웹 환경을 만들기 위해 표준화에 앞장서고 있습니다.

Supporting Native Interfaces on the Web

그러면,네이티브 인터페이스(Native Interface)가 무엇이고 이를 지원하기 위해 어떤 움직임이 있는 알아보도록 하겠습니다.

네이티브 인터페이스란, 하드웨어 또는 특정 다른 애플리케이션의 고유 기능을 웹브라우저에서 접근할 수 있도록 표준화한 것을 말합니다. 개발자는 HTML 태그 또는 자바스크립트 개체 형태로 사용이 가능합니다. 그리고 앞서 잠깐 소개했듯이, 다음과 같이 크게 두가지로 형태로 구분할 수 있습니다.

  • 하드웨어 네이티브 인터페이스 : 하드웨어 고유 기능을 DOM 레벨에서 사용할 수 있도록 인터페이스화 한 것

  • 애플리케이션 네이티브 인터페이스: 디바이스에 내장된 특정 애플리케이션 또는 미들웨어의 기능을 DOM 레벨에서 사용할 수 있도록 인터페이스화 한 것


하드웨어 네이티브 인터페이스 경우, 앞서 언급한 GPS, 카메라와 함께 iPhone에서 보여준 사파리(Safari)에서 전화거는 기능이 대표적인 예라고 할 수 있겠습니다. 또한, 파이어폭스에서 GPS 수신기와 연동하는 기능을 구현한 확장이 이미 공개되어 있습니다.

애플리케이션 네이티브 인터페이스 경우, 로컬 주소록이나 일정을 관리하는 미들웨어의 기능을 브라우저 인터페이스로 노출하여 웹애플이케이션이 이를 사용하여 웹페이지에 데이터를 표시하거나 서버에 전달할 수 있도록 합니다. Remember the Milk라는 할 일 관리 서비스에서도 볼 수 있듯이 현재 이런 기능은 전용 애플리케이션으로 구현하고 있습니다모질라에서도 Mozila2 플랫폼을 통해 디바이스의 로컬 일정과 주소록을 동기화하는 부분도 구현중에 있습니다. 물론 이 부분이 파이어폭스에서도 사용될 수 있으나, 보안 문제 등 해결할 문제도 많은 것 같습니다.

또한 HTML5의 <video>태그도 애플리케이션 네이티브 인터페이스 중 하나라고 생각할 수 있습니다. 시스템에 설치된 코텍(codec)을 브라우저 표준 인터페이스를 통해 사용하게 되어 모든 비디오 포맷을 동일한 방법으로 사용할 수 있는 길이 열린 것이지요. 또한 지금까지 플러그인(plug-in)을 통해 구현했던 비디오 출력 기능은 다른 윈도우에 그려졌기 때문에 웹브라우저에서 이를 제어할 수단이 많지 않았습니다. 하지만 <video>태그를 통해 웹페이지가 렌더링되는 같은 메모리 공간(surface)에 비디오가 출력되어 서로 합성이 가능해졌습니다. 이 결과 canvas나 SVG를 이용하여 비디오에 다양한 효과를 줄 수 있게 되었습니다. 이미 이미 오페라(Opera)(와 모질라(Mozilla)에서 이를 구현한 결과를 공개하였습니다.앞으로 웹을 통한 새로운 시도가 계속 될 것이며, 이런 발전을 통해 우리가 웹2.0에서 경험한 그 이상의 혜택을 받게 될 것입니다. 단, 이 모든 것은 표준화와 함께해야하며 특정 벤더가 독점해서는 안되겠습니다.