오픈소스 소프트웨어 패키지와 코드
송상효 성균관대학교 교수/(겸)오픈소스소프트웨어재단 이사
오픈소스 소프트웨어는 이제 무엇이고 왜 써야 하는지를 설명해야 하는 시기는 지나가고 있다. 10년 전만 하더라도 한국에서 오픈소스 소프트웨어는 상용소프트웨어를 대신하는 소프트웨어의 일종이고 개발자들에게는 도움이 될지 모르지만 기업과 비즈니스에는 큰 영향을 주지 못하였다. 10년 전의 오픈소스 소프트웨어는 대부분 LAMP(Linux, Apache, MySQL, PHP/Python)의 서버 부문의 소프트웨어가 대부분이었으며, 포털이나 인터넷 서비스 기업이 주로 활용하는 정도였고, 상용소프트웨어를 대신하거나 오픈소스 소프트웨어 비즈니스 모델인 제품보증을 위한 기술지원이나 컨설팅 등이 정착되지 않았다. 그리고 손쉽게 사용할 수 있는 오픈소스 소프트웨어의 패키지에 대한 관심이 주였고, 오픈소스 소프트웨어 코드를 개발 시 사용하는 일이 있기는 하였지만 대중화 되지 않았을 뿐 아니라 오픈소스 소프트웨어 라이선스로 인해 문제가 생길 수 있다는 생각을 하지 못하고 있었다.
세월이 지나 2015년경부터 오픈소스 소프트웨어가 본격적으로 쓰여 지는 환경이 오게 되었다. 클라우드와 빅데이터가 오픈소스 소프트웨어를 대중적으로 쓰이게 한 것이다. 클라우드는 초기 기반기술은 상용소프트웨어가 시작을 하였지만 점차 오픈소스 소프트웨어로 만들어진 클라우드 플랫폼이 가장 많이 쓰여 지게 되었다. 클라우드의 대표프로젝트인 오픈스택(OpenStack)이 오픈소스 소프트웨어 클라우드 플랫폼으로 성장을 하게 되고 많은 기업의 후원과 커뮤니티에서 적극인 참여와 개발을 통해 가장 빠르고 대중적인 오픈소스 소프트웨어 커뮤니티로 성장을 하게 되었다. 빅데이터 부분은 클라우드와는 다르게 상용소프트웨어가 주도하지 못하고 처음부터 오픈소스 소프트웨어 커뮤티니가 기술과 활용 그리고 기업의 활용을 주도하게 되었다. 바로 하둡(Hadoop)이라는 빅데이터 플랫폼이 빅데이터 기술의 표준이 되었고, 상용소프트웨어 기업에서도 별도의 제품이 아닌 오픈소스 소프트웨어인 하둡을 기반으로 한 빅데이터 플랫폼을 만들고 기술지원 하는 오픈소스 소프트웨어 비즈니스 모델을 적용하기 시작 한 것이다. 이로 인해 상용소프트에웨어 기업의 대표인 마이크로소프트와 오라클 까지도 오픈소스 소프트웨어와 적이 아닌 협력으로 전환하는 계기를 제공하였다.
그런데 이런 이야기들은 주로 패키지 소프트웨어(플랫폼 소프트웨어 포함) 등 실행되는 오픈소스 소프트웨어를 주로 언급하고 생각하고 있다. 이는 상용소프트웨어의 대체재로서의 오픈소스 소프트웨어를 생각하는 것이 아직도 주를 이루고 있기 때문이다. 이로 인해 국내의 상용소프트웨어기업이 오픈소스 소프트웨어 도입으로 인해 상용소프트웨어 시장을 위협하고 있다고 주장하는 원인이기도 하다. 물론 최근에 패키지 소프트웨어의 도입 시 여러 가지 이유로 인해 상용소프트웨어 보다는 오픈소스 소프트웨어를 우선적으로 도입하는 것을 고민하는 기업과 정부 및 공공기관이 늘어나기는 하지만 그래도 아직은 국내에서는 상용소프트웨어가 소프트웨어 산업의 주를 이루고 있는 것이 사실이다. 이제는 오픈소스 소프트웨어의 사용을 패키지 소프트웨어 뿐 아니라 프로그램 개발 시에 오픈소스 소프트웨어 코드를 사용하는 것을 인지하고 문제가 발생하는 것에 대해서 대응해야 하며, 조금 더 적극적으로는 오픈소스 소프트웨어를 만들어 공유하고 기술을 주도하는 전략을 세우고 실천을 해야 할 때이다.
이런 이야기를 하는 것은 아직도 오픈소스 소프트웨어에 대해서 이야기 하면 거의 대부분의 사람들은 아직도 오픈소스 소프트웨어 패키지만을 생각하고 이야기 한다는 것이 문제이고, 바꾸어야 될 상황이며 이런 생각의 전환 없이는 오픈소스 소프트웨어에 대한 적절한 사용과 글로벌 소프트웨어 산업으로의 발전 그리고 개발자들의 소프트웨어 소양을 교육하지 못하는 환경이 지속될 것이다.
소프트웨어를 상용소프트웨어와 오픈소스 소프트웨어로 구분하는 것은 옳지 않다. 상용소프트웨어의 반대는 무료(Free)소프트웨어다. 즉, 무료로 제공되는 소프트웨어이다. 오픈소스 소프트웨어의 반대는 클로우즈드 소프트웨어이다. 즉, 프로그램 코드를 제공하지 않는 소프트웨어이다. 이렇듯 제대로 알지 못하고 오픈소스 소프트웨어를 이야기 하는 것이 매우 위함하고, 소프트웨어에 대한 이해도 하지 못하는 것이다. 이제는 소프트웨어 교육이 전국민을 대상으로 하고 있으며, 4차 산업혁명의 필수 소양으로 배우고 있다. 소프트웨어의 교육은 단순히 영어의 문법을 배우듯이 코딩을 배우는 것이 아니라 영어로 된 좋은 문장이 포함된 소설들을 읽고 익혀서 더 좋은 문장과 소설을 만들 수 있는 교육을 제공해야 한다. 이러기 위해서는 프로그램 코드가 공개 된 오픈소스 소프트웨어의 코드를 많이 익히고 활용하여 더 좋은 프로그램 코드를 만들어 전세계에 인정받는 개발자와 소프트웨어 기업이 탄생할 수 있도록 정부의 정책이 수립되고 수행 되어야 한다.
본 기고가 매우 기본적인 내용으로 구성이 되었다. 누구나 알고 있는 내용일 수 있고, 별 이야기가 아닐 수도 있고, 소프트웨어 산업에 큰 영향이 없을 것이라고 생각할 수도 있다. 그러나 저는 소프트웨어의 본질과 오픈소스 소프트웨어가 제공하는 다양한 혜택과 약속들을 통해 소프트웨어 선진국으로 대한민국이 변화하기를 바란다.
|