MySQL·PHP「오픈소스라고 무조건 친한 건 아냐」

일반입력 :2004/03/15 00:00

Stephen Shankland

호환성 확보에 가장 애로를 겪었던 곳은 바로 PHP 진영이었다. PHP는 주문 제작형 웹페이지를 실시간으로 만들 수 있도록 하는 소프트웨어다.이 2가지 패키지들은 리눅스 운영체제와 아파치 웹서버가 있는 곳이라면 항상 함께 따라다니곤 해 두 소프트웨어의 결합을 LAMP라고 따로 부르기도 한다.지난 11일 저녁 MySQL의 마케팅 부사장 잭 얼라커는 라이선스 예외 조항을 신설해 PHP에서 라이브러리라고 부르는 MySQL의 컴포넌트를 다시 번들링할 수 있도록 허용했다고 전했다.PHP를 제작했으며 현재 PHP 프로그래밍 툴 판매업체 젠드(Zend)의 기술 담당 부사장을 맡고 있는 앤디 거트먼즈는 MySQL이 예외 조치를 취한데 대해 “올바른 방향으로 한발짝 나아가고 있다”고 평했다. 이와 함께 그는 다른 문제점들도 결국 해결될 것이라고 자신있게 말했다.MySQL의 이같은 움직임은 오픈소스 소프트웨어가 IT 업계에서 주류로 자리잡음에 따라 어쩔 수 없이 경험하는 성장통을 잘 대변하고 있다.사람들은 주로 SCO가 리눅스 진영에 가하고 있는 공격에 많은 관심을 기울이고 있다. SCO의 소송에서는 오픈소스 공동체의 공유 철학과, 소스 코드를 공개하기 싫어하는 상용 소프트웨어 진영과의 갈등을 볼 수 있다. 그러나 MySQL을 둘러싼 이슈를 보게 되면 오픈소스 진영의 충실한 우방들 사이에도 여러 문제점들이 존재한다는 것을 알 수 있게 된다.그리고 정말 겉보기보다 훨씬 복잡한 문제점들이 산적해 있다. 이번주 샌프란시스코에서 개최되는 오픈소스 비즈니스 컨퍼런스에서 MySQL은 PHP 이슈의 근본적인 원인인 라이선싱 전략의 여러 장점들을 적극 홍보할 예정이다.MySQL은 오픈소스 데이터베이스 기업인 슬리피캣(Sleepycat), 프로그래밍 컴포넌트 제조업체 트롤텍(Trolltech)과 공동으로 한 가지 전략을 채택했다. 바로 오픈소스 소프트웨어에서 사용할 수 있는 오픈소스 라이선스, 상용 소프트웨어를 상대로 한 상용 라이선스 2가지 형태로 소프트웨어를 출시한다는 것이다.이 3사는 이와 같은 이중 라이선스 방식으로 수익을 2배까지 높일 수 있었다는 사실을 크게 홍보할 것이다. 그러나 이와 같은 이중 라이선스 제도를 수행하려면 특정 소프트웨어 패키지에 들어가는 전체 소스 코드를 한 회사가 모두 소유해야 한다.MySQL은 자사 데이터베이스 소프트웨어와 다른 프로그램을 데이터베이스와 연결시키는데 사용되는 지원 라이브러리에 GPL을 적용하고 있다. 이전까지만 해도 라이브러리에는 LGPL이 적용돼 왔다.GPL과 LGPL의 근본적인 차이점은 LPGL 소프트웨어의 경우 상용 소프트웨어나 비 GPL 소프트웨어들과 밀접하게 연결될 수 있다는 것이다.GPL, LGPL···논란 속의 ‘라이선스 제도’지난 6월까지만 해도 PHP 패키지에 MySQL의 라이브러리가 포함돼 있었기 때문에 PHP 프로그래머들은 웹사이트를 구축할 때 MySQL의 장점을 쉽게 이용할 수 있었다. 그러나 MySQL이 라이선스를 바꾸면서 PHP 사용자들은 MySQL 컴포넌트를 빼지 않을 수 없었다.거트먼즈는 라이브러리의 변화가 단지 PHP와 MySQL을 같이 사용할 수 없다는 것을 뜻하는 게 아니라 MySQL이 “매우 독특한 이전 위치에서 오라클이나 포스트그리SQL(PostgreSQL) 등 여타 PHP 연동 데이터베이스와 별 차이없는 수준으로 하락한 것”이라고 혹평했다.이후 PHP 프로그래밍 팀은 PHP 베타버전을 출시하면서 SQLite라는 다른 데이터베이스 소프트웨어로 번들링 데이터베이스를 교체해 버렸다.얼라커는 MySQL에서 라이브러리를 뺀 이유가 상용 소프트웨어를 포함해 몇몇 패키지에서 상용 소프트웨어에서도 LGPL 라이브러리에 연결할 수 있다는 라이선스 해석을 근거로 MySQL 소프트웨어를 함부로 가져다 사용했기 때문이라고 설명했다.얼라커는 “많은 사람들이 클라이언트 라이브러리는 LGPL에 속하며 GPL이 아니라며 우리 서버 프로그램에 자기네 애플리케이션을 밀접하게 연동시키는 등 GPL을 남용하고 있었다”라고 말했다. 이젠 이번 라이선스 변화로 상용 소프트웨어 업체들이 MySQL에게 상업용 라이선스를 구입할 필요가 없다는 주장을 하지 못하게 됐다.이번 변화로 PHP나 젠드만이 아니라 리눅스 운영체제를 판매하는 최대 기업인 레드햇도 큰 영향을 받게 된다.레드햇의 툴, 애플리케이션 개발부서 부사장인 캐런 베넷은 발표자료를 통해 “MySQL을 더 이상 PHP 패키지와 같이 사용할 수 없게 하는 라이선스상의 변화 때문에 우리는 MySQL의 최신 버전으로 업그레이드를 할 수 없게 됐다. 다른 패키지와의 라이선스 문제가 얽히기 때문이다”라고 전했다.배넷은 “결국 RHEL 3 베타버전에서 업그레이드 패키지를 빼버려야만 했다. 래드햇은 이 문제를 MySQL 유지보수 관리자들에게 설명하고 의견을 제시했다”라고 덧붙였다. RHEL은 레드햇 엔터프라이즈 리눅스의 약자로 레드햇의 프리미엄 패키지다.레드햇의 대변인 리 데이는 차후에도 MySQL을 포함시킬 계획이 없으며 꼭 라이선스 문제 때문만은 아니라고 말했다. 그는 이번 결정이 사업상의 선택이라고 하면서 “레드햇의 핵심 기술이 단순히 데이터베이스에 대한 서비스나 지원만은 아니다”라고 주장했다. 데이는 또한 이번 일을 2001년에 시작했던 레드햇 데이터베이스 프로젝트를 2002년에 그만뒀던 상황과 비교했다.얼라커는 이 문제들이 곧 해결돼야 한다고 말했다. MySQL이 모든 MySQL 코드에 대한 저작권을 소유하고 있어 자사 소프트웨어에 대한 라이선스 규정을 추가시킬 수 있기 때문이다.얼라커는 FOSSLE(Free and Open Source Software License Exception)이라는 이름의 이 새로운 규정으로 인해 “GPL 이외의 다른 오픈소스 라이선스를 가지고 있는 타 오픈소스 프로젝트에서도 MySQL 클라이언트 라이브러리를 사용할 수 있게 됐다”고 말했다.거트먼즈도 이메일을 통한 인터뷰에서 이같은 예외 규정이 “매우 긍정적인 결정”이라고 평했지만 “아직도 MySQL에 있어 문제가 되는 다른 측면을 연구하고 있다”라고 말했다.거트먼즈는 다음에 해결돼야 할 문제는 상용 소프트웨어 라이브러리들이 MySQL 라이브러리와 나란히 사용될 수 있도록 하는 규정을 만드는 것이라며 “앞으로 몇 주 내에” 해결될 것으로 내다봤다.참고로 PHP는 이전에는 퍼스널 홈페이지의 약어로 통용됐으나 지금은 하이퍼텍스트 프리프로세서(Hypertext Preprocessor)를 지칭하고 있다. @