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