IDE 콘텐츠의 실시간 공유를 위한 라이브러리와 도구 모음으로, 오픈 기술로 원격 팀워크 향상을 목표로 함
호스트가 협업 세션을 시작하고 다른 사람을 초대하면, IDE 확장 기능이 호스트의 작업 공간 콘텐츠를 배포하고 다른 참가자의 텍스트 선택 및 커서 위치 하이라이트
이와 동시에 선호하는 회의/채팅 앱에서 즉각적인 토론 가능
참가자들은 서로 무엇을 보고 있는지, 어떤 변경 사항을 실시간으로 제안하는지 확인 가능
첫 릴리즈에 포함된 Open Collaboration Tools의 주요 구성 요소
VS Code 확장 기능(Open VSX 및 VS Code Marketplace에서 사용 가능)
Eclipse Theia용 확장 기능
인증 및 협업 세션 처리를 위한 서버 애플리케이션(api.open-collab.tools 공용 인스턴스 제공)
다양한 환경에 통합을 용이하게 하는 TypeScript 라이브러리가 있는 개방형 확장 가능 프로토콜
처음부터 내장된 엔드투엔드 암호화 및 확장 가능한 사용자 인증
향후 계획
곧 Monaco Editor와의 통합 기능 제공 예정
이를 통해 웹 애플리케이션 사용자 간 또는 웹사이트와 로컬 IDE 간에 완전히 사용자 지정 가능한 실시간 협업을 가능하게 해줌
웹사이트 링크를 열기만 하면 본격적인 개발 환경에서 시작된 라이브 공유 세션에 참여가 가능해짐
초기 버전은 모든 프로그래밍 언어의 소스 코드, 마크다운 문서, 스크립팅 언어, 특정 도메인용 언어, Configuration 포맷, HTML 및 기타 마크업 언어 등 일반 텍스트 문서에 초점을 맞추지만, Jupyter Notebook, 다이어그램 편집기 등 다른 종류의 콘텐츠 제작 지원 추가 예정
실시간 협업 보기 및 편집이 도움이 될 수 있는 다양한 시나리오에 프로토콜과 인프라 적용 가능
새로운 협업 도구의 필요성
기존 제품들은 소비적이고 정보 민감성이 높은 기업 환경에 적합하지 않음
필요한 솔루션의 조건:
인기 있는 IDE에 플러그인으로 제공, 크로스 IDE 사용 사례 지원
확장성을 염두에 둔 설계. 텍스트 이외의 사용자 정의 편집기 추가 용이
절대적인 데이터 보안을 위해 구내 실행 가능
단일 공급 업체에 구속되지 않음. 도구 제어를 위한 허용 라이센스 선호
Open Collaboration Protocol
IDE가 협업 서버와 인증하는 방법, 세션을 생성하거나 참여하는 방법, 세션 내 사용자 간에 교환되는 데이터 유형 등을 지정
중앙 집중식 P2P 메커니즘을 통해 기술적으로 구현
메시지 브로커 역할을 하는 중앙 서버는 메시지 내용에 대해 완전히 모름
두 클라이언트가 서로의 메시지를 이해하는 한 함께 작업 가능
기본 텍스트 편집기에 대한 기본 제공 지원 포함
큰 그림
관대한 오픈 소스 라이선스로 고도로 사용자 정의 가능한 도구와 프레임워크를 제공한다는 TypeFox의 전반적인 전략에 완벽하게 부합
api.open-collab.tools의 공용 인스턴스는 새 프로젝트의 기능을 시연하고 오픈 소스 커뮤니티 지원 의도