예전에는 좋은 소프트웨어를 만들기 위해서 가장 먼저 할 일은 훌륭한 개발자를 찾는 일이었다. 역량있는 개발자가 개발의 A부터 Z까지 모든 것을 맡아 했기 때문이다. 하지만 소프트웨어의 규모도 커지고 빠르게 변하는 기술이나 빈번한 외부 연계 등이 개발자의 한계를 느끼게 하고 있다. 지금은 비용은 덜 들지만 더 빠르고 더 신뢰있는 소프트웨어를 원하는 추세다. 오픈소스는 이러한 요구에 가장 적당한 형태라고 볼 수 있다. 수많은 개발자가 더 다양한 기술을 쉽고 빠르게 반영하지만 비용은 덜 들기 때문이다. 이번 회에서는 오픈소스를 활용하기 위해서는 무엇을 준비해야 하는지 오픈소스 커뮤니티에서 활동하고 있는 심서연 프로에게 들어본다.
Q: 안녕하세요. 오픈소스에 대한 관심이 점점 늘어나는 요즘입니다. 오픈소스의 관심이 왜 이렇게 늘어나는 것인가요?
소프트웨어를 개발한다고 하면 맨 땅에 헤딩한다는 말처럼 개발자가 처음부터 끝까지 모든 것을 개발해야 하는 경우가 많았습니다. 그러다가 객체, 컴포넌트이 나오면서 재사용의 개념이 많이 퍼져 나갔었죠. 재사용이 인기가 있었던 가장 큰 이유는 한번 만들었던 것을 재사용함으로써 시간과 노력이 줄어들 수 있다는 이유 때문이었습니다. 그런데 실제 재사용 된 것들은 그리 많지 않아서 많은 실망감을 느꼈었습니다. 이런 상황에서 오픈소스의 등장은 개발자뿐만 아니라 개발업체에게도 단비 같은 존재였습니다. 내가 필요한 소스코드가 만들어져 있고 이미 많은 개발자에 의해 검증이 된 상태였기 때문입니다. 더구나 경우에 따라서 업그레이드도 자연스럽게 이루어지니 관심이 많아질 수 밖에 없지요.
<그림1> 오픈소스 소프트웨어의 도입 이유
Q: 그림1에서 보는 것처럼 오픈소스는 무료라는 인식이 매우 강한데요. 무료라는 이유 때문에 확산 속도가 빠른 것은 아닐까요?
오픈소스는 소스코드를 자유롭게 열람하거나 수정 그리고 배포할 수 있지만 원 제작자의 권리를 지키는 것이 매우 중요합니다. 우리가 아는 무료라는 개념하고는 다르게 이해해야 합니다. 무료는 자유롭게 사용하고 배포할 수 있다는 의미가 있기 때문이죠. 그렇다고 다른 소프트웨어처럼 돈을 받고 얻을 수 있는 것은 아닙니다. 비용을 지불하지 않고 사용할 수는 있지만 지켜야 할 규칙이 있다는 것이죠.
OSI(Open Source Initiative)에서는 오픈소스 라이선스 인증 요청을 받은 소프트웨어들을 몇가지 사항을 검토하여 인증하고 있습니다.
<그림2> 오픈소스활성화와 인증을 담당하는 Open Source Initiative
출처: https://opensource.org/