포크·자체호스팅
Fork and Self-hosting
공개된 코드를 통째로 복사해 내가 원하는 서버나 컴퓨터에서 직접 돌리는 자유
쉽게 말하면
포크·자체호스팅은 남이 만든 프로그램을 회사 서버가 아니라 내가 원하는 곳에서 직접 돌릴 수 있게 코드를 그대로 복사해 가져오는 일이다. 레시피가 공개된 요리를 떠올려보면 쉽다. 식당(회사 서버)에 가서 그 요리를 사 먹을 수도 있지만, 레시피를 그대로 받아 와서 내 부엌(내 서버나 컴퓨터)에서 직접 만들어 먹을 수도 있다. 포크는 레시피를 통째로 복사해 내 것으로 만드는 행위고, 자체호스팅은 그 복사본을 내가 관리하는 곳에서 실제로 돌리는 행위다.
이게 중요한 이유는 통제권 때문이다. 식당이 문을 닫거나 메뉴를 바꿔도 내가 레시피를 갖고 있으면 계속 그 요리를 만들어 먹을 수 있다. 마찬가지로 원래 만든 회사가 서비스를 종료하거나 요금 정책을 바꿔도, 포크해서 자체호스팅해 둔 사람은 자기 서버에서 그대로 프로그램을 계속 쓸 수 있다. 데이터가 남의 서버를 거치지 않고 내 컴퓨터 안에만 머문다는 것도 큰 차이다.
다만 자체호스팅에는 대가가 따른다. 서버를 켜 두고 관리하는 일, 업데이트를 직접 챙기는 일은 원래 회사가 대신 해주던 몫을 내가 짊어지는 것이다. 그래서 보통 코드를 공개해 누구나 포크할 수 있게 하되, 관리가 편한 완성형 서비스도 함께 제공하는 식으로 두 갈래를 다 열어두는 경우가 많다.
기사에서 이렇게 나와요
기사에서는 "전용 원격 컴퓨터와 포크·자체호스팅 자유를 잇달아 발표했어요"처럼 쓰였다. 여기서 오해하기 쉬운 점은, 자체호스팅이 '클라우드 서비스를 아예 안 쓴다'는 뜻이 아니라는 것이다. 실제로는 회사가 제공하는 완성형 서비스를 그대로 써도 되고, 원한다면 코드를 복사해 자기 서버나 5달러짜리 VPS에서 직접 돌릴 수도 있다는, 선택지가 넓다는 뜻으로 쓰인다.
직접 해보기
직접 손대볼 수 있는 절차는 이렇다.
- 관심 있는 오픈소스 프로젝트의 저장소 페이지를 찾는다.
- 라이선스 표시를 확인해 포크와 자체 실행이 허용되는지 본다.
- 저장소를 내 계정으로 복제(포크)한다.
- 코드를 내 컴퓨터나 서버로 내려받아 안내된 설치 명령을 그대로 따라 실행해 본다.
- 원래 서비스와 비교해 내 서버에서 돌아가는 버전이 어떤 점이 다른지 확인한다.
