2013.01.31

MS, 오픈소스 포용자로 대변신 ··· TFS · VS 등에 Git 통합하기로

Joab Jackson | IDG News Service
한때 오픈소스 소프트웨어의 격렬한 반대자였던 마이크로소프트는 지난 수년간 개발 모델에 관한 한 점점 더 유연해지고 있다. 그리고 이제 리누스 토발즈가 개발해 사용하고 있는 비영리 오픈소스 프로그램까지 지원하는 매우 이례적인 상황에 이르렀다.
 
마이크로소프트는 널리 사용되는 분산 버전관리 소스코드 관리 시스템(SCM)인 Git을 자사의 기업용 개발툴 주력제품인 비주얼 스튜디오 IDE와 팀 파운데이션 서버(TFS)에 통합하는 작업을 현재 진행하고 있다.
 
마이크로소프트 기술 연구원이자 TFS 제품 매니저인 브라이언 해리는 "TFS는 기업들이 널리 사용하고 있고 Git은 오픈소스 커뮤니티에서 큰 성장을 거듭하고 있다"며 "Git를 통합해 둘 사이의 차이를 연결하면 오픈소스 커뮤니키는 물론 기업들에게도 매우 훌륭한 툴이 될 수 있을 것"이라고 말했다.


Git와 통합된 팀 파운데이션 서버에서 팀 프로젝트를 만드는 사례
 
해리는 이번주 워싱턴 레드먼드에서 열리는 마이크로소프트 ALM 서밋에서 이러한 통합을 공식 발표할 예정이다. TFS는 애플리케이션 개발 라이프사이클을 관리하는 소프트웨어로 요구관리, 프로젝트 관리, 설정관리, 테스팅, 배포 기능까지 지원한다. 마이크로소프트는 또한 '팀 파운데이션 서비스'라고 불리는 TFS 호스티드 버전도 제공할 예정이다.
 
TFS에는 코드별로 수정된 내역을 문서화해 저장하는 SCM을 이미 내장돼 있다. 그러나 마이크로소프트는 원격지 개발이 점점 늘어나는 추세를 고려해 분산 SCM 기능으로 강화한다는 구상이다. 이를 이용하면 개발자는 로컬에 코드를 복사해 작업을 한 후 프로젝트의 다른 수정사항과 동기화할 수 있다. 마이크로소프트는 분산 SCM을 처음부터 개발하는 대신 이미 널리 사용되는 솔루션을 적용하기로 결정했다. 해리는 "Git은 우리에게 꼭 필요한 대안이다"고 말했다.
 
마이크로소프트는 자사 제품 사용자 가운데서도 Git의 인기가 높아지고 있음을 이미 간파하고 있었다. 지난해 로컬 기기에서 Git을 사용해 TFS로 수정사항을 전송하는 'Git TFS 브리지'를 출시하기도 했다.

토발즈는 리눅스 코드 관리를 위해 상용 코드 리파지토리인 '비트키퍼'(BitKeeper)를 사용했지만 지난 2005년 라이선스 계약이 무산된 이후 Git을 사용하기 시작했다. 토발즈는 리눅스 커널 같은 대형 소프트웨어 프로젝트를 관리할 수 있는데 중점을 두고 Git을 개발했다. 현재 리눅스 코드는 총 1500만 줄에 달하고 2~3개월마다 업데이트 된다. 이 업데이트는 전세계 수천명의 개발자가 참여하고 있다. 토발즈와 그의 팀은 전세계 각지에서 개발에 참여하면서도 코드가 늘어남에 따라 응답시간이 느려지지 않는 분산 리파지토리 소프트웨어를 개발했다. 
 
해리는 "TFS와 Git의 통합은 '마이크로소프트 Git'이 아니라 Git를 채택한 것"이라고 말했다. 마이크로소프트는 C로 개발된 현재 가장 널리 사용되는 Git libgit2 버전을 사용할 예정이다. 이에 따라 TFS 사용자들은 앞으로 새로운 프로젝트를 시작할 때 TFS에 포함된 Git을 선택하거나 TFS의 중앙 버전관리 시스템 중 선택해 사용할 수 있다. 해리는 "TFS의 목적은 사용자들에게 최고의 중앙 버전관리 시스템과 최고의 분산 버전관리 시스템을 제공하는 것"이라고 말했다.
 
TFS는 Git 리파지토리와 함께 자동 빌드, 테스팅, 작업 추적 등 다양한 기능을 지원한다. 향후 Git은 중앙 TFS 리파지토리와 유사한 기능을 갖게 되고 액티브 디렉토리와 다른 마이크로소프트 기업용 보안, 감사 툴과도 더 밀접하게 연관될 예정이다. 팀 파운데이션 서비스도 다음 주부터 Git 호스티드 버전을 제공한다. 마이크로소프트는 차기 libgit2 개발을 지원하는데 상당한 공을 들이고 있어 GitHub는 물론 Git 개발에 참여한 다른 커뮤니티 프로그래머들과도 함께 작업할 예정이다.
 
마이크로소프트의 엔지니어가 참여함에 따라 개발 성과의 일부는 윈도우용 Git을 개선하는 데도 활용될 전망이다. 해리는 "Git 윈도우 버전은 사용성 측면에서 맥 OS와 유닉스 버전보다 떨어지는 것이 사실"이라며 "이를 개선하는데 도움을 줄 것"이라고 말했다.


비주얼 스튜디오와 Git


마이크로소프트는 TFS에 Git를 통합하는 것 외에 Git와 자사의 비주얼 스튜디오 IDE도 서로 함께 사용할 수 있도록 강화하고 있다. 이미 마이크로소프트는 개발이 끝난 코드를 Git 리파지로토리로 직접 전송할 수 있는 플러그인을 발표한 바 있다. Git 커뮤니티 테크놀로지 프리뷰(CTP) 플러그인은 비주얼 스튜디오 12에서 사용할 수 있다. 마이크로소프트는 차기 IDE 버전에서 Git를 네이티브로 지원할 계획이다.

해리는 "비주얼 스튜디오는 TFS에 통합된 Git를 통해 팀 파운데이션 서비스나 GitHub 호스티드 서비스, 또는 다른 Git와 통신할 수 있다"고 말했다. 요컨데 비주얼 스튜디오는 개발자들에게 Git를 위한 주요 인터페이스가 될 수 있다. 해리는 "리파지토리에 연결해 복사하고 이 프로젝트를 비주얼 스튜디오에서 열어 수정한 후 다시 제출할 수 있다"고 말했다.
 
개발자들은 또한 Git에 제출된 코드 수정사항을 확인해 코드가 어떻게 변했는지 검토하고 다른 브랜치 코드로 보내거나 기존 코드와 합치는 것도 가능하다. 해리는 "Git은 약간 복잡한 이슈를 갖고 있다"며 "우리는 비주얼 스튜디오 내에서 Git에 접근할 수 있도록 Git을 사용하는 대부분의 일반 패턴을 체계화해 단순한 워크플로우로 만들기 위해 노력하고 있다"고 말했다. editor@idg.co.kr



2013.01.31

MS, 오픈소스 포용자로 대변신 ··· TFS · VS 등에 Git 통합하기로

Joab Jackson | IDG News Service
한때 오픈소스 소프트웨어의 격렬한 반대자였던 마이크로소프트는 지난 수년간 개발 모델에 관한 한 점점 더 유연해지고 있다. 그리고 이제 리누스 토발즈가 개발해 사용하고 있는 비영리 오픈소스 프로그램까지 지원하는 매우 이례적인 상황에 이르렀다.
 
마이크로소프트는 널리 사용되는 분산 버전관리 소스코드 관리 시스템(SCM)인 Git을 자사의 기업용 개발툴 주력제품인 비주얼 스튜디오 IDE와 팀 파운데이션 서버(TFS)에 통합하는 작업을 현재 진행하고 있다.
 
마이크로소프트 기술 연구원이자 TFS 제품 매니저인 브라이언 해리는 "TFS는 기업들이 널리 사용하고 있고 Git은 오픈소스 커뮤니티에서 큰 성장을 거듭하고 있다"며 "Git를 통합해 둘 사이의 차이를 연결하면 오픈소스 커뮤니키는 물론 기업들에게도 매우 훌륭한 툴이 될 수 있을 것"이라고 말했다.


Git와 통합된 팀 파운데이션 서버에서 팀 프로젝트를 만드는 사례
 
해리는 이번주 워싱턴 레드먼드에서 열리는 마이크로소프트 ALM 서밋에서 이러한 통합을 공식 발표할 예정이다. TFS는 애플리케이션 개발 라이프사이클을 관리하는 소프트웨어로 요구관리, 프로젝트 관리, 설정관리, 테스팅, 배포 기능까지 지원한다. 마이크로소프트는 또한 '팀 파운데이션 서비스'라고 불리는 TFS 호스티드 버전도 제공할 예정이다.
 
TFS에는 코드별로 수정된 내역을 문서화해 저장하는 SCM을 이미 내장돼 있다. 그러나 마이크로소프트는 원격지 개발이 점점 늘어나는 추세를 고려해 분산 SCM 기능으로 강화한다는 구상이다. 이를 이용하면 개발자는 로컬에 코드를 복사해 작업을 한 후 프로젝트의 다른 수정사항과 동기화할 수 있다. 마이크로소프트는 분산 SCM을 처음부터 개발하는 대신 이미 널리 사용되는 솔루션을 적용하기로 결정했다. 해리는 "Git은 우리에게 꼭 필요한 대안이다"고 말했다.
 
마이크로소프트는 자사 제품 사용자 가운데서도 Git의 인기가 높아지고 있음을 이미 간파하고 있었다. 지난해 로컬 기기에서 Git을 사용해 TFS로 수정사항을 전송하는 'Git TFS 브리지'를 출시하기도 했다.

토발즈는 리눅스 코드 관리를 위해 상용 코드 리파지토리인 '비트키퍼'(BitKeeper)를 사용했지만 지난 2005년 라이선스 계약이 무산된 이후 Git을 사용하기 시작했다. 토발즈는 리눅스 커널 같은 대형 소프트웨어 프로젝트를 관리할 수 있는데 중점을 두고 Git을 개발했다. 현재 리눅스 코드는 총 1500만 줄에 달하고 2~3개월마다 업데이트 된다. 이 업데이트는 전세계 수천명의 개발자가 참여하고 있다. 토발즈와 그의 팀은 전세계 각지에서 개발에 참여하면서도 코드가 늘어남에 따라 응답시간이 느려지지 않는 분산 리파지토리 소프트웨어를 개발했다. 
 
해리는 "TFS와 Git의 통합은 '마이크로소프트 Git'이 아니라 Git를 채택한 것"이라고 말했다. 마이크로소프트는 C로 개발된 현재 가장 널리 사용되는 Git libgit2 버전을 사용할 예정이다. 이에 따라 TFS 사용자들은 앞으로 새로운 프로젝트를 시작할 때 TFS에 포함된 Git을 선택하거나 TFS의 중앙 버전관리 시스템 중 선택해 사용할 수 있다. 해리는 "TFS의 목적은 사용자들에게 최고의 중앙 버전관리 시스템과 최고의 분산 버전관리 시스템을 제공하는 것"이라고 말했다.
 
TFS는 Git 리파지토리와 함께 자동 빌드, 테스팅, 작업 추적 등 다양한 기능을 지원한다. 향후 Git은 중앙 TFS 리파지토리와 유사한 기능을 갖게 되고 액티브 디렉토리와 다른 마이크로소프트 기업용 보안, 감사 툴과도 더 밀접하게 연관될 예정이다. 팀 파운데이션 서비스도 다음 주부터 Git 호스티드 버전을 제공한다. 마이크로소프트는 차기 libgit2 개발을 지원하는데 상당한 공을 들이고 있어 GitHub는 물론 Git 개발에 참여한 다른 커뮤니티 프로그래머들과도 함께 작업할 예정이다.
 
마이크로소프트의 엔지니어가 참여함에 따라 개발 성과의 일부는 윈도우용 Git을 개선하는 데도 활용될 전망이다. 해리는 "Git 윈도우 버전은 사용성 측면에서 맥 OS와 유닉스 버전보다 떨어지는 것이 사실"이라며 "이를 개선하는데 도움을 줄 것"이라고 말했다.


비주얼 스튜디오와 Git


마이크로소프트는 TFS에 Git를 통합하는 것 외에 Git와 자사의 비주얼 스튜디오 IDE도 서로 함께 사용할 수 있도록 강화하고 있다. 이미 마이크로소프트는 개발이 끝난 코드를 Git 리파지로토리로 직접 전송할 수 있는 플러그인을 발표한 바 있다. Git 커뮤니티 테크놀로지 프리뷰(CTP) 플러그인은 비주얼 스튜디오 12에서 사용할 수 있다. 마이크로소프트는 차기 IDE 버전에서 Git를 네이티브로 지원할 계획이다.

해리는 "비주얼 스튜디오는 TFS에 통합된 Git를 통해 팀 파운데이션 서비스나 GitHub 호스티드 서비스, 또는 다른 Git와 통신할 수 있다"고 말했다. 요컨데 비주얼 스튜디오는 개발자들에게 Git를 위한 주요 인터페이스가 될 수 있다. 해리는 "리파지토리에 연결해 복사하고 이 프로젝트를 비주얼 스튜디오에서 열어 수정한 후 다시 제출할 수 있다"고 말했다.
 
개발자들은 또한 Git에 제출된 코드 수정사항을 확인해 코드가 어떻게 변했는지 검토하고 다른 브랜치 코드로 보내거나 기존 코드와 합치는 것도 가능하다. 해리는 "Git은 약간 복잡한 이슈를 갖고 있다"며 "우리는 비주얼 스튜디오 내에서 Git에 접근할 수 있도록 Git을 사용하는 대부분의 일반 패턴을 체계화해 단순한 워크플로우로 만들기 위해 노력하고 있다"고 말했다. editor@idg.co.kr

X