개인정보보호, 소프트웨어 정책
닷넷코어 CLR 소스코드 공개
마이크로소프트(MS)가 닷넷 코어 런타임인 ‘코어CLR(Core Common Language Runtime)’ 소스코드를 공개했다. 오픈소스로 공개된 코어CLR 코드는 일단 윈도OS에서만 쓸 수 있지만, 향후 수개월 내 리눅스와 OS X에서도 쓸 수 있게 된다.
3일(현지시간) 외신에 따르면, MS 닷넷팀은 블로그를 통해 코어CLR 코드를 기트허브에 공개했다고 밝혔다.(☞블로그 원문)
코어CLR은 닷넷코어의 실행엔진으로 자바의 JVM과 유사한 역할을 한다. 가비지 콜렉션과 머신 코드 컴파일 같은 기능을 수행한다.(☞기트허브 닷넷코어 코어CLR 저장소)
기트허브에 MS 닷넷코어의 코어CLR 소스코드 저장소가 외부에 공개됐다.
닷넷코어는 닷넷 프레임워크의 포크(fork) 버전으로, 닷넷 콤팩트 프레임워크처럼 특정 디바이스나 환경에 적합한 요소들만 모아 모듈화한 서브 셋이다.(☞참고 블로그) 닷넷프레임워크 축약판 성격이다.
기존의 닷넷 프레임워크 서브셋이 데스크톱, 윈도스토어, 윈도폰, ASP닷넷 등에 따라 각기 나뉘었던 것에 비해, 닷넷코어는 공통의 런타임과 통합된 베이스클래스라이브러리(BCL) 위에 앱 모델을 목적에 맞게 선택하도록 한다. 개발자는 닷넷코어로 이동가능한 클래스라이브러리를 쓰게 되고, 다양한 디바이스와 운영 플랫폼을 지원하는 앱을 개발할 수 있게 된다.
디바이스 앱을 위한 닷넷 네이티브 런타임과 ASP닷넷 웹앱을 위한 코어CLR 등이 들어가 있다. 이 코어CLR의 소스코드가 공개된 것이다.
닷넷코어 구성
공개된 코어CLR은 닷넷 프레임워크 CLR의 오픈소스 버전이다. 공개된 코드는 C++과 C#을 혼합한 260만 라인으로 이뤄져 있다. MS는 저스트인타임(JIT) 컴파일러를 위한 코드 32만 라인, 가비지 콜렉터를 위한 코드 5만5천 라인을 포함한다고 밝혔다.
코어CLR 코드 라인 비율
MS는 작년 11월 서버사이드 닷넷 프레임워크를 오픈소스로 전환한다고 밝히면서, 리눅스와 OS X 등 非윈도 플랫폼도 닷넷 코어CLR을 쓸 수 있게 된다고 밝혔었다. 그러나 이번에 공개된 코어CLR은 윈도에서만 쓸 수 있다.
MS 닷넷팀은 향후 수개월 내 리눅스와 OS X에서도 쓸 수 있게 될 것이라고 설명했다.
크로스플랫폼 지원 목적으로 애초부터 비주얼스튜디오로 만들어지지 않았다는 설명이다. 씨메이크(CMake)란 오픈소스 크로스플랫폼 빌드시스템을 활용해 개발했고, 이는 윈도, 리눅스, OS X 등 플랫폼마다의 특정요소를 포함할 수 있게 한다고 밝혔다.
MS의 이번 닷넷 코드 공개는 지난 11월 이뤄진 코어FX 프로젝트의 코어 라이브러리 공개에 이은 두번째 메이저 릴리스다.
MS는 코어FX와 코어CLR을 MIT라이선스로 공개했다.