소프트웨어 임치는 소스코드를 중립적인 제3의 기관에 맡겨 두는 제도이며, 충분히 합리적인 두려움에 답하기 위해 존재합니다. 핵심 시스템을 만들고 운영해 온 공급업체가 사라지고, 여러분에게는 의존하고 있지만 스스로 유지보수할 수 없는 무언가만 남는 상황 말입니다. 임치 계약은 소스코드를 그 기관에 보관해 두었다가, 그런 일이 실제로 벌어지면 여러분에게 인도하도록 정해 둡니다.

두려움 자체는 정당합니다. 문제는 이 제도가 자주 오해된다는 점이고, 그 간극에서 매년 돈은 나가지만 정작 필요한 날에는 아무 도움이 되지 않는 계약이 생겨납니다.

서명하기 전에 던져야 할 불편한 질문: 내일 코드가 인도된다면, 여러분 조직에서 그것을 실제로 실행할 수 있는 사람이 있습니까? 빌드 절차도, 인프라 정의도, 호출하는 외부 서비스의 인증 정보도, 데이터도 없는 소스코드 임치물은 사업 연속성 계획이 아닙니다. 그냥 폴더 하나입니다. 한 번도 검증되지 않은 임치 계약이 정확히 그런 것을 인도하는 일은 드물지 않습니다.


소프트웨어 임치가 다루는 범위

고객, 공급업체, 임치 기관 세 당사자가 맺는 계약입니다. 공급업체가 자료를 임치 기관에 맡기고, 기관은 그것을 보관하며, 미리 정의된 인도 조건이 여러분이 언제 그 자료를 받게 되는지를 결정합니다.

협상할 가치가 있는 부분은 바로 인도 조건입니다. 파산은 가장 분명하고 입증하기도 가장 쉬운 조건입니다. 그러나 실무에서는 다른 조건이 더 중요합니다. 공급업체가 제품 유지보수를 중단하는 경우, 지원 의무를 이행하지 않는 경우, 또는 여러분의 경쟁사에 인수되는 경우입니다. 인도 사유 목록이 좁으면, 자료가 가장 절실한 애매한 상황에서 오히려 기관이 인도를 거절하게 됩니다.

임치물 자체도 소스코드 이상이어야 합니다. 최소한 실행 가능한 시스템을 만들어 낼 만큼 구체적인 빌드 절차, 의존성의 정확한 버전, 인프라 구성, 외부 서비스 목록과 인증 정보가 보관된 위치에 대한 문서, 그리고 이름이 명시된 기술 담당자가 필요합니다. 이런 것들이 없으면 소스코드는 사실상 아무 가치가 없습니다.

그리고 임치물은 계속 갱신되어야 합니다. 계약 서명 시점에 한 번 떠 놓고 이후 한 번도 새로 고치지 않은 사본은, 이제 아무도 운영하지 않는 소프트웨어의 정확한 기록일 뿐입니다.

대부분의 임치가 인도 시점에 실패하는 이유

아무도 확인하지 않았기 때문입니다.

표준 계약서는 기술적 내용이 멀쩡하다고 전제하는 법률 문서입니다. 임치 기관은 매체가 읽히는지 확인하는 수준부터 임치물을 실제로 컴파일해 깨끗한 환경에서 구동해 보는 수준까지 다양한 검증 서비스를 제공합니다. 저렴한 쪽은 사실상 아무것도 증명하지 못합니다. 비싼 쪽만이 여러분이 실제로 묻고 있는 그 질문에 답해 줍니다.

임치물을 제대로 검증했을 때 흔히 나오는 결과는 이렇습니다. 아무도 문서화하지 않은 도구가 없으면 빌드되지 않는다, 공급업체가 사라지면 함께 사라질 사설 패키지 저장소에 의존한다, 목록에 없던 서비스의 인증 정보를 요구한다, 또는 그저 운영 중인 것보다 오래된 버전이다.

임치에 돈을 낼 생각이라면 검증에 돈을 내십시오. 검증되지 않은 계약은 위험 자체가 아니라 위험이 사라졌다는 느낌만 옮겨 줍니다. 검증을 추가하는 비용 차이는 최악의 순간에 진실을 알게 되는 대가보다 훨씬 작습니다.

SaaS의 문제

전통적인 임치는 여러분이 그 소프트웨어를 직접 운영하리라고 전제합니다. 호스팅형 소프트웨어에서는 이 전제가 대체로 성립하지 않습니다.

인터넷으로 접속해 쓰던 플랫폼의 소스코드를 받아도, 인프라와 배포 도구, 운영 지식, 그리고 여러분 자신의 데이터가 여전히 필요합니다. 그리고 그 대부분은 임치물에 들어 있지 않습니다. 패키지가 완전하더라도 실제로 띄우는 데는 몇 주가 걸리며, 그 시스템에 의존하는 기업에게 그런 시간은 좀처럼 없습니다.

그래서 호스팅형 소프트웨어에 유효한 보호 장치는 형태가 다릅니다. 데이터 추출 권리가 코드보다 중요합니다. 문서화된 형식으로 전체 데이터를 내려받을 계약상 권리를, 약속으로만 두지 말고 정기적으로 실제로 행사해야 합니다. 연속성 약정, 즉 계약 종료 후에도 정해진 기간 동안 공급업체가 서비스를 계속 운영하기로 하는 조항은 코드만으로는 얻을 수 없는 이전 기간을 벌어 줍니다. 직접 시험해 본 검증된 내보내기 파일은 한 번도 시험해 보지 않은 어떤 임치물보다 가치가 큽니다.

대부분의 호스팅형 소프트웨어에서 임치 계약은 관성으로 구입한 잘못된 도구이며, 그 돈은 읽을 수 있음을 직접 확인한 정기 내보내기에 쓰는 편이 훨씬 낫습니다.

비용은 얼마이고 누구에게 맞는가

임치는 해마다 나가는 비용입니다. 임치물의 규모, 수익자 수, 검증 수준에 따라 보통 연 수백 파운드에서 수천 파운드 사이입니다. 검증은 별도로 청구되며, 의미 있는 지출은 바로 그쪽에 있습니다.

정말 잘 맞는 경우는 이렇습니다. 중단되면 사업에 실질적 손해가 나는 시스템, 실패가 현실적으로 가능할 만큼 규모가 작은 공급업체, 여러분이 실제로 운영할 수 있는 설치형 또는 자체 호스팅 가능한 소프트웨어, 그리고 규제 기관이나 고객 계약이 임치를 요구하는 상황입니다.

덜 맞는 경우는 이렇습니다. 어차피 코드를 직접 운영하지 않을 호스팅형 소프트웨어, 대체재가 뻔한 범용 시스템, 그리고 연간 비용이 계약 금액에서 눈에 띄는 비중을 차지하는 소규모 공급업체입니다.

가장 먼저 검토할 대안은 그냥 코드를 소유하는 것입니다. 맞춤 개발을 여러분이 발주했다면, 지식재산권의 양도와 각 릴리스 시점의 저장소 사본을 계약 조건으로 협상하십시오. 그러면 임치 기관 자체가 필요 없어집니다. 그리고 기술 실사 가이드에서 다룬 항목들이 바로 그런 인수인계를 실제로 쓸 만하게 만들어 주는 항목들입니다.

그래도 구매한다면 쓸모 있게 만드는 법

표준 목록을 그대로 받아들이지 말고 인도 사유를 협상하십시오. 파산뿐 아니라 공급업체가 제품을 사실상 방치하는 경우도 포함해야 합니다.

임치물의 내용은 아무도 읽지 않는 별첨이 아니라 계약 본문에 명시하십시오. 빌드 절차, 인프라 정의, 의존성 목록, 외부 서비스 목록, 그리고 이름이 명시된 담당자입니다.

정해진 주기마다 또는 주요 릴리스마다 갱신을 의무화하고, 갱신이 실제로 이루어졌다는 증빙을 함께 요구하십시오.

임치 기관이 자료를 직접 빌드하고 구동해 보는 수준의 검증에 비용을 지불하고, 그 보고서를 읽으십시오. 문제를 찾아낸 검증은 제 역할을 다한 검증입니다.

그리고 여러분 쪽의 준비 상태를 점검하십시오. 내일 자료가 도착한다면 누가 받고, 그 사람이 가장 먼저 무엇을 하겠습니까? 내부 책임자가 없는 임치 계약은 계획이 아니라 청구서입니다. 재해 복구 가이드의 사고방식이 여기에 그대로 적용됩니다.

Mecanik은 직접 코드를 임치해 본 경험도 있고, 소프트웨어 개발 업무의 일부로 고객이 임치가 정말 필요한지 판단하도록 도운 경험도 있습니다. 솔직한 답은 대개, 같은 돈을 검증된 백업과 명확한 지식재산권 정리에 쓰는 편이 더 많은 보호를 산다는 것입니다.



자주 묻는 질문

소프트웨어 임치란 무엇인가요? 고객, 소프트웨어 공급업체, 임치 기관 사이의 3자 계약입니다. 공급업체가 소스코드와 관련 자료를 임치 기관에 맡기면, 정해진 조건이 충족될 때 기관이 그것을 고객에게 인도합니다. 가장 흔한 조건은 공급업체의 파산이나 제품 유지보수 중단입니다.

임치 계약이 인도 시점에 실패하는 이유는 무엇인가요? 임치물을 한 번도 검증하지 않았기 때문입니다. 흔한 결과는 문서화되지 않은 도구 없이는 빌드되지 않는 자료, 공급업체와 함께 사라지는 사설 패키지 저장소에 대한 의존, 외부 서비스 인증 정보 누락, 운영 중인 것보다 오래된 버전입니다. 임치물을 실제로 컴파일하고 구동해 보는 검증만이 진짜 질문에 답합니다.

소프트웨어 임치가 SaaS에도 효과가 있나요? 거의 없습니다. 호스팅형 플랫폼의 소스코드를 받아도 인프라, 배포 도구, 운영 지식, 데이터가 여전히 필요하고 띄우는 데 몇 주가 걸립니다. 데이터 추출 권리, 계약 종료 후의 연속성 기간, 정기적으로 시험한 내보내기가 코드 임치보다 호스팅형 서비스를 훨씬 잘 보호합니다.

소프트웨어 임치 비용은 얼마인가요? 임치물 규모, 수익자 수, 검증 수준에 따라 보통 연 수백 파운드에서 수천 파운드이며 검증은 별도로 청구됩니다. 의미 있는 지출은 검증에 있고, 검증이 빠진 계약은 위험 자체가 아니라 위험이 없어졌다는 느낌만 옮겨 줍니다.

임치를 대신할 방법이 있나요? 여러분이 발주한 맞춤 개발이라면, 지식재산권 양도와 릴리스마다의 저장소 사본을 협상하는 것만으로 임치 기관이 전혀 필요 없어집니다. 호스팅형 소프트웨어라면 실제로 읽어 본 문서화된 내보내기가 시험해 보지 않은 어떤 임치물보다 대개 더 가치가 큽니다.