모노는 어떻게 시작되었는가? (Mono early history) - nolboo/nolboo.github.io GitHub Wiki

원문주소: http://lists.ximian.com/pipermail/mono-list/2003-October/016345.html

[Mono-list] Mono early history.

Miguel de Icaza [email protected] 13 Oct 2003 12:48:58 -0400 Previous message: [Mono-list] dotGNU and Mono Next message: [Mono-list] Mono early history. Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

죄송하지만 개인적인 호기심에 질문해봅니다. dotGNU보다 모노가 먼저 시작했었나요?

흠, 저희는 이 프로젝트를 (dotGNU프로젝트와)거의 동시에 진행했었어요 모노쪽에서는 어떤일이 있었냐면…

.NET과 관련한 문서가 2000년 12월에 공개가 되었었죠. 이때 저는 이 기술을 보고 많은 흥미를 가졌었습니다. 그리고 다른 사람들과 비슷한곳에서 작업을 착수하기 시작했죠. 바이트코드 인터프리터부터 말이에요. 하지만 메타데이터에 대한 명세를 적어놓은 문서가 없어서 난관에 부딛혔었습니다.

마지막버전의 VM 문서는 2001년 1월 22일에 작성되었었습니다. 그리고 .NET메일링 리스트에 메타데이터 명세 파일이 없다고 이야기를 했죠

메타데이터 문서를 기다리는 동안, 저는 연습삼아 C# 컴파일러 개발에 착수를 했습니다. 토크나이저, 파서등등을 해서 연습했죠.

Rhys는 이때즈음 해서 저한테 연락을 했었습니다. 그는 파일포맷을 리버싱 하고 있었고, 일부 기능을 구현했었습니다. 상당히 흥미있었죠. 어떻게 보면 이것이 공동 프로젝트의 시초였기도 합니다. 세사람이 같이 했었으니 말이죠. Rhys, Saurik, 그리고 저.

이즈음 해서 Sam Ruby는 ECMA에 (원래 계획에는 없던) 바이너리 파일 포멧을 공표(publish)하라고 요청을 했었습니다. 거기서 무슨일이 있었는지는 잘 모르겠지만 결국 2001년 4월 ECMA에서는 해당 문건을 공개하게 되었죠.

그리고 그때, C#컴파일러의 파싱 기능이 작동하기 시작했습니다. 그리고 저는 그걸 Guadec 컨퍼런스에 갔고 몇명 앞에서 데모를 시연했죠. 또한 오픈소스 프로젝트로서의 타당성 조사도 할 수 있었습니다.

타당성 조사에는 메타데이터 리더도 있었죠. 엄청나게 힘들어보였습니다. 그런데 Saurik은 이미 했네요? 하지만 그 코드가 사용되지 않았다는것을 알았습니다. 그리고 Rhys도 하나 만들었었습니다. 비록 저는 그 코드를 별로 좋아하지 않았지만 말이죠(이유는 단순합니다. 제가 선호하던 Linux/Gnumeric 코딩 스타일을 준수하지 않았기 때문이에요) 이렇듯 초창기에는 지금의 프로젝트에 비하면 정말 미약했습니다.

2000년 12월부터 저희는 .NET 프레임워크를 보고 많이 놀랐습니다. 그리고 Ximian 내에서 토론을 했었습니다. 저희가 처음 했던 일은 Labs라는 팀이 CORBA나 SOAP에 관한 일을 하는것을 도왔고 Perl 팀이 Gnome binding infrastructure에서 하는 것을 도왔었습니다.(이 시점에서 저희가 해고자 했던 일은 하나의 API를 제작하면 이것을 가지고 여러 언어에서 사용하는 것이었죠)

Labsl팀은 결국 Bonobo-conf나 ORBit2 같은 일들을 마쳤습니다. 목표는 생선성 향상이었죠. 예를들면 많은 앱을 더 빠르게 개발할 수 있다거나, 데스크톱에서의 표준이나 abstraction을 더 강화해서 개발비용과 시간이 줄어들게끔 한다거나 말입니다.

저희팀은 잘 진행하고 있었습니다. 하지만 .NET 프레임워크가 할 수 있는 것들을 비교하면서 아직 갈길이 멀다는 것을 느끼고 있었죠.

하지만 우리가 타당성 조사를 미치고나니 할 수 있다는 확신이 들었습니다. 참고로 이 시점에서 저희는 제일 규모가 큰 데스크톱 어플리케이션을 제로베이스에서 하고 있었더랬죠. Evolution이라하는 것이었어요.

그렇듯 저희는 오픈소스를 제작하는데 있어서 경험들이 있었습니다. 그리고 일부 중요한 코드들이 수정되어야 했었습니다.

Nat Friedman은 저희가 했던일을 토대로 큰 판을 벌리는데 있어서 상당히 협조적이었습니다. Ximian의 관리를 받기 시작하고, Ximian Labs의 많은 개발자들이 모노로 몰려오기 시작했습니다. 이 팀의 목표도 이전 프로젝트와 유사했어요. 개발자들의 생산성을 향상시키는것이었죠.

저희는 조용히 있었어요. 저희가 현재 있는 팀에서 Mono effort로 옮기는 동안, 그동안 했던 프로젝트들을 조금씩 벗어나고 있었죠. 그리고 몇몇 사람들이 잔류했습니다. Alex Graveley는 Soup을 만들고, Michael Meeks는 Bonobo와 ORBit을 담당했죠) 그리고 Dietmar, Paolo, Dick과 저는 모노와 관련된 작업을 하기 시작했습니다

Ravi는 C#컴파일러 제작을 돕기위해 나중에 합류했었어요.

사실 이런 작은 팀이 .NET의 대안을 만든다는 것은 말도 안되는 이야기였어요. 그래서 저희는 이것을 오픈소스 프로젝트화 하기로 계획을 세웠습니다. 마케팅 담당이었던 Jon Perr의 지휘 아래 저희가 이러한 프로젝트를 계획하고 있다는 것을 세간에 알릴 수 있었습니다.

2001년 7월 19일에 저희는 이것을 알리기로 결정했습니다. 그리고 O'Reilly 컨퍼런스에서 발표를 할 수 있었죠. Tim O'Reilly는 상당히 협조적이었습니다. 그리고 초기부터 많은 도움을 주었어요. 그리고 발표시점에 가서는 메타데이터 프레임워크와 C#컴파일러, 그리고 몇개의 initial class들을 보여줄 수 있었습니다.

공식적으로는 저 날이 Mono 프로젝트의 시작일이었어요. 하지만 정말 오랜시간동안 많은 노력을 기울인 끝에 시작을 할 수 있었죠.

사실 dotGNU건 모노건 뭐가 처음이었는지는 저한테 별로 중요하지 않아요. 모노는 저한테 모든것을 의미하니깐 말이죠. 이것은 리눅스가 데스크톱으로 성공하기 위한 기술이에요! 물론 지금은 자생적으로 잘 돌아가고 있습니다. 특정 조직이 밀어주었다기보다는 많은 유저들이 의견을 개진하고 공헌을 해 주었기 때문이죠. 지금 이순간에도 모노는 점점 발전하고 있습니다. 그리고 정말 감사하게 생각드려요.

답변이 되셨나요? Miguel