2018년 3월 올챙이(Tadpole DB HUB)와 카카오와의 이슈가 있었다. 이슈는 그전부터 있었고, 그때 기사화된 것이다.
100만 년전인 서기 2000년 후반쯤
IBM, HP, 인텔 등 메이저가 누구나 무료로 쓸 수 있는 오픈소스인 리눅스(Linux)에 수백만 불을 기부했다. 그리고 IBM은 1년쯤 뒤 역시 오픈소스인 이클립스(eclipse)에 400만 불을 기부했다. 착해서? 아니다. 이미 그 회사들은 1990년대 후반부터 그들의 사업에 리눅스 및 여러 오픈소스 프로젝트 결과물을 (라이선스 관점에서) 합법적으로 꽤 활용했다. 대기업은 오픈소스를 이용해 더 높은 매출을 올리기 위한 안전성, 안정성, 생산성이 필요했다.
한편 그런 필요 이전에 리눅스 및 오픈소스 개발자 커뮤니티에서는 대기업의 무임승차에 대한 불만이 있었다. 오픈소스 커뮤니티 개발자를 뽑아서 오픈소스가 아닌 프로젝트에 투입하는 것, 즉 오픈소스에 기여를 안 하는 것에 대한 불만을 많이 쏟아냈던 것이다.
큰 회사들은 착해서가 아니라 커뮤니티의 불만을 잠재우기 위해, 또 시장이 원하는 혁신의 속도를 커뮤니티의 역량에 의존하기 위해 돈을 쓰기 시작한 거다. 내부 개발 비용에 비하면 턱없이 적은 투자로 ‘착한 회사 이미지’와 ‘사업의 지속 가능성’을 동시에 얻기 위해 커뮤니티와의 관계를 좋게 유지하고 투자한 것이다.
또 한편으로는 혹시 모르는 커뮤니티의 역습(뭔가 복잡한 라이센스 이슈 제기)에 대비해야 한다는 필요가 제기되었고, 그때쯤 블랙덕 같은 라이선스 검증 서비스가 시장에 나타나기 시작했다. 오픈소스 프로젝트에 참여한 개발자 개인은 재미와 긍지, 그리고 평판에 의한 직업 안정성 및 발전성을 보상으로 기대할 수 있지만 규모와 상관없이 커뮤니티 관점의 입장은 좀 다르다.
커뮤니티가 프로젝트를 시작할 당시의 비전은 ‘오픈소스라는 프랙티스를 적용한 기술적 기능 구현’과 ‘커뮤니티에 의한 지속적 프로젝트의 발전’ ‘참여자들이 동의하는 오픈소스 철학의 온전한 유지’에 의해서 달성된다. 프로젝트의 규모가 커지고, 코드의 이용자가 많아지면, 그 비전의 달성과 달성된 상태의 유지에 유무형의 비용이 수반된다. 다양한 역량의 인력과 물리적인 재화도 필요하다. 그래서 뭔가 도네이션이 필요하다.
포괄적 오픈소스의 등장
에릭 레이먼드는 리차드 스톨만이 주장하던 철학의 일부를 포기한 다른 형태의 라이선스도 포괄적으로 오픈소스로 하자고 했다. 그가 만든 OSI는 ‘소프트웨어는 보편적 지식으로서 그 코드를 공개해야 하고, 그 코드가 활용되어 만들어진 2차 저작물도 공개해야 한다’는 GPL 라이선스와 달리 2차 저작물 공개 의무가 없는 라이선스도 ‘소스가 공개되고, 자유롭게 이용, 수정, 재배포가 가능’하도록 규정하면 오픈소스라고 정의했다.
이 정의가 지금 산업에서 널리 인용되고, 점점 더 많은 코드가 GPL보다는 ‘가져다 쓰고 내 코드는 공개하지 않아도 되는’ 아파치나 MIT 같은 라이선스로 공개되고 있다. 기업은 자신의 숨기고 싶은 기술, 영업 비밀의 노출없이 쓸 수 있는 non-GPL 오픈소스를 사용해 기업의 ‘법적’ 리스크를 줄일 수 있어 오픈소스가 현재 더욱 활성될 수 있었다고 평가할 수 있다.
하지만 오픈소스를 사용하는 기업들은 라이선스가 기술하는 2차 저작물의 공개 의무 여부와 상관없이, 반드시 지켜야 할 영업비밀이 아니라면 ‘고객에게 릴리즈되거나 내부에서 사용하기 위해’ 자신이 수정/개선/기능추가한 소스가 그 원천이 되는(upstream) 오픈소스 코드에 반영(merge)되어 같은 상태가 되도록 노력할 수 밖에 없다. 다시 말해 기술적 기여를 하려고 애쓴다.
그렇게 할 때 나중에 원본 소스의 버전이 올라갈 때 같은 삽질을 할 이유를 없어지기 때문이다. 즉 작은 기여로 큰 혁신에 안전하게 묻어가는 게 기여하는 것이며, 내가 수정한 코드가 내 손을 떠나 배포됨으로써 생긴 기술 부채를 커뮤니티에 넘겨 새로운 부가가치가 만들어지지 않는 노동을 줄이게 되는 것이다.
그 프로젝트가 지속적으로 유지되어야 자신이 사업도 유지되므로 그 오픈소스 프로젝트의 비전 달성을 위한 비용을 자사 인력의 커뮤니티 투입, 재정적인 지원, 그리고 그 프로젝트가 가지고 있는 오픈소스 철학의 존중/전파 등의 방식으로 후원한다. 다분히 ‘경제적’ 판단이 앞에 있지만, 이런 행위를 커뮤니티는 그냥 퉁쳐서 ‘도덕적’이라고 한다.
세상이 아름답게 돌아가는 모든 이치가 그렇듯이
오픈소스 커뮤니티의 혁신에 의존하면서 기업이 그 혁신으로 얻은 부가가치로 벌어 들인 재화는 공정하게 나누어져야 한다. 다시 말해 어떤 오픈소스 프로젝트 이용 기업이 그 오픈소스 라이선스가 요구하는 ‘법적’ 의무를 다한다 해도 퉁쳐진 ‘도덕적’ 의무를 다하지 않으면 그 재화는 지속 가능하지 않을 수 있음을 기업 스스로 알아야 한다. 재화의 원천인 혁신이 기업 내부가 아닌 커뮤니티에 내재되어 있기 때문이다.
저작자과 사용자 사이에서 서로의 이득이 가장 최대가 되는 합의문인 저작권이 법률적으로 어떻게 해석되든지 간에 오픈소스를 이용하는 예의는 그 코드를 개발한 모든 이들에 대한 감사, 코드를 포함해 커뮤니티에 의해 만들어진 모든 것의 오리지널리티에 대한 인정과 존중, 모든 기여자가 생각하는 오픈소스 철학에 대한 동의, 그리고 양쪽에 이득이 되는 지속 가능성에 대한 지원이다.
잘하자. 오픈소스 프로젝트 뒤에는 진정성으로 먹고사는 사람들이 있다. 이제 우리 기업들도 오픈소스 커뮤니티에 제대로 된 기여와 ‘도덕적’ 의무를 다할 타이밍이 되었다. 커뮤니티 만세다.
원문: 쉽게 살 수 있을까 ?