러스트(Rust) 언어로 만들어진 코드 편집기 ‘제드(Zed)’에 SSH 원격 기능이 추가됐다.
제드 개발자 콘래드 어윈은 지난달 말 블로그에서 “SSH로 접속가능한 모든 기기의 제드에서 프로젝트를 열 수 있다”며 “UI는 완전히 로컬에서 실행되지만, 언어서버, 작업, 터미널 등은 원격 서버에서 실행돼 클라우드 하드웨어를 사용할 수 있다”고 밝혔다.
어윈은 “제드는 원격 코드 편집을 위해 설계됐지만, SSH 원격 기능을 추가하는 건 구현하기 복잡했다”며 “SSH를 지원하는 인프라를 변경하려면 SSH 연결 유지 관리부터 원격 서버를 빌드하는 방법, 제드에 있는 다른 모든 것에 기능을 통합하는 방법까지 많은 하위 문제를 해결해야 했다”고 적었다.
그에 따르면, 연결이 끊겨도 계속 실행되는 원격 데몬을 구현하고, 제드 협업 및 공유 편집과 함께 잘 작동하도록 하는 게 과제였다고 한다.
제드의 SSH 연결은 컨트롤마스터(ControlMaster) 설정을 사용해 각 호스트에 대한 단일 연결을 유지한다. 암호 재입력이나 재인증 없이 새 터미널을 열고 작업을 생성할 수 있다. 연결되면 운영체제(OS)와 아키텍처에 맞는 원격 서버를 다운로드 한다. 원격서버는 musl로 컴파일 가능해 동적 링킹(dynamic linking)을 요구하지 않는다. 연결을 설정하고 원격 서버를 설치한 후엔 원격 서버가 연결 단절에도 계속 실행되고, 재연결 시 언어 서버가 완전히 초기화된다. 저장되지 않은 변경 사항은 로컬에 백업된다.
제드의 ‘SSH 원격(SSH Remoting)’ 기능은 현재 미리보기 단계다. 리눅스와 맥에서 작동하지만, 원격 컴퓨터에서 확장 기능은 아직 지원하지 않는다. 자동 포트 포워딩이 없는 대신 이를 활성화하기 위한 SSH 인수를 지원한다.
원격 서버에 접속해 코드를 편집하는 기능은 비주얼스튜디오코드(VS코드) 인기의 주요 원인 중 하나다. VS코드의 대안 후보 중 하나로 기대를 받아온 만큼 원격 접근 강화로 분위기 몰이에 나설 지 주목된다.
제드는 태어난 지 얼마 안 된 신생 소프트웨어다. 작년 처음으로 퍼블릭 베타가 공개됐다. 깃허브에서 아톰(Atom) 편집기를 만들던 사람들이 개발했다. 아톰은 2022년 프로젝트 종료됐고, 아톰 개발자들이 ‘궁극적인 편집기’를 만들어보겠다며 창업했다. 아톰 편집기에서 일렉트론(Electorn) 앱 프레임워크가 나왔고, VS코드가 일렉트론으로 만들어졌다. 이제 아톰의 정식 후계자가 VS코드를 겨냥하고 있다.
제드의 강점은 성능이다. 러스트로 개발된 만큼 내장 웹브라우저 기반 편집기(VS코드)나 자바 기반 편집기(젯브레인스 편집기)보다 빠르며, 크기도 작다. 문법, 언어, 테마를 제공하는 확장 기능도 지원한다. GPU 가속을 활용하고,
또 다른 강점은 협업 기능 내장이다. 플러그인 없이 협업 기능을 바로 활용할 수 있다. 사용자끼리 프로젝트를 공유하고 동시에 편집할 수 있다.
하지만, 제드는 아직 편집기 수준에 그친다. 디버깅 같은 통합개발환경(IDE)로서 기능은 부족하다. 로드맵상 디버깅, 범용 확장, 깃 커밋 및 히스토리, 테스트러너 등이 추가 개발될 예정이다.
AI 모델 지원 기능이 있다. 오픈AI, 앤트로픽, 구글 제미나이, 코파일럿챗 등의 모델로 구성할 수 있는 어시스턴트 패널을 이용할 수 있다. 특히 앤트로픽이 제드와 직접 협력해 AI 보조 기능을 개발했다고 한다.
제드는 기본적으로 오픈소스 소프트웨어로 편집기의 경우 GPL 3.0, 서버 구성요소의 경우 AGPL로 배포된다. 무료로 사용가능하다. 맥과 리눅스에서 사용가능하다.
제드를 개발하는 기업 ‘제드인더스트리’는 영리 기업으로, 향후 기업용 기능을 추가해 유료 버전을 판매한다는 계획이다.
제드는 러스트의 데스크톱 애플리케이션의 주요 사례로 언급되며 관심을 끌고 있다. 다만 완성된 첫 버전이 나오기 전이라 생태계는 부족하다.
글. 바이라인네트워크
<김우용 기자>yong2@byline.network