오픈소스. 유지비용의 감소. (사회편2 – 결론)
(2) 인력의 문제.
사회적으로 소프트웨어와 관련되어 들어가는 인력을 생각해본다면, 크게 제작/운영/유지에 들어가는 전문인력과 필요한 전문인력을 생산하는데 소모되는 비용을 들 수 있다.
전문인력이 실제로 자신의 능력을 효율적으로 사용하기 위해서는, 반복적인 작업을 줄여야 할 필요성이 강하게 대두된다. 이는
사회적으로 공유되는 공개된 코드의 양과 강한 연관관계를 갖고 있다. 동일한 문제를 놓고 이를 해결하기 위한 공개된 소스코드가
존재한다면, 이는 전문인력이 당면한 문제를 해결하기 위해 소모하는 시간/정신력이 급감한다는 이야기가 되기 때문이다.
그리고, (이것은 반 농담조로 이야기하는 것임;;) 전문인력이 필요한 소프트웨어를 사달라고 회사에 기안서를 내고 인가를 받는데까지 소모되는 시간 역시 줄일 수 있다. 필요하면 소스코드를 다운로드받아 쓰면 되기 때문이다. 🙂
전문인력을 생산하는데 소모되는 비용은 공개된 소스코드의 힘이 강렬하게 발휘되는 분야이다. 초보수준에서 보아야할 어떻게 코드를
작성하는가의 문제에서 부터, 고급개발자로 가기 위한 소프트웨어 아키텍트로서의 지식을 쌓기 위해서는 선배 개발자들이 어떤 고민을
갖고 어떤 코드/아키텍쳐를 만들었는지에 대한 공부가 필요하기 때문이다. 이 공부를 위해 필요한 것이 공개된 소스코드임은 말할
필요조차 없다.
물론 이 모든 것은 공개된 소스코드의 질과 관련되어 있다. 이 질은 상식적으로 볼 때, 공개된 소스코드의 손을 들어줄 수 밖에
없다. 상용과 다를 바 없는 (그리고 실제로 상업용 소프트웨어를 작성할때도 빈번히 사용되는) CVS나 SVN같은 훌륭한 코드
관리 도구에서 출발해서 (MS의 소스세이프에 비할바 아니다. -_-; Rational Rose의 Clear Case는 좀 다른거
같긴 하지만) 기타 제반사항에서 딸릴 것이 없다. 결정적으로 오픈소스 소프트웨어는 개발자를 장인으로 몰아간다. 상용으로 개발되는
소프트웨어는 릴리즈 날짜나 고객의 요구에 맞추어 모종의 "막개발"이 이루어질 수 밖에 없지만, 오픈소스 소프트웨어는 릴리즈
날짜나 고객의 요구에 조금 더 자유롭기 때문이다. 그리고, 회사의 이름으로 나가는 소프트웨어가 아닌 자기 자신의 이름이 더
중요하게 공개되는 소프트웨어란 점은 개발자에게 어떤 책임감을 부여한다.
"남이 읽기 쉬운 코드"라는 책임감을 말이다.
이런 토양을 통해 만들어지는 공개코드들은 (타인에게 귀감이 되지 못하는 코드가 많긴 하지만) 분명 전문인력과 관련된 문제를 해결하는데 있어서 막강한 힘을 발휘할 것이다.
5. 결론
오픈소스의 유지비용은 결코 상용소프트웨어에 비해 큰 것이 아니다. 물론 단기적인 안목에서는 상용소프트웨어가 편하고 저렴할 수
있겠지만, 좀 더 장기적인 안목을 갖고 넓게 본다면 오픈소스가 갖는 장점은 수 없이 많다. MS로 대표되는 독점(상용) 소프트웨어
진영에 의해 공격을 받고 있는 오픈소스는 많은 모함을 받고 저평가를 당하며 좀 더 나은 "컴퓨팅" 환경을 위해 "재미"로
살아가는 일종의 "전선"이다. 이러한 "전선이 승리할 것이냐의 여부는 중요하지 않다. "전선"이 존재한다는 사실 만으로 이미 오픈소스는 승리하고 있다.
지금도 원한다면, 언제라도 상용 소프트웨어에서 멀어질 수 있다. 거리낄 것 없이 공개된, 그리고 장기적으로 자신에게, 회사에게,
사회에게 도움이 되는 오픈소스 소프트웨어는 언제라도 문을 열고 있다. 언제라도 다가갈 수 있다. 남은 것은 의지의 문제이다.