3대 오픈소스 IDE, 그들은 왜 오픈소스가 되었나?
2017년 2월 16일
ⓒ LG CNS, 이지현 기자(블로터닷넷)
글을 쓰기 위해서는 펜이나 공책 같은 글쓰기 도구가 필요합니다. 만약 컴퓨터에서 쓴다면 메모장, 한글, MS 오피스 같은 프로그램이 필요하겠죠. 비슷하게 프로그래밍 코드를 작성하기 위해서는 프로그래밍 작성 도구가 필요합니다.
문서작성 도구에서 인쇄, 저장, 정렬 등 많이 사용하는 기능을 모아 제공하는 것처럼, 개발 도구에서도 다양한 기능을 종합세트처럼 모아서 제공하는 경우가 많습니다. 그리고 이를 통합개발환경(Integrated Development Environment, IDE)이라고 부릅니다.
IDE를 이용하면 개발자는 코드 편집, 컴파일, 디버깅 기능을 클릭 몇 번만으로 쉽게 할 수 있습니다. 그래서 처음 프로그래밍을 할 때면 적절한 IDE를 가장 먼저 선택하고 다운받고 설치하는 작업을 합니다. 한국이든 해외에서든 가장 많이 사용하는 IDE에는 크게 이클립스, 비주얼 스튜디오, 인텔리 J, Xcode 등을 꼽을 수 있습니다.
그런데 이 IDE가 오픈소스 기술과 밀접한 관련이 있다는 것을 알고 계신가요? 오늘은 프로그래머들의 도구, IDE의 역사와 오픈소스 문화를 한 번 살펴보겠습니다.
한국인 개발자가 사랑하는 개발도구 ‘이클립스(Eclipse)’
① IBM, 개발 도구를 만들다
자바 개발자가 많은 한국에서 이클립스는 특히나 사랑받는 IDE입니다. 현재 이클립스는 비영리 성격의 이클립스 재단에서 운영하고 있으며, 사무실은 캐나다 오타와에 있습니다. 이클립스 재단은 이클립스 콘퍼런스, 특허, 보고서 등을 발표하고 관리하고 있으며, 실제 기술을 여러 기업과 개인 개발자들이 협업해 발전시키고 있죠. 사실 이클립스는 처음에는 기업에서 운영했습니다. 서버, 스토리지, 개발 도구를 개발하던 IBM이 이클립스를 처음 만들었기 때문입니다.
이클립스의 홈페이지(출처: https://eclipse.org/)
② 이클립스는 어떻게 탄생했을까?
IBM은 1984년 ‘비주얼에이지’란 IDE를 먼저 개발했습니다. 이 기술은 일종의 이클립스의 전신이며, 당시 객체 지향 언어를 사용하던 IBM 내부 개발자들에게 특히 인기를 끌었다고 합니다. 과거에는 콘솔 창에 소스코드를 입력하며, 프로그래밍 하기 위해 여러 과정을 거쳐야 했지만 비주얼에이지를 이용하면 그래픽 유저 인터페이스(GUI)에서 편하게 프로그래밍을 할 수 있었기 때문이었죠.
1990년대 중반에 이르자 IDE는 대중적인 기술로 자리 잡았고, 특히 마이크로소프트(MS)의 IDE인 ‘비주얼 스튜디오’가 개발자들 사이에서 폭넓게 퍼지고 있었습니다. 동시에 1990년대에는 자바 기술이 발전했던 시기였는데, 자바 개발자들은 비주얼 스튜디오보다 자바 언어에 특화된 IDE를 선호하기 시작했습니다. 이때 경쟁하던 기술이 바로 시만텍의 ‘비주얼 카페’, 볼랜드의 ‘J빌더’, IBM 비주얼에이지였습니다.
IBM은 비주얼에이지에 대한 높은 수요를 확인하고, 좀 더 많은 사람이 이용할 수 있도록 기능을 개선하는 프로젝트를 진행했습니다. IBM 개발자들이 주목한 것은 ‘확장성’이었습니다. 다양한 언어와 플랫폼을 수용하고, 누구나 필요한 기능을 플러그인 형태로 개발하고 원하는 개발을 할 수 있는 도구를 바라왔던 것이었죠. 그렇게 40여 명의 IBM 개발자는 비주얼 에이지에 확장성을 고려해 다시 기술을 만들었고, 그 결과 ‘이클립스’라는 IDE가 탄생하게 됐습니다.
③ 이클립스, 오픈소스 기술로의 전환
이클립스의 확장성이 높아지자 IBM은 더 많은 기업과 개발자들이 이클립스 프로젝트에 참여해주기를 기대했습니다. 그래서 아예 이클립스를 오픈소스 기술로 전환하고, 2004년 독립적인 재단을 만든 것이죠. IBM은 공식 홈페이지에서 “몇몇 기업의 경우, 이클립스가 IBM과 관련됐다는 이유로 파트너십을 맺는 것을 주저했다.”며 “그런 문화를 깨기 위해 독립적인 비영리재단을 만든 것”이라고 배경을 설명했습니다.
당시 이클립스 재단에 합류한 핵심 기업에는 IBM, HP, 인텔, SAP, 에릭슨, 몬타비스타 소프트웨어, QNX, 세레나 소프트웨어 등이 있었습니다. 2016년 기준으로는 100여 개의 기업이 직•간접으로 이클립스 재단과 긴밀하게 협업하고 후원하고 있는데요. 여기에는 구글이나 레드햇 같은 IT 기업부터 BMW, 지멘스 등 비 IT 기업도 포함하고 있습니다. 또한, 이클립스만의 오픈소스 라이선스도 따로 만들었죠.
이클립스 재단이 사용하는 ‘이클립스 퍼블릭 라이선스’는 ‘커먼 퍼블릭 라이선스(Common Public License, CPL)’와 비슷하나 특허를 침해할 수 있는 부분을 제거했고, 기업 친화적인 오픈소스 라이선스로 만들었습니다.
프라하의 이클립스, 젯브레인의 ‘인텔리 J IDEA’
① 젯브레인(JetBrains), 오픈소스 IDE를 만들다
인텔리J IDEA는 젯브레인이라는 기업이 만든 오픈소스 IDE입니다. 젯브레인의 본사는 프라하에 위치해 있는데요. 그래서 젯브레인을 프라하의 이클립스라고 부르기도 합니다. 글로벌 IT 기업이 주로 영미권에서 활동한 것과 달리 젯브레인은 체코, 러시아, 독일에서 기반을 닦고 있으며, 개발 도구를 주 사업으로 하는 기업치곤 규모가 큰 편입니다. 현재 직원은 약 580명이라고 합니다.
인텔리J IDEA는 2000년대 초반 등장했습니다. 당시 설립자들은 러시아 출신 개발자들로 자바 기술을 개발하다가 자신에게 꼭 맞는 새로운 IDE를 만들고 싶어 했습니다. 실제로 인텔리J IDEA는 출시 직후부터 큰 관심을 받았으며, 이클립스 다음으로 많이 이용하는 자바 IDE로 자리 잡았습니다. 이후 젯브레인은 인텔리J IDEA외에 각 언어에 특화된 다양한 IDE를 공개하기도 했습니다.
젯브레인의 인텔리J IDEA(출처: https://www.jetbrains.com/idea)
② 인텔리J IDEA는 왜 오픈소스 기술이 되었을까?
인텔리J IDEA가 처음부터 오픈소스 기술이었던 건 아니었습니다. 젯브레인은 2009년 공식 포럼을 통해 “많은 사람이 비용 문제로 좋은 개발 도구를 사용하지 못하고 있다.”라며 “인텔리J IDEA가 더 많이 성장했으면 하는 바람으로 오픈소스 기술로 전환했다.”라고 설명했습니다. 또한 “소스코드를 공개해 서드파티 라이브러리 같은 관련 생태계가 발전했으면 좋겠다.”라는 뜻도 밝혔죠.
2009년 이후, 인텔리J 플랫폼은 무료로 이용할 수 있는 커뮤니티 버전과 유료 제품인 얼티메이트 버전으로 나눠 제공되고 있는데요. 최근에는 구글이 인텔리J 플랫폼 기반으로 자체 IDE인 ‘안드로이드 스튜디오’를 만들어 관심을 받기도 했습니다.
인텔리J IDEA의 구동모습(출처: https://www.jetbrains.com/idea/)
젯브레인은 인텔리J IDEA를 홍보할 때 ‘개발자 인체공학적(Developer ergonomics)인 IDE’라는 표현을 사용합니다. 그만큼 개발자들이 필요로 하는 기능과 디자인을 제품에 녹여내고 있습니다. 예를 들어 코드를 더욱 편히 쓸 수 있도록 다양한 자동 완성 기능을 제공하고, 변수나 객체를 자동으로 완성해줍니다. 또한, 코드 검사가 더욱 정교하고, 리팩토링하기에도 훨씬 편합니다.
편집기의 디자인이나 UI 자체도 개발자들의 요구사항을 잘 반영해 만들었고, 개발자들이 많이 쓰는 개발 도구를 통합해 사용하기에도 좋습니다. 이러한 기능 덕에 이클립스보다는 무거운 프로그램이라는 평가도 있지만, 고급 기능을 원하는 개발자들에게는 큰 사랑을 받고 있습니다.
마이크로소프트, 오픈소스의 바람이 불다
① 통합 개발 환경 ‘비주얼 스튜디오’의 탄생
자바(JAVA) 진영에 이클립스와 인텔리J라는 인기 오픈소스 IDE가 있는 것처럼, 그 반대에는 마이크로소프트(MS)의 비주얼 스튜디오가 있었습니다. 과거 MS는 각 언어나 플랫폼별로 IDE를 출시했습니다. 비주얼 C++, 비주얼 베이직, 비주얼 폭스프로(FoxPro) 같은 도구를 내놓은 식이었죠. 이때 시간이 지나자 개발자마다 여러 언어를 쓰는 경우가 많아졌고, MS는 이런 흐름을 반영한 통합된 IDE를 개발합니다.
그 결과가 바로 비주얼 스튜디오입니다. 1997년 처음 출시된 비주얼 스튜디오는 그 이후 C, C++, C#, 닷넷 등을 다루는 개발자들이 많이 찾았으며, 지금도 많은 기업과 학교에서 선호도가 높습니다.
② 마이크로소프트에게 부는 바람, 오픈소스
MS는 전통적으로 내부 기술을 오픈소스 기술로 변환하는 것에 보수적인 태도를 취해왔습니다. 하지만 2014년 사티아 나델라가 새로운 MS CEO로 임명되면서 그 기류는 조금씩 변하고 있죠. 특히 오픈소스 기술을 통합해서 사용할 수 있게 허용하고 있으며, 일부 기술을 오픈소스 기술로 공개하고 있습니다. 그 중 하나가 바로 ‘비주얼 스튜디오 코드’입니다.
비주얼 스튜디오 코드(출처: https://code.visualstudio.com/)
비쥬얼 스튜디오 코드는 기존의 비주얼 스튜디오의 경량화된 제품이라고 볼 수 있습니다. 2015년 처음 공개됐고, 웹 개발자이나 클라우드 응용프로그램을 개발할 때 쓰기 편합니다. 정확히 말하면 IDE라기보단 코드 편집기라고 표현해야 할지도 모르지만, 디버깅 도구와 코드 자동 완성 도구 같은 개발자에게 꼭 필요한 기능들도 탄탄하게 지원합니다. MS는 공식 홈페이지에서 “비주얼 스튜디오 코드는 코드를 작성하고 빌드하고 디버깅 하는 과정을 보다 간편하게 하고 싶은 개발자에게 적합한 도구”라고 소개하고 있습니다.
현재 비주얼 스튜디오 코드는 MIT 라이선스1로 배포됐으며, 처음 공개됐을 때 깃허브 커뮤니티에서 큰 관심을 받기도 했습니다. 비주얼 스튜디오 코드와 관련된 문서도 깃허브에 공개됐으며, MS는 어떤 부분을 개선하고 개발할지 구체적인 로드맵을 공개하고, 코드 작성 규칙인 ‘코드 가이드라인’도 따로 문서로 제공하고 있습니다.
오픈소스의 바람은 어디까지 불까?
MS가 개발 도구를 오픈소스화하는 이유는 다른 오픈소스 IDE의 영향력도 있습니다. 무료 오픈소스 IDE가 많이 퍼질수록, MS의 입지는 좁아질 가능성이 높기 때문인데요. 따라서 MS도 개발 도구만큼은 오픈소스로 공개하려 하고 있습니다.
이와 같은 오픈소스화를 통해 개발자 커뮤니티에서 주도권을 잡는 효과를 누리려는 것인데요. 이러한 전략은 IDE뿐만 아니라 개발자 도구를 생산하는 많은 기업이 취하는 전략이기 때문에, 앞으로 오픈소스 IDE 및 개발 도구는 더 많아질 것으로 예상됩니다.
※ MIT 라이선스(MIT License): 미국 매사추세츠 공과대학교(MIT)에서 해당 대학의 소프트웨어 공학도들을 돕기 위해 개발한 라이선스이다. GNU 일반 공중 라이선스의 엄격함을 피하려는 사용자들에게 인기가 있다 (출처: 네이버 백과사전)
* 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.
* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 4.0 국제 라이선스에 따라 이용할 수 있습니다.
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
공지 | [Open UP 활용가이드] 공개SW 활용 및 개발, 창업, 교육 "Open UP을 활용하세요" | 364719 | 2020-10-27 |
공지 | [Open UP 소개] 공개SW 개발·공유·활용 원스톱 지원 Open UP이 함께합니다 | 354507 | 2020-10-27 |
7110 | [해외소식] 깃허브 오픈소스 커뮤니티를 위한 추가 기능 업데이트 | 5230 | 2017-08-01 |
7109 | 3대 오픈소스 IDE, 그들은 왜 오픈소스가 되었나? | 6354 | 2017-07-31 |
7108 | "크롬, 파이어폭스, 엣지에 질렸을 때" 갈아탈 신선한 대안 브라우저 10종 | 6326 | 2017-07-28 |
7107 | 공공 빅데이터 생태계 기여한다...어니컴, 핵심 SW 오픈소스로 푼다 | 4911 | 2017-07-28 |
7106 | 더루프, 8월 3일 블록체인 컨퍼런스 ‘LOOP-ONE’ 개최 | 5615 | 2017-07-28 |
7105 | 바이두, 자율주행차 ‘가속페달’ | 4726 | 2017-07-28 |
7104 | IBM이 생존을 위해 선택한 다음 먹거리 ‘블록체인’ | 5073 | 2017-07-28 |
7103 | 새롭게 유효하다··· 클래식 IT 원칙의 재해석 | 4765 | 2017-07-28 |
7102 | 맵알, 맵알 에코시스템 팩(MEP) 최신 버전 출시 | 5260 | 2017-07-28 |
7101 | 카카오뱅크 첫날 접속 폭주로 오류…일부 은행 대출심사 차질 | 4549 | 2017-07-28 |
0개 댓글