오픈소스의 역설
원문은 Salvatore Sanfilippo님이 에 게재했습니다. 이 블로그 구독하기
소셜 네트워크와 프로그래밍 커뮤니티에 새로운 생각이 스며들고 있다. 사람들이 무언가를 코딩해 달라며 당신에게 주는 돈과, 당신의 작업에 대해 품질을 요구할 수 있다고 주장할 수 있는 수준 사이에는 비례 관계가 있다는 생각이다.
누군가 말했듯이, 최고의 코드는 당신이 다른 일을 해야 할 때 쓰인다[1]. 어쩌면 한 푼도 받지 못할 소설을 쓸 때 작가가 최고의 글을 써내고 유명 기업을 위한 카피라이팅을 할 때는 그렇지 않은 것처럼, 프로그래머 역시 자신이 멍청하고 지루하며 무의미하다고 느끼는 프로젝트의 또 다른 조각을 쓰는 업무 시간보다 오픈소스 사이드 프로젝트에 더 많은 에너지를 쏟을 가능성이 높다. 그리고 회사가 충분히 크다면 어차피 6개월 안에 취소되거나 성대하게 출시한 지 1년 만에 폐기될 가능성이 높다.
오픈소스는 다르다. 그것은 하나의 작품이자, 당신이 정말로 하고 싶은 것, 소프트웨어가 마땅히 이래야 한다고 믿는 것, 혹은 코딩하며 느끼는 모든 재미와 기쁨, 심지어 분노까지를 코드로 옮겨 놓은 것이다. 그래서 당신은 그것이 멋지길, 완벽하길 바라고, 빌어먹을 하이젠버그 하나 때문에 밤잠을 설치게 된다. 그러니 당신의 소프트웨어 사용자가 코드의 어떤 부분이 엉망이라고 지적하며 당신과 함께 문제를 해결하려 하고 매우 까다롭게 굴더라도, 그들이 돈을 내지 않는다는 이유로 당신을 부려먹는다고 생각하지 마라. 돈의 문제가 아니다. 원한다면 버그를 무시해도 되고, 그들의 불만을 무시해도 된다. 달리 해야 할 계약이 없으니 그래도 된다. 하지만 그들은 당신을 돕고 있는 것이다. 그들은 당신이 신경 쓰는 것과 같은 것, 즉 당신 소프트웨어의 품질과 위대함, 완벽함을 신경 쓰는 것이다.
당신이 가지고 있으면서도 종종 제대로 활용하지 않는 진짜 권리는, 소프트웨어의 디자인을 결정할 수 있는 유일한 사람이 바로 당신이라는 점이다. 그래서 누군가의 기여가 당신이 설계하고 구축 중인 큰 그림에 맞지 않는다고 느낀다면, 풀 리퀘스트나 모범 사례를 따르자는 제안을 거절할 권리가 있다.
하지만 누군가가 말하는 것이 정말로 당신 소프트웨어의 결함임을 인정한다면, 그 상호작용을 돈이라는 저속한 문제로 축소하는 실수를 범하지 마라. 당신은 공짜로 작업을 하고 있고, 그들은 당신이 쓴 것을 배포하며 엉덩이를 걸고 위험을 감수하고 있다. 당신 둘 다 품질을 중요하게 여긴다.
수정: 당신이 OSS를 작성하면서 사용자들의 요구에 화가 난다면, 혹시 지금 당신의 작업이 어떤 이유에서인지 회사 일과 더 비슷해진 것은 아닌지 생각해 본 적 있는가?
수정 2: 한 HN 사용자가 제목을 그렇게 붙인 이유를 물었다. 역설이란 OSS 작성자가 돈을 받고 하는 다른 일보다 무료로 작성한 코드를 더 아끼고 기꺼이 고치려 한다는 점이다.
[1] "The best programs are the ones written when the programmer is supposed to be working on something else." - Melinda Varian. https://twitter.com/CodeWisdom/status/1309470447667421189
글을 무작위로 읽기
댓글
로그인하고 댓글 남기기