애플의 WebKit 통제권 강화

애플이 Webkit2의 통제권을 강화하기 위해 소스 코드 커밋 리뷰 권한을 애플 직원에게만 주는 초강수를 뒀었네요.

물론 사소한 커밋은 리뷰 없이 올릴 수 있다고 해도, 중요 결정은 리뷰어의 권한이므로 다른 업체의 개발자의 아이디어가 제한될 수도 있을듯요. 최근에 Webkit 개발에 많은 리소스를 투여했던 구글이나 삼성은 다른 활로를 찾아야 할듯~

– 공지내용: https://lists.webkit.org/pipermail/webkit-dev/2013-January/023255.html
– 리뷰 오너 명단(애플 직원만 있음): https://trac.webkit.org/browser/trunk/Source/WebKit2/Owners

좀 더 살펴보면, 2010년에 분석한 자료에 의하면 2009년 11월에 이미 구글 직원들의 웹킷 커밋수가 애플을 넘어섰기 때문에 지금은 더 많을 것으로 추정되네요.

– 출처: http://neugierig.org/software/chromium/notes/2010/02/webkit-commits.html

아마 삼성도 최근에 많이 투자를 했던 것으로 보여져서 향후 미래에 대한 타격이 좀 있을 듯 합니다.

그러고 보니 오늘 구글이 웹킷 개발을 중단하고, 자체 렌더링 엔진인 Blink를 개발하겠다는 발표도 그렇고, 삼성전자가 Mozilla와 함께 차세대 렌더링 엔진인 Servo를 공동 개발하기로 했다는 이야기가 어느 정도 설득력이 있는 듯…

얼마전까지만 해도 Webkit에 대한 독주에 대한 우려가 많았는데, 한방에 훅가는군요. 한 기업이 오픈 소스를 독점하려고 하면 어떤 일이 일어나는지 여실히 보여주는 사례인것 같습니다.

참고: 본 글에 관련된 전문가 코멘트를 보시려면 페이스북 글을 참고하세요.

황동성: 지나가는 웹킷커미터인데요.. 외부에서 바라보신 윤석찬님의 관점이 대체로 굉장히 정확합니다!
약간 디테일을 추가하자면, WebKit2 오너정책과 구글과는 직접적인 상관관계는 없습니다. 구글을 WebKit2를 쓰지 않거든요. WebKit2 오너정책의 결정적인 희생양들은 양 거대 포트(사파리 & 크롬)가 아닌 제 3포트들 입니다: Qt(Nokia & Digia), Gtk(유럽의 조그만 회사들), EFL(삼성&인텔). KHTML시절부터 WebKit에 기여한 컨트리뷰터들에게 애플이 대놓고 너네맘대로 WebKit2건들지마라고 통보했죠. 여러 컨트리뷰터들은 이런 행위가 대단히 무례하다고 생각했지만 뾰족한 수는 없었습니다. 여러 항의가 있었으나 애플은 간단히 무시했구요. 만약 애플이 WebKit을 close라도 하면 더 문제거든요.
구글이 떠난것도 직접적이진 않지만 간접적으로 위의 일화에서 유추할 수 있는데요.. WebKit은 여타 다른 오픈소스 프로젝트와 약간 다른 문화가 있습니다. 모질라 같은 경우는 Newbie를 굉장히 환영하고 그들이 커뮤니티에서 커갈수 있게 도와주는 문화가 있다고 들었는데요… WebKit, 특히 애플 개발자들,은 그런것에 별로 관심이 없습니다. 대부분의 WebKit 개발자들은 WebKit에 기여가 직업이거든요. 토,일요일에 IRC가 굉장히 한산합니다. WebKit에 어떤 변화가 있을 때, 그것이 Web에 명백히 기여되는 일이라면 굉장히 빠르게 적용이 됩니다. 그것이 직업이고 재밋거든요. 하지만 어떤 변화가 각 회사의 방향성과 충돌한다면 두가지 현상 중 하나가 나타나게 됩니다. 만약 그 변화가 다른 회사의 긴밀한 협조가 필요한데 다른 회사는 관심이 없다면 표류하게 됩니다. (예> 빌드시스템을 5(?)개에서 한개로 줄이기) 만약 그 변화가 다른 회사의 코드 베이스와 크게 상관이 없다면, 다른 회사의 영향이 없게 교묘히 기능을 추가합니다. 요 몇년은 애플, 구글이 두번째 방법을 사용하여 같이 WebKit안에서 공생하며 살았습니다. 하지만 그런 방법은 더이상 유지보수하기 힘들정도로 코드베이스를 복잡하게 만들었습니다. 때문에 구글은 WebKit을 fork하여 Blink를 만들기로 한 것 같습니다. 예전에 애플이 KHTML을 fork하여 WebKit을 만들었듯이요.
어째건 지나가는 웹킷커미터 입장에서, 구글이 웹킷에서 빠지는 것이 굉장히 안타갑습니다. 일차적으로 제 직업이 어떻게 될지..

김규영: 안녕하세요. 황동성씨가 잘 설명을 해주었네요. 올해 1월에 처음 WebKit2 architecture를 잡고 구현한 Sam이라는 애플 리뷰어가 이러한 새로운 정책을 발표했었습니다. 이유는 webkit2는 mac 포트 말고 타포트(efl, gtk, qt)포트도 같이 사용하고 있는데 타포트의 구현방향이 애플이 생각하는것과 달랐던 겁니다. 또한 이러한 타포트의 참여로 chrome대비 개발 속도도 떨어지고 있었구요. 이런 이유로 애플은 webkit2의 오너쉽을 주장했었습니다. 이 당시 webkit2의 각포트 리뷰어들은 따로 얘기를 했었습니다. qt, gtk, efl 그러나 따로 답이 나오진 않았습니다. 애플 contribution없이 경쟁력 있는 webkit2를 운영할 수없었다는걸 다 알았으니까요. 이 정책이 적용이 된 후에 개발이 느려진건 확실하지만.. 오히려 애플의 리뷰를 한번 더 받아서 더 좋아진 면도 있습니다. 각 포트가 불필요한 방향으로 개발할려고 하는 것이나, 전체 webkit2 방향과 맞지 않는 방향으로 가는 것들이 필터링이 되었으니까요. webkit은 다른 오픈소스와는 조금 다릅니다. 타 오픈소스 대비 개인개발자보다는 상업적인 목적을 가진 회사들의 참여가 월등히 높습니다. 최근 webkit이 각광을 받으면서 많은 회사들이 참여를 하게 되었고 그것은 곧바로 빌드 시스템 증가(현재 8개가 있음), 빌드bot 증가등으로 이어지고 있어서 기존 개발자들의 개발속도에 영향을 미치게되었던 겁니다. 이러한 요소 역시 구글이 webkit을 forking하게 한 여러 이유중에 하나입니다. 매년 webkit contributor meeting에서 Eric 이 매번 하는 말입니다. 빌드시스템이 너무 많다고.. 그래서 만약 core 쪽에 패치를 하게 되면 최소 4개에서 5개의 빌드시스템을 다 건드려야 하는 상황인거죠.. 이 문제는 몇년 동안 webkit이 가지고 있던 고질적인 문제였고 이러한 이유로 인해서 신규로 들어오는 포트에 대해서 그다지 환영하는 분위기가 아니었던 거였구요..

오창석: 제 생각에도 한방에 훅갔다고 보기는 어려울 것 같아요. 구글이 큰 기여를 한건 사실이지만 애플은 구글 이전에도 WebKit을 잘 발전시켜왔고 앞으로도 그럴 겁니다. blink는.. 오히려 gecko같은게 하나 더 생겼다고 봐야할 것같아요. blink가 webkit의 대안이 될 수 있냐. 그건 아니라고 보고요. servo는 더더욱 요원해보입니다.. 아직까지 상업적 web engine의 현실적인 대안은 WebKit 밖에 보이질 않네요..

- ;

Disclaimer- 본 글은 개인적인 의견일 뿐 제가 재직했거나 하고 있는 기업의 공식 입장을 대변하거나 그 의견을 반영하는 것이 아닙니다. 사실 확인 및 개인 투자의 판단에 대해서는 독자 개인의 책임에 있으며, 상업적 활용 및 뉴스 매체의 인용 역시 금지함을 양해해 주시기 바랍니다. 본 채널은 광고를 비롯 어떠한 수익도 창출하지 않습니다. (The opinions expressed here are my own and do not necessarily represent those of current or past employers. Please note that you are solely responsible for your judgment on checking facts for your investments and prohibit your citations as commercial content or news sources. This channel does not monetize via any advertising.)