Brigham Young University faculty survey seeks to advance open education through academic libraries

프로그래머는 자신만의 라이브러리 또는 프레임웤(이하 라이브러리만 표기)를 갖춰야 한다는 이야기가 있다. 경력이 쌓인 개발자라면 효율을 높이고 자신만의 무기(?)를 갖추기 위해서 필요하다는 것이다.

그럴 필요가 있을까라는 의문이 든다. 과거에는 그럴 필요가 있었다. 그러나 지금은 달라졌다는 생각이다.

필요한 라이브러리는 오픈소스로 이미 존재하고 있다고 말 할 수 있을만큼 오픈소스의 양이 방대해졌다. 오픈소스는 많은 사람들이 사용하면서 검증되고 개선된다. 과연 개인이 만든 것이 세계의 뛰어난 개발자들이 협력해서 만든 것 보다 더 나은 품질을 가질 가능성이 얼마나 될까? 가능성이 높아 보이지 않는다.

업무에 개인 라이브러리를 사용한다면 문제는 더 심각 해진다. 코드에 문제가 생긴다면 다른 개발자들이 개인이 만든 라이브러리를 확인 해 봐야 할 수도 있다. 널리 쓰이는 라이브러리나 프레임웤을 사용한다면 다른 개발자들도 그것에 대해 잘 알고 있을 수 있다. 더구나 오픈소스는 문서화도 개인 라이브러리 보다 더 잘 되어 있다. 유명한 라이브러리는 책까지 나와 있다. 라이브러리를 만든 개발자는 좀 더 편하고 빠르게 개발 할 수 있을지 몰라도 팀과 프로젝트를 생각하면 오히려 손해다.

오픈소스 라이브러리가 원하는 기능을 충분히 제공하지 않기 때문에 개인적으로 라이브러리를 만든다고 할 수도 있다. 그러나 그 경우도 차라리 패치를 해서 사용하고, 패치를 메인 스트림에 반영 해 달라고 요청하는 편이 더 낫다.

만약 자신이 정말 대단한 라이브러리를 만들어서 다른 오픈소스가 따라 오지 못 할 정도라면, 개인 라이브러리로 만들 것이 아니라 오픈소스로 공개를 하는 것이 맞다. 그렇게 함으로서 많은 개발자들에게 도움을 주고, 많은 피드백을 통해 더 훌륭한 라이브러리가 될 수 있다.

자신만의 코드로 밥그릇을 지켜야 한다고 생각하는 프로그래머가 존재하지 않으리라 생각한다. 왜냐하면 그런 프로그래머는 인터넷과 오픈소스의 물결에 휩쓸려 다 소멸한 것으로 알기 때문이다.