Etc

[IT열쇳말] 이클립스

OSS 2016-08-19 14:56:07 3642
2016

2016년 8월 18일 (목)

ⓒ 블로터닷넷, 이지현 기자 jihyun@bloter.net



프로그래밍을 하려면 코드를 작성하고, 저장하고 컴파일 및 디버깅을 도와주는 통합 개발 환경(Integrated Development Enviornment, IDE)이 필요하다. 현재 다양한 IDE가 존재하지만 자바 개발자에게 가장 사랑받는 IDE로 ‘이클립스’를 빼놓을 수 없다. 한국에서도 회사, 학교, 학원 등 자바를 다루는 곳이면 이클립스를 쉽게 발견할 수 있다. 이클립스는 누가, 왜 개발했을까? 현재 이클립스를 개발하는 사람들은 누구일까? 이클립스의 역사를 살펴보자.


▲이클립스 실행 화면 (출처: 위키피디아. CC BY-SA 4.0)

▲이클립스 실행 화면 (출처: 위키피디아. CC BY-SA 4.0)


IBM이 시작한 이클립스 프로젝트


이클립스는 이클립스재단이라는 비영리 단체에서 관리하고 개발하고 있다. 현재 캐나다 오타와에 재단 사무실을 두고 이클립스 컨퍼런스, 특허, 보고서 등을 발표하고 관리한다. 이클립스 기술은 오픈소스 프로젝트로 여러 기업과 개발자들이 함께 개선하고 있으며, 매년 투표를 통해 관련 이사회 임원을 뽑고 있다.


초기 이클립스는 커뮤니티가 이끌지 않았다. 1990년대 거대 IT 기업이었던 IBM이 처음 발명했다. 이클립스 프로젝트를 내부에서 개발하던 IBM은 2001년 11월, 여러 소프트웨어 개발 업체들을 모아 별도의 연합체(컨소시엄)를 구성하고 이클립스 기술을 발전시켰다.


IBM은 왜 이클립스 기술을 만들었을까? IBM은 1984년 이클립스의 전신이라 할 수 있는 IDE ‘비주얼에이지’를 이미 개발했다. 비주얼에이지는 IBM 내에서 객체 지향 언어를 사용하던 개발자들에게 특히 인기를 끌었다. 개발자들은 비주얼에이지로 콘솔창에 소스코드를 입력하지 않고, 그래픽 유저 인터페이스(GUI)를 활용해 보다 쉽게 프로그래밍을 진행할 수 있었다.


▲‘비주얼에이지’ 실행 화면 (출처: IBM)

▲‘비주얼에이지’ 실행 화면 (출처: IBM)


1990년대 중반에 이르며 IDE는 많은 개발자들에게 꼭 필요한 기술이 됐다. 당시엔 마이크로소프트(MS)의 IDE인 ‘비주얼 스튜디오’가 개발자들 사이에서 폭넓게 활용됐다. 이 와중에 자바 개발자들은 비주얼 스튜디오보다 자바 언어에 특화된 IDE를 찾았는데, 시만텍 ‘비주얼 카페’, 볼랜드 ‘J빌더’, IBM 비주얼에이지가 주로 사용됐다. 같은 시기 IDE 뿐만 아니라 애플리케이션 서버 기술이 성장했고, 동시에 자바 개발에 대한 수요도 높아졌다.


이러한 흐름을 읽은 IBM은 기존 비주얼에이지를 개선하는 프로젝트를 진행했다. 비주얼에이지의 가장 큰 한계는 내부에서든 외부 기업이든 새로운 구성요소를 추가하기 힘들다는 것이었다. 비주얼에이지는 일체형(monolithic) 기술이었고, 소스코드가 외부에 공개되지 않았기 때문이다


그러한 고민을 담아 만든 결과가 이클립스다. IBM 내 40여명의 개발자는 이클립스를 만들고, 다양한 언어와 플랫폼를 수용하는 기술을 만들었다. 특히 확장성에 신경 써서 누구나 플러그인을 쉽게 개발하고 편하게 사용할 수 있도록 지원했다.


▲MS의 IDE ‘비주얼 스튜디오’. IBM은 자바 언어에 특화된 IDE로 기존 ‘비주얼에이지’를 개선해 이클립스를 내놓았다. (출처: 위키피디아)

▲MS의 IDE ‘비주얼 스튜디오’. IBM은 자바 언어에 특화된 IDE로 기존 ‘비주얼에이지’를 개선해 이클립스를 내놓았다. (출처: 위키피디아)


오픈소스 기술로 전환한 뒤 기업 참여 활발


이클립스를 출시한 이후 IBM은 많은 기업과 개발자들이 이클립스 프로젝트에 참여해주기를 기대했다. 그래서 아예 이클립스를 오픈소스 기술로 전환하고, 2004년 독립적인 재단을 만들었다. IBM은 공식 홈페이지에서 “몇몇 기업의 경우 이클립스가 IBM과 관련됐다는 이유로 파트너십을 맺는 것을 주저했다”라며 “그러한 문화를 깨기 위해 독립적인 비영리재단을 만든 것”이라고 배경을 설명했다. 당시 이클립스재단에 합류한 핵심 기업에는 IBM, HP, 인텔, SAP, 에릭슨, 몬타비스타 소프트웨어, QNX, 세레나 소프트웨어가 포함돼 있었다.


2016년 현재 100여개 기업이 직·간접으로 이클립스재단과 긴밀하게 협업하고 후원하고 있다. 구글이나 레드햇 같은 IT 기업 뿐 아니라 BMW, 지멘스 등 다양한 기업이 포함돼 있다. 이클립스만의 오픈소스 라이선스도 따로 만들었다. 이클립스재단이 사용하는 ‘이클립스 퍼블릭 라이선스’는 ‘커먼 퍼블릭 라이선스(CPL)’와 비슷하나 특허를 침해할 수 있는 부분을 제거했고, 기업친화적인 오픈소스 라이선스로 만든 것이 특징이다.


▲이클립스 기반으로 IBM이 제공한 상용 기술 (출처: IBM)

▲이클립스 기반으로 IBM이 제공한 상용 기술 (출처: IBM)


IBM은 이클립스 기술을 만든 이후 연동해 사용할 수 있는 다양한 개발도구들을 출시하기도 했다. 오픈소스 개발도구로 관련된 사업 저변을 확대한 셈이다. 흥미로운 것은 이와 비슷한 상황을 최근 IBM 전략에서도 찾아볼 수 있다. IBM은 최근 몇 년 사이에 ‘블루믹스’라는 플랫폼 서비스(PaaS)로 신사업을 추진하고 있는데, 블루믹스에서도 다양한 개발도구를 제공한다. IBM은 블루믹스 자체를 오픈소스 기반으로 만들었으며, 다양한 오픈소스 언어와 플랫폼을 지원하고 있다. 이러한 전략으로 클라우드 서비스 ‘소프트레이어’나 인공지능 ‘왓슨’ 같은 상용 기술도 함께 알리는 중이다.


이름 둘러싸고 초기 논란 일어나기도


▲이클립스 로고 (출처: 이클립스재단)

▲이클립스 로고 (출처: 이클립스재단)


이클립스는 ‘어떤 천체가 다른 천체의 그늘에 들어가거나 뒤로 가려지는 현상’을 말한다. 지구상에서 볼 때 태양이 달에 의해서 가려지는 현상인 일식도 영어로는 이클립스다. 이 때문에 2000년대 초반 이클립스 이름이 경쟁사 썬마이크로시스템즈(Sun Microsystems)를 겨냥한 말이 아니냐는 이야기도 나왔다. 일식은 영어로 ‘solar eclipse’인데 solar 대신 ‘sun’을 쓰면 썬마이크로시스템즈를 가린다는 뜻이 되기 때문이다. 공교롭게 썬마이크로시스템즈는 비슷한 IDE 기술인 ‘넷빈즈’를 1999년 인수하기도 했다.


하지만 이클립스 사업을 총괄했던 리 넥만 IBM 최고기술관리자(CTO)는 <e위크>와의 인터뷰에서 “이클립스 핵심 경쟁자는 썬마이크로시스템즈가 아니라 비주얼 스튜디오를 만든 MS”라며 “이름 자체가 매력적이었고 비주얼 스튜디오를 가린다는 이중적인 표현이 좋았다”라고 해명했다. 또한 그는 “사실 이클립스를 사용한 기업과 단체 이름이 많이 있어서 내부 변호사 등이 이클립스 단어를 추천하지 않았다”라며 “이클립스닷오아르지(eclipse.org) 도메인은 한 여성 축구단체가 이미 소유하고 있어 특별한 제안을 해서 얻어왔다”라고 이클립스 작명을 둘러싼 뒷얘기도 공개했다.


이클립스재단은 해마다 새로운 버전의 이클립스 기술을 공개하고, 버전마다 이름을 붙이고 있다. 이름은 칼리스토, 가니메데, 헬리오스, 주노, 마스 등 우주 행성·위성에서 따오거나 그리스 신화에 나오는 단어를 선택하곤 했다. 최근에는 네온, 옥시전 같은 우주와 관계없는 단어를 선택하기도 했다.


자바부터 웹까지


▲이클립스 구조. 자바 VM과 이클립스 플랫폼, JDT와 플러그인으로 구성돼 있다. (출처: 이클립스재단)

▲이클립스 구조. 자바 VM과 이클립스 플랫폼, JDT와 플러그인으로 구성돼 있다. (출처: 이클립스재단)


이클립스는 기본적으로 자바 개발에 최적화된 기술을 제공한다. 큰 구조는 자바 가상머신(VM) 위에 이클립스 플랫폼이 있고, 그 위에 자바 개발도구(Java Development Tools, JDT)를 제공하고 플러그인을 붙이는 형식이다. 이클립스 플랫폼은 표준 위젯 툴킷(Standard Widget Toolkit, SWT)이라는 GUI 위젯 툴킷, 코드 작성, 빌드, 리팩토링을 할 수 있는 워크벤치(Workbench) 등으로 구성된다.


최근 이클립스는 자바를 넘어 다양한 영역으로 확장되고 있다. 구글이 ‘이클립스 ADT (Android Development Tools)’라는 플러그인을 지원하며 이클립스는 안드로이드 개발자에게도 인기를 끌었다. 하지만 2015년 구글은 이클립스 지원을 중단하고 독자자인 IDE인 ‘안드로이드 스튜디오’에 집중할 것이라고 발표해 새로운 변화를 예고했다. 현재 이클립스의 가장 최신 버전은 ‘네온’이다. 네온은 PHP, 자바스크립트, 도커, 사물인터넷(IoT) 등을 위한 기술을 지원해 웹, 인프라 등 다양한 산업 분야에 쓰일 수 있다. 형식 면에서도 실험을 이어가고 있다. 클라우드 IDE ‘’ 다. 체는 따로 프로그램을 설치하지 않고 웹브라우저에서 바로 이클립스를 이용할 수 있는 서비스다.


▲이클립스의 클라우드 IDE ‘체’. 클라우드 기반으로 웹브라우저에서 바로 이클립스를 이용할 수 있는 서비스다. (출처: 이클립스재단)

▲이클립스의 클라우드 IDE ‘체’. 클라우드 기반으로 웹브라우저에서 바로 이클립스를 이용할 수 있는 서비스다. (출처: 이클립스재단)


이클립스와 MS의 관계에도 변화가 있을 것으로 보인다. MS가 2016년 3월 이클립스재단에 합류하겠다고 발표했기 때문이다. MS는 공식 블로그를 통해 “MS는 이클립스와 자바 개발자 커뮤니티로부터 좋은 작업들이 나오고 있다는 것을 인지했으며, 실제로 이클립스 개발자도구는 전세계 수백만 명의 개발자들이 사용하고 있다”라며 “MS는 지난 몇 년 간 이클립스재단과 함께 일했으며 ‘비주얼 스튜디오 팀 서비스‘와 MS 애저에 자바 관련 기술을 확대했다”라고 설명했다. MS는 특히 클라우드, IoT 기술 분야의 자바 개발자를 위해 기술을 만들고, 이 과정에서 이클립스재단과 협력할 것으로 예상된다.


※ 참고 링크


http://www.eclipse.org/org/#about
https://eclipse.org/artwork/
https://eclipse.org/eclipse/presentation/eclipse-slides.ppt
http://www.ibm.com/developerworks/rational/library/nov05/cernosek/
https://wiki.eclipse.org/FAQ_Where_did_Eclipse_come_from%3F
http://www.eclipse.org/org/press-release/feb2004foundationpr.php
https://www.linkedin.com/in/leenackman
http://www.ibm.com/developerworks/lotus/library/ls-visualage/
https://www.olis.or.kr/ossw/license/license/detail.do?lid=1010




크리에이티브 커먼즈 라이선스 (주)블로터앤미디어에 의해 작성된 이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 4.0 국제 라이선스에 따라 이용할 수 있습니다.


[원문출처 : http://www.bloter.net/archives/261763]

공개SW 기술팁 게시물 리스트 표
번호 제목 작성 조회수
480 마이크로소프트 애저의 오픈소스 서버 및 랙 설계 들여다 보기 2016-11-07 2584
479 [IT열쇳말] 데스크톱 가상화 2016-11-01 3253
478 [IT열쇳말] 혼합현실 2016-11-01 3171
477 [OpenFOAM] OpenFOAM 설정파일 형식 (OpenFOAM 기본) 2016-10-28 2309
476 [OpenFOAM] OpenFOAM 개요 및 기본 (OpenFOAM 기본) 2016-10-14 2824
475 [IT열쇳말] 자바스크립트 2016-10-11 3337
474 Collaborative Filtering - 추천시스템의 핵심기술 2016-09-27 11394
473 [IT열쇳말] 파이썬 2016-09-23 3861
472 [IT열쇳말] 이클립스 2016-08-19 3642
471 Alfresco 유저 가이드 2016-08-16 197
맨 위로
맨 위로