모노 (소프트웨어)

모노()는 C# 컴파일러와 공통 언어 런타임을 포함하여, Ecma 표준을 준수하는 닷넷 프레임워크의 오픈 소스 버전이다. 원래는 노벨이 개발 회사인 시미안(Ximian)을 인수하면서 노벨이 계속 개발하게 되었는데 마이크로소프트에서 개발을 양도받아 자회사인 자마린(Xamarin)에서 개발하고 있다. 모노의 각종 크로스 플랫폼에서 닷넷 프레임워크 기반 응용 프로그램을 실행을 하는 동시에 리눅스 개발자에게 더 나은 개발 도구를 제공하기 위한 목적으로 개발되었다. 모노는 대부분 리눅스 배포판을 비롯하여, BSD, macOS, 윈도우, 솔라리스, 안드로이드 등을 비롯하여, 플레이스테이션3, 엑스박스 360 같은 콘솔 게임기 같은 많은 운영 체제에서 실행할 수 있는 장점이 있다.

모노는 개발 초기에는 닷넷 프레임워크을 개발한 마이크로소프트에 맞서기 위해서 개발했는데 문제는 모노를 개발하면서 닷넷 프레임워크를 구현 시키기 위해서는 일부 닷넷의 특허를 사용해야 한다는 문제점이 있다. 당시 마이크로소프트는 폐쇄적인 사유 소프트웨어 정책을 펼치기로 유명해서 초창기에 개발된 모노는 특허 침해에 대한 많은 소송전을 맞서야 했다. 그러나 최근에 마이크로소프트가 폐쇄적인 정책을 버리고 오픈 소스 정책을 추진하기 시작하면서, 닷넷을 오픈 소스화 시켰고, 모노의 개발을 양도를 받으면서 자마린에서 활용할 수 있도록 개발하고 있다.

실행 환경 
모노의 실행 환경은 다양한 CPU 아키텍처 형의 JIT(Just-In-Time) 컴파일 엔진을 포함하고 있으며 동작하는 CPU 아키텍처는 다음과 같다.

 IA-32
 IA-64 및 AMD64
 SPARC 및 SPARC64
 PowerPC
 ARM
 S390(32비트 및 64비트 모드)

모노의 구성 요소 
모노는 다음과 같은 구성 요소를 가지고 있다:

 중심 구성 요소
 모노/리눅스/그놈 개발 스택
 마이크로소프트 호환 스택

모노의 중심구성요소는 C# 컴파일러, 가상머신 그리고 기본 클래스 라이브러리를 포함하고 있으며, 이들 구성요소들은 ECMA-334와 335 표준에 기반으로 하고 있다.

같이 보기 
 ASP.NET MVC
 ASP.NET Core
 NuGet
 닷넷 프레임워크
 닷넷 마이크로 프레임워크
 닷넷 코어
 엔티티 프레임워크

각주

외부 링크 
 모노 공식 사이트

컴퓨팅 플랫폼
닷넷 프레임워크
크로스 플랫폼 소프트웨어
노벨 소프트웨어
2004년 소프트웨어
MIT 라이선스 소프트웨어