구글크롬의오픈소스웹브라우저 Chromium 공개 SW 개발자 Lab 오픈소스프론티어 2 기임성국
크로미엄 (Chromium) 은오픈소스브라우저프로젝트로더안전하고, 더빠르고, 더안정적으로사용자들이웹을사용할수있도록돕는다. 크로미엄브라우저의주요특징은탭기반의윈도우관리자로사용자UI를최소화하는컨셉이고, 기존전통적인브라우저방식과차별을두며탄생하였다. 주로최신기술을시험하는가늠터의역할을하며윈도우, OS X, 리눅스그리고모바일운영체제인안드로이드, IOS를지원한다. 2016년 7월넷애플리케이션즈에따르면, 크로미엄기반브라우저인크롬의사용자점유율은무려 51% 를기록하였으며지난 1년동안 23.1% 나증가하였다고한다. 이글을통하여크로미엄의역사를먼저살펴보면서주요기능및특징에대해간략히알아보도록하겠다. [ 목차 ] 1 크로미엄 (Chromium) 의역사 1.1 출시발표 1.2 공식릴리즈 1.3 발달 2 기능및특징 2.1 북마크, 환경설정동기화 2.2 웹표준지원 2.3 보안 2.4 크롬확장프로그램 (Chrome extension) 2.5 웹페이지자동번역 2.6 플랫폼 3 시장점유율 3.1 세계시장점유율 3.2 국내웹브라우저시장에서의점유율 4 배포버전 4.1 안정판 4.2 시험판 4.3 개발자판 4.4 카나리아
1 크로미엄 (Chromium) 의역사 크로미엄은공개SW 프로젝트로구글크롬과동시에공개되었다. 따라서구글크롬, 그리고크로미엄은역사를공유한다. 구글의 CEO인에릭슈미트는독자적인브라우저개발을 6년동안반대했다. 그는 그당시에구글은작은회사였다. 라며브라우저전쟁을하고싶지않았다고말했다. 하지만구글의공동창업자인세르게이브린과레리페이지가몇몇의모질라파이어폭스개발자를채용하고크롬브라우저에대한데모를성사시킨이후, 에릭슈미트는 그것은매우좋았으며나의생각을완전히바꾸어놓았다. 라고하였다. 소문에따르면구글의브라우저는 2004년 9월에생겨났고, 온라인저널과미국신문사에따르면당시구글은마이크로소프트에서웹개발자로일했던사람들을채용했다고한다. [ 그림 1] 크로미엄의초창기버전 : 크롬과크로미엄의차이점을설명하고있다.
1.1 출시발표구글크롬의출시는 2008년 9월 3일에예정되어있었으나하루전인 2008년 9월 2일에발표되었다. 크롬의특징을설명하고새로운브라우저에대한관심을유발시키기위해스콧맥클라우드가그린만화가저널리스트들과블로거들에게보내졌다. 총 33페이지로구성되어있으며현재도 Google Books를통해볼수있다. [ 그림 2] 당시새로운브라우저인크롬에대한만화 https://www.google.com/googlebooks/chrome/small_00.html 1.2 공식릴리즈윈도우구글크롬은 2008년 9월 2일에 43개언어로베타버전이발표되었으며안정판은 2008년 12월 11에발표되었다. 크롬은빠르게 1% 의점유율을달성한이후에 2008년 10월 0.69% 까지떨어졌으나 2008년 12월부터다시점유율이오르기시작하였다. 이후 2009년 1월 CNET은구글이 OS X, 그리고리눅스용크롬을출시할것이라고보고했다. 공식크롬 OS X, 리눅스버전의개발자미리보기 (Developer preview) 는 2009년 6월 4일에발표되었다. 2009년 12월, 구글은베타버전의 OS X 그리고리눅스용크롬을출시하였다. 2010년 5월 25일에발표한구글크롬 5.0은 3가지플랫폼을모두지원한첫번째안정판이다.
1.3 발달크롬은구글과모질라넷스케이프포타블런타임 (Mozilla s Netscape Portable Runtime), 네트워크보안서비스 (Network Security Service), NPAPI(45버전이후권장하지않음 ), 스키아그래픽엔진 (Skia Graphics Engine) 밖에도 SQLite 등많은공개SW를통해 25개의코드라이브러리를모아만들어졌다. 또한 V8 Javascript virtual machine은독립적으로분리되어관리되고있다. 구글에따르면기존구현은 작은프로그램위주로, 성능과시스템간의상호작용은많이중요하지않은 방식이었다면 Gmail과같은웹어플리케이션은웹브라우저가 DOM manipulation과자바스크립트를최대한하도록한다. 따라서자바스크립트엔진이더욱빠르게작동하는것이매우중요하다. 크롬은초창기에 WebKit 렌더링엔진을이용하여웹페이지를보여주었지만, 2013년웹코어컴포넌트를포크 (fork) 하여 Blink라는레이아웃엔진을탄생시켰다. Blink는 WebKit의 WebCore 컴포넌트만을사용하고, 기존 WebKit 구현과는다른 Multi-process 아키텍처를사용했다. 크롬은초창기부터 unit testing 방식으로테스트했으며, fuzz testing, WebKit s layout test 그리고구글인덱스를통해접속되는웹사이트들에대해테스트했다. 2012년 2월 7일구글은안드로이드 4.0용크롬을발표했고, 안드로이드 4.1 버전이후부터는많은안드로이드기기에서기본브라우저로설치되어있다. 2 기능및특징 2.1 북마크, 환경설정동기화 크롬은사용자들의북마크, 히스토리등의환경설정을구글계정을통해모든장치에서동 기화되게해준다. 2.2 웹표준지원구글크롬은첫릴리즈버전부터 Acid1, Acid2 테스트를통과했다. 4.0버전부터는 Acid3 테스트의모든항목을통과했다. 2011년 5월부터 Ecma International의 ECMASCRIPT standards conformance Test262 에대한 Javascript/ECMAScript를잘지원하고있다. 이테스트는실패한횟수를세기때문에점수가낮은것이더좋은데, 크롬 36버전은 10 failed / 11578 passed라는결과를보여준다.
상대적으로 Firefox 19는 193 failed / 11752 passed, Internet Explorer 9는 600 이상의 failed, Internet Explorer 10은 7 failed이다. 2011년 W3C의공식 CSS 2.1 test suite의테스트결과 Chrome rendering engine이었던 WebKit은 89.75% passed라는결과를갖는다. HTML5 Web Standards 테스트결과크롬 41버전은총 518점 (555점만점 ) 을갖는데이는가장유명한 5개의데스크톱용브라우저에서우위를갖는결과다. 안드로이드용크롬 41 버전은총 510점의테스트결과를갖는다. [ 그림 3] 크롬 4.0 버전에서의 Acid3 테스트결과 2.3 보안크롬은주기적으로두블랙리스트를업데이트하는데 ( 피싱사이트와멀웨어사이트 ), 이를기반으로사용자가웹사이트를방문할때잠재적인위험성이있다는것을알려준다. 크롬은 process-allocation 모델을 sandbox tab에적용했는데, 최소특권의원리 (Principle of least privilege) 를이용하여각각의탭프로세스는 critical memory function이나다른탭프로세스와의상호작용을할수없도록한다. 프라이버시 Incognito 모드라고불리는 private browsing 기능을통해방문했던사이트의히스토리정보 나쿠키정보를저장하지않을수있다.
[ 그림 4] Incognito 모드 User Tracking 크롬은사용자의선택에따라사용자정보를구글로전송하는기능을가지고있다. Method Information sent When Optional? Installation Randomly generated token included in installer. Used to measure success rate of Google Chrome once at installation. On installation No RLZ identifier Encoded string, according to Google, contains non-identifying information about where Chrome was downloaded from and its installation week, and is used to measure promotional campaigns. Google provides the source code to decode this string. On Google search query On first launch and first use of address bar Partial [note 2][105] clientid Unique identifier along with user preferences, logs of usage metrics and crashes. Unknown Yes [107] default disabled Omnibox predictions Text typed into the address bar. While typing Yes default enabled
Page not found Text typed into the address bar. Upon receiving "Server not found" response Yes default enabled Google Update(Windows) Information about how often Chrome is used, details about the OS and Chrome version. Periodically Partial [ 표 1] Tracking methods 2.4 크롬확장프로그램 (Chrome extension) 크롬확장프로그램은구글크롬브라우저를변경할수있는브라우저확장프로그램이다. 이확장프로그램은 HTML, Javascript, CSS와같은웹기술을이용하여작성가능하다. 크롬확장프로그램은 Chrome Web Store를통해다운로드가능하다. 2.5 웹페이지자동번역 크롬 4.1 버전부터내장된번역기능으로구글번역을이용한다. 52 개언어로번역이가능하며, 설치시선택된사용자언어와다른언어가발견될경우, 사용자에게번역여부를묻게된다. 2.6 플랫폼크롬이이용가능한플랫폼은아래와같다. - Windows7 이후버전 (Windows XP 와 Vista 의지원은 2016 년 4 월끝남 ) - OS X 10.9 버전혹은이후버전 (32-bit Mac 지원은 2014 년 10 월끝남. OS X 10.6, 10.8 은 2016 년 4 월에지원끝남 ) - Linux 64-bit Ubuntu 14.04+ Debian 8+, opensuse 13.1+, Fedora 21+ - Android 4.1 이후버전 - ios 9.0 이후버전 3 시장점유율 3.1 세계시장점유율크롬은 Firefox를 2011년 11월에넘어섰다. 2016년 6월 StatCounter에따르면구글크롬은세계데스크탑브라우저의 62% 의점유율을차지하고있다고한다. 반면에 Firefox는 16% Internet Explorer는 12% 를차지하고있다. 또한 StatCounter에따르면 2012년 3월 18일크롬이세계에서가장많이사용하는브라우저로처음등극되었으며, 그날 32.7% 의점유율을차지하였고 Internet explorer는 32.5% 의점유
율을차지하였다. 2012 년구글 I/O 컨퍼런스에따르면 3 억천만의사용자가크롬을사용했고, 이수치는 2011 년 의거의 2 배라고한다. [ 그림 5] 2009~2016 브라우저별점유율추이 (Stat Counter) 소스 구글크롬 인터넷 익스플로러 파이어폭스사파리엣지기타 스탯카운터 58.37% 9.80% 13.92% 9.61% 2.87% 5.43% W3카운터 58.10% 7.79% 12.40% 12.70% 1.71% 0.00% 클리키 54.21% 15.96% 16.40% 7.73% 4.42% 1.25% [ 표 2] 2016년 8월웹브라우저점유율
3.2 국내웹브라우저시장에서의점유율 국내웹로그분석업체인 Bizspring 의 2016 년 7 월분석에따르면 ( 모바일 +PC), 인터넷익스플 로러가 44.20% 로우위를보이며, 크롬 (37.34%) 과모바일사파리 (9.57%) 가뒤를따르고있다. 4 배포버전 4.1 안정판 (Stable) 베타버전의안정화버전을바탕으로한다. 알려진버그와오랜기간동안테스트를거친새로운기능이추가된다. 안정화버전은새로운기능과성능보다는안정적인사용에초점이맞춰져있다. 일반적으로배포되는크롬이안정화버전이다. 4.2 시험판 (Beta) 개발자버전의안정화버전을바탕으로한다. 보통한달업데이트주기를가진다. 안정화버전과개발자버전의중간단계 아래의버전들보다는비교적안정적인편이다. 약간의안정성을희생하더라도최신기술을체험해보길원하는일반사용자들에게적합하다. 4.3 개발자판 (Dev) 최신크로미엄의안정화버전을바탕으로한다. 새로운버전이매주업데이트되며간혹치명적문제점은그보다더빨리수정되곤한다. 최신웹키트레이아웃엔진과 V8 자바스크립트엔진이업데이트된다. 알수없는오류혹은안정화되지않은기능으로인한데이터손실등을감수하고새로운기능을써보고싶은하이엔드사용자에게적합. 4.4 카나리아 (Canary Build) 기존베타, 개발자버전을설치할때안정화버전과겹쳐설치가되는문제를해결하기위하여최신크로미엄버전과동일한버전을다른폴더에중복설치하는버전이다. 항상최신버전을유지한다. 따라서거의매일패치된다. 기존크롬과달리노란색아이콘으로표시된다. 플러그인충돌과같은문제가발생할수있으며예상치못한버그가발생할수있다. 매우높은위험성과버그들을감수할수있는얼리어답터들에게적합하다.