개인정보, 데이터, 정보화

자바 창시자 제임스 고슬링(James A. Gosling)

0 2,363

제임스 고슬링(James A. Gosling, 1955년 5월 19일 ~ )은 캐나다의 소프트웨어 개발자이다. 자바를 최초 개발하여 ‘자바의 아버지’라 불리며, 가장 영향력 있는 프로그래머들 가운데 한 사람이다. 자바 이외에도 다중 프로세서용 유닉스와 컴파일러, 메일 시스템, 데이터 인식 시스템 등을 개발하였다.

개발자 가운데서는 마이크로소프트의 빌 게이츠(William H. Gates)만큼이나 유명하지만, 개발자 특유의 ‘몰두’ ‘은둔’ 성향 때문에 세상에 널리 알려지지는 않았다. 그는 또 자바 커피를 하루에도 10여 잔씩 마시는 자바 예찬론자이기도 해서, 자바(Java)라는 명칭을 인도네시아 섬 이름으로 유명한 커피 재배지에서 따왔다고 한다.

제임스 고슬링은 캐나다 캘거리 대학교를 거쳐 Carnegie Mellon University에서 박사학위를 밟고 썬 마이크로시스템즈에 합류한다. 그는 1990년 말 Patrick Naughton, Mike Sheridan과 함께 Green Project Team에 배치됐다. 당시 썬 마이크로시스템즈는 어떤 하드웨어 플랫폼에서도 동작하는 객체 지향 운영 체제를 원하고 있었다. Green Project Team은 객체 지향의 새로운 언어인 Oak를 개발했다. Oak는 모든 전자제품에 적용시킬 수 있는 전천후 언어로 완성 단계에 이르렀다.

그는 Oak를 기반으로 상품 개발을 추진했고, Interactive TV(양방향TV)에 탑재해 비디오와 오디오를 통제할 수 있는 작은 액정 Controller를 제작했다. 그 후 Green Project는 자바 프로젝트로 새 출발을 하게 된다. 고슬링은 Oak를 웹에 적용시킬 수 있는 코드 작업을 맡았고 Naughton이 코드를 인터넷 상에서 컴파일 할 수 있는 킬러 애플리케이션을 제작했다. 그 결과 고슬링의 코드는 자바(Java)라는 이름으로, Naughton의 킬러 앱은 핫자바라는 이름으로 완성된다.

자바의 특징은 일단 프로그램을 작성하면 어떤 플랫폼에서도 실행된다는 의미에서 WORA(Write once, run everywhere)로 요약된다. 이는 기존 프로그램들의 약점을 보완할 수 있는 놀라운 아이디어였다.

컴퓨터 운영 체제는 호환이 되지 않기 때문에 예를 들어 유닉스에서 만든 프로그램은 다른 OS에서 돌릴 수 없어 새롭게 변형해야 하는 어려움을 안고 있었다. 하지만 자바는 각 OS마다 프로그램이 똑같이 동작할 수 있도록 OS와 프로그램 사이의 중계 구실을 하는 가상 머신을 통하여 이 문제를 해결했다.

원래 Java는 가전기기를 운영하기 위한 프로그래밍 언어로 개발됐다. 하지만 1990년대 초의 상황은 가전기기 따위에 Java를 동작시킬 만한 메모리나 하드웨어 여건이 마련되지 못했다. 하지만 인터넷과 웹 브라우저 시대가 되면서 자바는 화려하게 부상했고, 전 세계 프로그래머들 사이에 급속도로 확산될 수 있었다. 그 후10여년이 흐른 최근 휴대전화나 TV셋톱박스, 심지어 화성탐사용 로봇에도 자바로 만든 프로그램이 탑재돼 자바의 원래 소원을 이루게 된 것이다.

지난 몇 년 동안 마이크로소프트와 썬 마이크로시스템즈 사이의 지루한 자바 기술 침해에 관한 소송이 진행되기도 했다. 최근 두 회사가 화해하고 손을 잡게 되면서, 이후 두진영은 상호발전을 위하여 협력하는 분위기 이다. 컨퍼런스와 외부행사에서 경쟁사의 제품에 대해 호의적 평가가 나오고 있다.

2009년 썬 마이크로시스템즈가 오라클로 합병되었고, 고슬링은 오라클의 클라이언트 소프트웨어 그룹 CTO로 활동하였다. 그리고 지난 2010년 4월 9일 고슬링은 오라클을 떠났으며 고슬링은 “오라클을 왜 떠났냐는 것은 대답하기 어렵다. 단지 정확함과 진실함이 득보다는 해를 더 많이 끼친다는 것만 말할 수 있다”고 적었다.

오라클을 떠나기 1개월 전 그는 오라클에 자바의 중요성을 강조한 바 있다, 당시 고슬링은 “오라클은 자바를 지키기 위해 엄청난 노력을 기울여 왔으며, 자바의 전체 생태계를 강하고 건강하게 만들기 위해 노력해 왔다”고 밝힌 바 있으나 동시에 자바 커뮤니티 프로세스가 지나치게 정치화되고 있다고 우려를 표하기도 했다.

XML의 공동 창안자이자 최근 오라클을 떠난 팀 브레이는 트위터를 통해 “고슬링이 그렇게 오래 버티고 있었다는 것에 놀랐다”고 소감을 밝히기도 했다

처음에는 오라클에서 자바의 미래에 대하여 긍정적인 견해를 밝혔으나, 곧 환멸을 느끼게 되었다. 새로운 역할이 보잘것없이 느껴지고 오라클의 기업 문화에 마음이 불편했던 그는 오라클을 소리 내어 비판하게 되었고, 더 나가 오라클이 자바 커뮤니티에 약속을 지키길 촉구하는 티셔츠 캠페인을 벌이기도 했다.

하지만 자바의 창시자가 권리를 박탈당한 운동가 되는 것을 걱정하고 있는 사람이라면, 고슬링이 자진했던 안식 휴가가 끝난다는 발표를 듣고 한시름 놓을 수 있을 것이다. 그런데 그는 새로운 직장으로 구글을 선택하였다.

바로 이점이 한편으론 풀리지 않은 문제로 남겨졌다. 그 자신은 아직 무슨 일을 하게 될지 모른다고 밝혔다. IDC의 애널리스트인 알 힐와는 이에 대해 고슬링을 “구글이라는 모자 꼭대기에 있는 깃털장식”으로 묘사하며, 구글이 자바 커뮤니티 사이에서 “지적 리더이자 마인드쉐어 리더”의 위치를 확보하기 위함이 아닌가 추측하고 있다. 그러나 구글 만큼이나 관대한 보상 패키지를 제공하는 기업들은 직원들이 생계를 위해 일할 거라 기대하는 경향이 있다. 과연 제임스 고슬링은 구글에서 맡게 될 새 역할에서 정확히 무슨 일을 하게 될 것인가?

분명 고슬링은 제안에 필요한 많은 전문지식을 가지고 있다. 그의 프로그래밍 언어 설계에 대한 경험은 새로운 사업을 시작하는 업체에게는 매우 귀중한 자산이 된다. 구글이 일반적으로 검색엔진 업체로 여겨지고 대부분의 수입이 광고 매출액으로 충당되긴 하지만, 구글 규모의 웹 비지니스는 대단한 성취이다.

수년 간 이 거대한 검색엔진 업체는 자사의 인프라를 지원하기 위해 셀 수 없이 많은 툴과 기술들을 개발해 왔다. 그런 툴 중 하나가 쏘우잴(Sawzall)이라 불리는 프로그래밍 언어로, 구글의 직원인 롭 파이크와 로버트 그리즈머가 개발했다. 구글은 이를 서버 로그와 같은 대규모 데이터 셋을 내부적으로 분석하는데 사용하고 있다.

최근에는, 파이크와 그리즈머가 켄 톰슨과 힘을 합쳐 구글의 새로운 프로그래밍 언어인 고(Go)를 개발했다. 고는 개발자들이 병렬 처리 소프트웨어를 좀 더 쉽게 작성할 수 있도록 “새로운 프로그래밍 패러다임”의 도입을 목적으로 삼고 있다. 그럼에도 아직 자바가 C 언어의 뒤를 이었다고 여겨지는 것과 같은 맥락에서, 고 언어 역시 “포스트 자바 언어”로 고려될 가능성이 크다. 심지어 그리즈머는 이전에 자바 핫스팟 가상머신(Java HotSpot VM)을 위한 컴파일러를 연구했었다. 고슬링은 잠재적으로 이 프로젝트에 아주 많은 것을 제공할 수 있을 것이다.

또 다른 그럴듯한 후보는 안드로이드이다. 모바일 기기들은 오랫동안 썬의 자바 전략에 있어서 핵심을 차지해 왔다 오라클의 수치에 따르면 30억 대의 휴대폰이 자바를 실행하고 있다. 그리고 고슬링은 모바일과 임베디드 장비들과 관련된 자바 프로젝트에 직접적으로 관여해 왔다.

무엇보다도 오라클을 떠난 이후로 아우디 TTS의 제어 시스템 개발을 도왔으며, 의심할 여지없이 구글의 자바 기반 모바일 OS를 만드는 것과 관련된 경험을 충분히 가지고 있다. 더구나 썬의 내부자로서 고슬링은 안드로이드가 특허권을 위반했다고 주장하는 오라클의 소송에 대한 방어진을 구축하는 데에 중요한 역할을 할 수도 있다.

그의 경험이 구글에게 중요할지는 몰라도 그가 오라클보다 구글과 같은 검색엔진 업체에 잘 맞을지는 확실하지 않다. 사실 그의 관점은 구글의 전반적인 생각들과 놀라울 정도로 모순되어 보인다.

C++, 파이선(Python)과 함께 자바는 구글에서 쓰이는 가장 중요한 언어 중 하나이다. 하지만 구글은 자바 가상머신의 접근 방식에는 만족하지 않는 듯 하다. 예를 들면 구글의 많은 웹 애플리케이션의 소스 코드가 자바로 작성되지만, 그것은 보통 구글 웹 툴키트를 사용해 자바 바이트코드(bytecode)보다는 자바스크립트(xxJavaScript)로 컴파일 된다.

안드로이드는 JVM을 사용하지 않고 고유의 최적화된 바이트코드 포맷인 달빅(Dalvik)을 사용한다. 또한 구글의 애플리케이션 엔진이 개발자들에게 클라우드 기반의 자바 어플리케이션들을 설계하는 것을 허용했다 하더라도 그것은 자바의 완전한 스펙을 지원하지 않는다고 비판받아 왔다.

자바 시스템에 대한 이런 대체적인 접근은 항상 고슬링에게 잘 받아들여지지 않았다. 2010년 베이스먼트 코더스(Basement Coders)와의 인터뷰에서 고슬링은 “내가 관심있는 모든 것은 JVM에 있다”고 말했다. 물론 견해에 대해 구글은 동의하는 것 같지 않다.

대안적인 가상머신에 관한 고슬링의 견해는 부정적으로 JVM을 넘기 위한 마이크로소프트의 닷넷 CLR에 대해서 “기본적으로 자바 스펙을 갖다 붙여 넣은 것”이며, 마이크로소프트는 그것을 개발하는데 “근본적으로 아무것도 창조하지 않았다”고 주장했다.

그리고 안드로이드에 대해서도 대체적으로 비관적이었다. 한번은 이윅크(eWeek)에 “이런 모든 안드로이드 폰들은 양립할 수 없을 것이다.  안드로이드 세상에서는 아무도 책임질 만한 어른이 없는 셈”이라고 말했다. 그리고 구글의 법적인 지위에 대한 이야기가 나왔을 때, 더욱 직설적으로 “우리가 분석한 결과 안드로이드는 상당히 많은 특허권을 위반했다”고 지적했다. 과거의 이런 주장들을 볼 때, 고슬링이 구글을 대표해 법정에서 증언하기 위해 불러온 것으로 보이지는 않는다.

고슬링은 구글에서 정확히 무슨 역할을 맡게 될 것인가? 아마도 가장 확실한 것은 고슬링 본인의 예감일 것이다. “나는 괴팍한 심술꾸러기와 어울리는 것이라면, 무엇이든지 가능하리라 본다.” 하였다.

이 웹 사이트에서는 사용자 환경을 개선하기 위해 쿠키를 사용합니다. 우리는 당신이 괜찮다고 생각하겠지만, 당신이 원한다면 거절할 수 있습니다. 동의 더 읽기