리부트 인사이트 #1
신사업 개발 또는 예비 창업을 함에 있어서 직접 또는 SI를 통한 개발 외에도 전략적으로 기존에 완성된 어플리케이션이나 서비스의 소스코드를 구매하여 활용하는 경우들이 종종 있다. (해외는 이미 어느 정도 활성화 되어 있고, 국내 또한 이러한 개념이 조금씩 도입되어가고 있다)
소스코드를 구매하면 단순히 소프트웨어를 사용하는 것과 달리, 본인의 비즈니스 요구에 맞게 수정하고 확장할 수 있는 자유도가 매우 높아지게 된다. 그러나 이러한 선택은 깊이 있는 고민이 필요하며, 올바른 결정을 위해 몇 가지 중요한 요소를 신중히 검토해야 한다.
그래서 오늘은 소스코드를 구매하기 전에 내부적으로 검토해야 할 5가지 핵심 사항에 관해 글을 작성해보고자 한다.
가장 먼저, 소스코드 매수는 단순히 기술적인 문제만이 아니라 비즈니스 전략과도 깊이 연관된다. 따라서 구매하려는 소스코드가 회사의 단기 및 장기 비즈니스 목표를 지원하는지 반드시 검토해한다. 이는 해당 코드가 회사의 서비스 확장, 제품 개선, 시장 진입 속도 등을 촉진할 수 있는지 여부를 평가하는 것을 의미한다. 기업의 현재와 미래 목표에 맞는 소스코드를 선택해야, 그 투자가 의미 있는 성과로 이어질 수 있다.
소스코드를 선택할 때 가장 많은 영향을 미치는 것은 단연, 비용일 것이다. 하지만 단순히 가격만을 기준으로 결정을 내리는 것은 피해야 한다. 즉, 비용 대비 가치를 평가하는 것이 중요한데, 저렴한 소스코드는 초기 도입 비용이 낮을 수 있지만, 장기적으로 유지보수나 확장에 더 많은 비용을 초래할 수도 있다. 반면, 높은 가격의 소스코드가 반드시 귀사의 필요에 맞는 최적의 선택이 아닐 수도 있다.
따라서 필수 기능과 필요 기능 그리고 불필요한 기능을 명확히 구분한 후, 가격 대비 얼마나 많은 가치를 제공하는지 따져보며 적절한 선택지 또는 타협점을 잡아가는 과정이 반드시 필요하다. 뿐만 아니라, 미래에 예상되는 비즈니스 성장에 대비하여 추가 비용이 어떻게 발생할지도 고려해 보는 것이 좋다.
구매한 소스코드를 팀이 얼마나 빠르게 이해하고 적용할 수 있는지는 프로젝트(신사업 또는 창업)의 성공 여부에 큰 영향을 미친다. 소스코드가 아무리 강력하고 훌륭해도, 팀이 이를 이해하고 익히는 데 오랜 시간이 걸린다면 효율성이 떨어질 수밖에 없다. 따라서 매수하려는 소스코드가 기업의 기술 스택과 얼마나 호환되는지를 검토해야 한다. 현재 사용 중인 플랫폼, 언어, 데이터베이스 등과 쉽게 통합될 수 있는지, 그리고 내부 팀이 이를 쉽게 수정하고 유지보수할 수 있는지 등을 파악해봐야 한다. 또한, 코드의 복잡도가 팀의 역량을 넘어서는지 여부도 함께 고려해야 할 주요 요소이다.
기술은 끊임없이 발전하고, 이를 따라잡지 못하는 소스코드는 당연히 점차 구식이 되어간다. 물론 신규 기술과 버전이 도입된 코드가 무조건 좋다고 말할 수는 없지만, 소스코드가 어떻게 관리되어 왔는지, 그에 따른 호환성과 안전성은 충분히 검토해봐야 한다. 그리고 매수 이후에 진행될 업데이트 관점을 고려해봐야 하며, 더 나아가 새로운 보안 취약점에 대해 빠르게 대응할 수 있는지에 대해서도 확인해 보는 것이 좋다.
소스코드를 매수한 이후에는 단순히 도입하는 것에 그치지 않고, 지속적인 유지보수가 필수적이다. 소스코드가 제대로 작동하기 위해서는 정기적인 업데이트와 버그 수정, 보안 패치 등이 이루어져야 하며, 이를 위해 사전에 유지보수 계획을 세우는 과정이 필요하다. 기존 기업의 소스 코드 매수 외에도 신규창업 또한 리소스를 어떻게 투입할 것인지(내부 팀 또는 외부 업체) 그렇다면 내부 팀과 외부 업체 간의 유지보수 역할을 어떻게 분담할 것인지 등을 고려해 보는 것이 필요하다.
이처럼 소스코드를 매수하는 과정은 사실 생각보다 단순하지 않을 수 있다. 그러나 이러한 전략을 선택한다면 기업은 비용과 시간을 크게 절감하며 효율적인 사업 개발을 추진할 수 있게 된다. 그리고 요즘은 대부분의 비즈니스가 시장에 나와 있기 때문에 특별한 기술요소가 필요한 게 아니라면, 앞서 설명한 요소들을 상쇄할 만큼 저렴한 비용으로 소스코드를 구매할 수도 있다.(거래 플랫폼 또는 의뢰를 받아주는 업체들이 있다) 따라서 복잡한 고민을 하고 싶지 않다면, 우선 빠르고 신속한 도입을 통해 시장에서 경쟁 우위를 차지하려는 경우나 가벼운 시장 테스트가 필요한 경우 이러한 전략방식을 도입해 보라고 권장하고 싶다.