GPL의 종말
리눅스가 개발되기 시작될 무렵인 90년대 초에는 오픈소스라는 말은 없었고 당시에 해커 사회에서 유명한 것이 GNU의 프리 소프트웨어와 그 소프트웨어 라이센스인 GPL이었다. 물론 당시에 무료로 배포되던 소프트웨어가 없었던 것도 아니고 BSD 유닉스에 사용되던 BSD라이센스는 이미 80년대부터 존재하던 것이었지만, 리눅스가 각광을 받자 90년대 후반에 여러가지 라이센스 형태를 묶어서 오픈소스라는 용어가 사용되기 시작하면서 GPL도 보다 더 일반에게 알려지도록 되었다. 당시에 리눅스 커널, GNU의 여러가지 프로그램들 (당시 리눅스 배포본 구성 요소에는 GNU 소프트웨어가 매우 많았다), GNOME, GiMP, Emacs등과 당시에 유명하던 프로그램에서 GPL이 사용된 것은 아마도 시대상을 반영한 것이라 볼 수 있을 것이다.
그런데 시계를 돌려서 2020년대를 보면 이제 GPL은 더 이상 새로 나오는 오픈 소스 어플리케이션의 주류 라이센스로 보이지는 않는다. 최근에 유명한 오픈소스인 k8s도 Apache 2.0 라이센스이고, 안드로이드 운영체제에서 리눅스 커널 이외에는 Apache 2.0 라이센스가 사용되고 있다. 대부분의 자바스크립트 프론트엔드 소프트웨어도 마찬가지고, 대부분 데이터과학 및 머신러닝 소프트웨어도 GPL이 아니다 (tensorflow는 Apache 2.0 라이센스, pandas는 BSD).
또한 과거에는 GNU/Linux라 할 정도로 리눅스 배포본의 핵심 요소였던 GNU 소프트웨어군도 예전같지 않고, GNU은 원래 커널을 포함하여 완결된 운영체제를 갖출 예정이었지만 아직도 갈 갈이 멀다. 또한 널리 사용되는 python, node, rust, ruby, perl 등등의 언어는 본체 포함 관련 라이브러리도 절대 다수가 BSD/MIT/Apache 라이센스이다.
즉 최근에 새로 개발되는 유명한 소프트웨어에서 GPL이 사용되는 걸 별로 본 적이 없다 (있다면 git, systemd 정도). GPL v2의 단점을 보완해서 GPL v3 이 나온지 꽤 오래 되었지만 그리 많이 사용되지 않는다. GPL v3의 대표적인 소프트웨어가 gcc인데, 이제는 clang/llvm이 거의 대체 가능할 만큼 따라왔다. clang/llvm은 BSD라이센스이고. 프로젝트 초기부터 gcc로 빌드하던 FreeBSD은 이제 clang으로 빌드/배포된다.
이에 대해서는 여러가지 이유를 생각해 볼 수 있겠지만, 과거에는 소프트웨어가 주로 설치형이었고, GPL의 기본 사상은 설치형 소프트웨어가 닫힌 소스로 재배포되는 것을 막기 위해 수정된 소스도 동일 라이센스로 배포하도록 하자는 것이라 생각된다. 그런데 90년대가 되고 인터넷 사용이 늘어나면서 서버를 통해 제공되는 서비스 (WWW 등)의 사용이 늘어 났는데, 이 경우 GPL소프트웨어는 서버에 설치 해서 내부적으로 고쳐서 써도 소스 재배포에 해당되지 않으므로 인터넷의 발전과 GPL은 크게 충돌하지 않았다.
설치형 소프트웨어도 아직 많이 존재 하지만 약간 그 형태가 달라졌다. 안드로이드와 같이 일반 사용자 디바이스에 설치된 것은 어느정도 이전의 설치형 소프트웨어에 해당되지만 브라우저에서 동작하는 자바스크립트로 작성된 소프트웨어들은 소스가 자동적으로 공개 되므로 굳이 GPL로 할 이유가 없다.
여기에 추가하여 최근 10여년 간의 큰 중요한 변화는 클라우드/SaaS 서비스인데, 설치된 소프트웨어를 사용자에게 직접 배포하지 않지만 네트워크를 통해서 이용하는 (데이터베이스, 가상머신 등) 방식이 주류가 되어 가면서 GPL은 또한 선호되지 않는다. 최근의 아마존 vs 엘라스틱과 같은 경우를 보면 아예 클라우드/SaaS용 (직접 설치가 아니라 서비스 제공용) 소프트웨어 라이센스를 별도로 지정할 정도로 클라우드/SaaS는 새로운 소프트웨어의 용도로 정착하고 있다 할 것이다. 다만 엘라스틱과 같은 경우는 SaaS이용을 막으려다 보니 아예 오픈 소스가 아니게 되었다.
그리고 이제 오픈소스 개발은 대부분 대형 IT회사가 주도하고 있다. 이런 회사들은 소프트웨어 자체에서 이익을 얻지 않으므로 (구글, 아마존, 페이스북 등) 역설적으로 소프트웨어 공개에 특별한 제약을 두려 하지 않고 따라서 그런곳에서 공개하는 소스는 Apache/BSD/MIT 라이센스가 주류를 이루고 있다.
반대로 회사에서 외부 오픈 소스를 가져다 쓰는 것도 보편화됨에 따라 외부 소스를 가져다 쓸 경우 라이센스를 체크하는 일정 크기 이상의 조직인 경우 GPL 소스는 자사 소프트웨어 개발에 아예 사용 못하게 하거나 변경 및 재배포 여부를 엄격히 체크 한다.
따라서 신규 소프트웨어의 GPL도입율 저하 및 GPL이용율의 저하 경향이 지속될 경우 GPL은 점점 도태될 가능성이 높다 할 것이다.