Growing Up.

성장하기

io.js는 재단이 필요합니다.

2012년 node.js는 잘 진행되었습니다. 우리는 일정한 핵심 기여와 활발한 커뮤니티를 가지고 있었고, 세계에서 가장 빠르게 자라고 있었다고 확신했습니다. 최근 몇몇 사람들은 프로젝트의 소유권에 대한 그들의 걱정을 알렸습니다. 커뮤니티는 프로젝트를 성공으로 이끌어 왔고 나와 여러 사람의 걱정은 커졌습니다.

2014년. 거의 모든 사람이 핵심(core)을 종료하는 것에 동의했고 여기에 큰 문제가 있었습니다. 우리는 모두 어떻게 이 문제를 해결할지에 대한 아이디어가 있었지만, 시도할 수 없었습니다. 왜냐하면, 우리의 소유가 아니었기 때문입니다. 몇 달 후 io.js는 문제 해결의 아이디어를 시도해보기 위해서 만들어졌고 더 많은 기여자를 참여시키고 프로젝트를 배포했습니다.

이런 아이디어는 잘 먹혔습니다. 열린 참여, 자유로운 기여 정책 그리고 정기적 배포는 더 많은 기여자를 모으고 프로젝트를 개선하기 위한 것이었습니다.

우리는 그 커뮤니티의 모든 레벨에 기여한 프로젝트도 만들었습니다. 실행 그룹은 웹 사이트를 유지하고 전파하는 그리고 흐름을 구현하는 그룹입니다.

우리는 현실적으로 개인이나 회사가 소유한 io.js의 다양한 자산들을 커뮤니티 소유의 법인 없이 커뮤니티 소유가 되는 것을 고려하고 있습니다. 도메인 이름은 Fedor의 소유이고, GitHub org를 위한 결제 계약은 Colin, 배포를 결정하는 키를 가진 것은 NodeSource인 등의 이유 때문입니다. 이 문제들이 2012년의 node.js의 문제가 아니었던 것처럼 현재의 모든 소유자가 선의로 행동하는 이 소유권들은 급한 문제가 아닙니다. 더 좋은 결과를 얻고 싶지만, 이 문제는 더 나빠졌고, 나의 밤잠을 설치게 했습니다.

커뮤니티와 많은 회사가 io.js 프로젝트를 지원했습니다. 빌드 자원은 DigitalOcean, Rackspace, NodeSource, Linaro, Scaleway, Joyent와 Voxer가 기부하고 있습니다. 일찍이 TC의 개발자들이 NodeSource, Strongloop, Voxer와 Walmart에서 io.js만을 위해 일하기 위해 고용되었습니다. 프로젝트는 커뮤니티에 의해 운영되지만 우리는 계속 회사의 도움으로 프로젝트를 진행해 나갔습니다.

우리는 프로젝트 운영이라는 좋은 일을 마쳤지만, 우리가 하지 못한 많은 것들이 있습니다. 우리는 직접적인 재정자원을 가지지 못했기 때문입니다. 전통적 마케팅, 공개적/분석적 관계, 그리고 법적으로 모두 그대로입니다. 프로젝트 초기에 이런 문제들은 거의 없었지만 우리는 이 문제들을 우리의 계속된 성공의 장벽으로 키웠습니다. 우리는 이 끝나지 않은 프로젝트에서 이익을 추구하지 않습니다. 사실 우리가 너무 오랫동안 이 문제에 대해 기다린다면 프로젝트를 둘러싼 상업적 관심들은 프로젝트의 주인이 되려고 하거나 무산될 수 있습니다.

io.js는 집이 필요합니다. 그 집은 여전히 커뮤니티에 의해 운영되는 프로젝트를 지원할 수 있는 중립적 기관입니다.

작년 7월 나는 모든 종류의 structures 그리고 지지와 함께 다양한 재단을 찾기 위한 시간을 보냈습니다. 내가 얻은 것은 다른 핵심 기여자들과 Linux Foundation의 Collaborative Projects Initiative를 통해 프로젝트를 준비하라는 조언이었습니다.

핵심은 자치권입니다. 커뮤니티는 프로젝트를 운영하고 기술적인 결정을 내리고, 배포하는 등의 일을 합니다. io.js의 모든 것은 앞으로도 커뮤니티에 의해 관리 될 것입니다.

우리는 자치권이 얼마나 강력하고 중요한지 이미 알고 있습니다. 이 자치권은 io.js 실행 그룹 모델의 근간입니다.

재단을 유지하려면 돈이 필요하고, 돈은 재단에 영향을 줄 수 있습니다. 이 외에는 별다른 방법이 없습니다. 궁금한 점은, 그 영향력의 범위가 어느 정도일까 하는 것입니다. 만약 우리가 이 영향력을 무시하거나 이 영향력 주변에 구조물을 건설하지 않는다면, 더 넓은 영역에서의 비공식적인 영향을 받을 수 있습니다. 대신에, 재단에 협력하겠다는 표현을 한 재단 이사회의 이사를 기부자로 갖는 방법이 더 좋을 수 있습니다.

이사회는 재단의 이사회를 관리합니다. 또한, 내규와 마케팅을 담당할 직접적인 역할을 하고 있습니다. 이 말은 재단이 관심 있는 단일 사업을 독점하겠다는 말도 아니고, 어떠한 법적 장벽도 이해하고 해결할 수 있도록 해야 한다는 말입니다.

배포를 포함한 모든 기술적 결정은 이사회로부터 나온 자치권을 가진 기여자들에 의해서 관리됩니다. 이사회에서 기술을 담당하고 있는 구성원들은 프로젝트의 요구를 이사회로 전달하기도 합니다.


2월 초, Joyent는 node.js 자산을 재단에 포함하겠다고 알렸습니다. 그 재단은 지금 Linux Foundation의 지원을 받고 위에 설명한 대로의 구조를 가지고 있는 형태입니다.

얼마 전, node.js, io.js와 어울리던 Linux Foundation이 관리 모델과 새로운 재단으로 프로젝트들을 다시 가져오는 기여 정책위에서 움직이기 시작했습니다. 관리, 실행 집단들, 개발 통합정책들은 준비되어있습니다.

이 재단의 정책들은 우리가 만든 io.js를 진행할 수 있게 보호하도록 설계되었습니다. 그들은 자유 기여 정책을 채택했고, 글자 그대로의 io.js의 열린 지배 구조를 채택했습니다. 그뿐만 아니라 이 재단은 위 정책 아래서 관리 자산을 소유할 수 있는 중립적인 기관과 함께 지원합니다.


그래서 우리는 조직되어 있고 우리가 참여하길 바라는 재단이 필요합니다. 개인적인 생각으로 io.js를 위한 이상적인 구조로 되어 있으면 좋겠습니다. 추가로 여전히 양분된 node.js와 io.js 커뮤니티의 분열과 혼란이 종식되기를 바랍니다. 만약 선택할 수 있다면, 우리는 이 모든 것을 얻고 싶고 관리 방법, 배포 과정, 그리고 실행 그룹을 온전히 지켜내고 싶습니다.