.NET 개발자들은 .NET 프레임워크 라이브러리의 소스코드를 다운받을 수 있고 그걸로 디버깅도 가능해졌습니다. 이것은 .NET 프레임워크 3.5와 올해 말 배포될 VS 2008에서 제공될 것입니다.
이 소스 코드는 주석이 포함되어 있으며 제공되는 소스 코드는 다음과 같습니다.
- .NET Base Class Libraries
System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc
- ASP.NET
System.Web
- Windows Forms
System.Windows.Forms
- ADO.NET
System.Data
- XML
System.Xml
- WPF
System.WIndows
여기에 몇 개월 안에 WCF, Workflow 및 LINQ도 추가될 것입니다. 소스 코드는 Microsoft Reference License(MS-RL)하에 배포될 것입니다.
.NET 프레임워크 소스 라이브러리는 단일 설치 형식으로 다운로드할 수 있게 될 것입니다. 또한 VS 2008를 통한 디버깅도 통합하여 제공합니다.
VS 2008의 최종 릴리즈는 .NET 프레임워크 디버거 심볼과 대응하는 소스 코드를 동적으로 다운로드 하고 디버깅할 수 있도록 설정할 수 있도록 지원할 것입니다.

.NET 애플리케이션에 디버그 포인트를 설정하고 디버거에서 콜 스택을 참조할 수 있습니다.

심지어 F11을 눌러 .NET 프레임워크 소스 구현으로 들어가 볼 수 있습니다.

VS 2008은 적절한 .NET 프레임워크 소스코드 파일을 필요할 때 동적으로 다운로드 받을 수 있는 지원을 포함하게 될 것입니다. 이것은 디버깅 전에 소스 코드를 다운받지 않아도 된다는 것을 의미합니다.
콜스택에서 System.Web.UI.Page 클래스의 private ProcessRequest 메서드로 들어간 스크린 샷:

또한 선택적으로 mscorlib에 있는 System.Threading.ThreadPool 구현으로 들어갈 수도 있습니다.

우선 대외적인 이미지 쇄신이 있겠죠. 최근 들어서 하게된 생각인데 오픈소스코드 진영을 제외하면 지금의 MS는 가장 개방적인 개발 환경과 정책을 사용하고 있는게 아닌가 싶어요. 닷넷 라이브러리의 소스코드 공개가 단지 '볼 사람만 봐라' 이런식이 아니라 누구에게나 공개적이고 공평하게 VS 2008로 통합되어 제공되기 때문이죠.
.NET 라이브러리 품질의 향상도 얻을 수 있을거에요. 제 아무리 MS의 개발자가 뛰어나다고 해도 세상에는 더 뛰어난 고수들이 있잖아요? 아마도 그들은 닷넷 프레임워크의 형편없는 코드나 버그를 찾아낸다면 가차없이 비웃으면서 더 나은 코드 구현을 공개할거에요. MS로서는 약간의 비웃음만 감수하면 그런 걸 공짜로 얻을 수 있게 되는거죠.
그리고 제 생각에 가장 큰 메리트는 앞으로 리눅스에서 닷넷 프레임워크를 구현하는 MONO와 같은 프로젝트가 더욱 가속화될 것이라는 점이에요. 확실치 않지만 MONO는 리플렉터 노가다를 통해 구현된 걸로 알고 있는데요, 정확한 구현까지 공개되었으니 MONO 팀은 지금쯤 만세를 부르고 있을지도 모르죠. 게다가 리눅스에 그치지 않고 MAC용 닷넷 프레임워크, 특수 모바일용 닷넷 프레임워크, 심지어 PS3와 같은 게임기에도 닷넷 프레임워크를 이식할 수 있는 가능성이 열리는거죠. 누가 그딴 작업을 하겠냐고요? 세상엔 단종된지 10년도 넘은 게임기의 머신 코드를 소프트웨어로 구현하는 작업을 하는 사람도 있어요!
이번 사건은 MS의 커다란 정책 변화와 함께 닷넷 프레임워크가 이미 윈도우즈 프로그래밍을 장악했다고 확신하는 자신감을 보여주는 것 같아요. 보는 시각에 따라서는 MS도 발등에 불이 떨어져 허둥대는 것처럼 보일지도 모르지만요^^
여튼 스캇 아저씨가 포스팅 한 것이니 '아님 말고'로 끝나진 않을거라 믿어요.
VS 2008이 더욱 기대되네요!