Translate

2018년 6월 15일 금요일

nimf 를 오픈소스로 개발한 이유

많은 사람들이 '오픈소스'라 하면 호구 개발자가 배포하는 공짜 프로그램, 공짜 유지보수, 딱 이 정도 밖에 생각을 못하시는 것 같습니다. 오픈소스라고 하면 저작권이 없다고 오해하시는 분들도 계시고, nimf 프로젝트에 대한 권한도 없으면서 nimf 프로젝트가 공식적으로 완전히 중단되었다고 선언하시는 분도 계시던데, 왜 제가 오픈소스 방법으로 nimf 를 개발해왔는지 정확히 알려드리겠습니다.

nimf 는 제가 개발했으니 당연히 nimf 에 대한 저작권, 소유권, 판권 등 모든 권한이 저에게 있습니다. 2015년부터 지금까지 혼자 개발해왔습니다. 프로젝트 중단 여부도 제가 결정합니다.
처음에 dasom 이라는 이름으로 시작을 했습니다. 기존 입력기에 입력기로써는 치명적인 버그가 있었고 구조를 변경하지 않고서는 버그 수정이 어려울 것이라 판단하였습니다. 제대로 된 입력기가 필요했고 그래서 새로 만들게 되었습니다.
굳이 소스를 공개하지 않고 컴파일해서 바이너리만 배포해도 되는데, LGPL 사용권으로 오픈소스로 배포한 이유가 있습니다.

1. 첫번째 이유

소스코드가 공개되어 있지 않으면, 개발자가 고쳐주지 않는 한 버그를 해결할 방법이 없습니다. 소스코드 공개 이유는 그 이유가 가장 큽니다. 그래서 LGPL 사용권으로 오픈소스화하여 소스코드를 공개한 것입니다. 오픈소스는 유지보수 의무가 없습니다. 사용자분들이 이거 고쳐주세요, 이런 기능 좀 추가해 주세요 등 이러한 요구를 제가 수용해야할 의무는 없지만 가급적 최대한 의견을 수용하여 개발(기능추가), 유지보수를 해 왔습니다.
여러분들이 제게 요구하면 저는 무상으로 개발, 유지보수를 해왔는데, 여러분들께 상업용 제품을 뛰어넘는 품질과 서비스를 무상으로 제공하기 위해 오픈소스로 배포하는 것이 아닙니다. 제가 여유가 있으면 그렇게 할 수 있는 것이고 여유가 없으면 못 하는 것입니다. 앞서 말씀드리길 소스코드가 공개되어 있다고 했습니다. 따라서 개발자가 고쳐주지 않는다면 여러분들이 고쳐서 사용하시거나 여러가지 이유로 그렇게 못하시겠다면 다른 프로그램을 사용하시면 됩니다.

2. 두번째 이유

폐쇄적으로 개발하는 것보다 공개적으로 개발하는 것이 품질 향상에 도움이 될 것이라 생각했기 때문에 오픈소스로 공개했습니다.

그 두가지 이유 때문에 오픈소스 개발 방법을 택하여 개발을 하였으나 득보다 실이 휠씬 컸습니다.

참고로, 버그 리포트(버그, 기능추가, 제안)가 오픈소스와 관련있다고 생각하시는 분들이 계실 겁니다. 오픈소스가 아닌 유료 프로그램들도 버그 리포트(버그, 기능추가, 제안)를 받기 때문에 버그 리포트는 오픈소스 개발 방법과는 무관합니다.
그렇지만 버그 리포트는 개발에 매우 큰 도움이 되었습니다. 고마움을 표현하기 위해 THANKS 파일에 별도로 기입했습니다.

이거 해달라고 하면 이거 해주고, 저거 해달라고 하면 저거 해주니, 저를 호구로 인식하시는 분들이 많으실텐데 저는 호구가 아닙니다. 유리멘탈 아닙니다. 호구 개발자가 제공하는 무상 개발, 무상 유지보수는 오픈소스와는 관련이 없습니다.
유상으로 개발하든, 무상으로 개발하든, 오픈소스 사용권을 채택하여 공개하면 그게 오픈소스 소프트웨어가 됩니다. 당연한 얘기지만,

바이너리를 PPA로 제공해야 하는 의무도 없고,
설명서를 한글로 제공해야 하는 의무도 없고,
선생님처럼 친절하게 설명해야 하는 의무도 없고,
타 응용 프로그램의 버그 여부를 테스트 해드려야 하는 의무도 없고,
타 응용 프로그램의 버그 리포트를 대신 작성하여 제출해야 하는 의무도 없고,
이슈(버그 리포트)를 받아야 하는 의무도 없고,
빨리 수정해야 하는 의무도 없고,
유지보수를 무상으로만 제공해야 하는 의무도 없고,
여러분들이 원하는 것을 추가해야 하는 의무가 없고,
nimf 로고를 사용자분이 원하는 것으로 변경해야 하는 의무도 없고,
버그로 인한 오작동에 대한 책임도 없고,
개발을 무상으로만 해야 하는 법도 없습니다.

그냥 당분간 아무것도 안 하고 싶었습니다. 그러나 이슈 올라오고, Pull Requests 가 올라오면 가만히 있을 수가 없습니다. 과거 사례에 비춰볼 때 아무 것도 안 하고 있으면 공개 게시판에 불만 글이나 비하하는 글 또는 독촉 이메일이 올 것으로 예상되므로 이슈 및 코드를 받고 싶지 않았습니다. 그래서 프로젝트 페이지를 읽기 전용(어카이브)으로 해두고 아무 것도 하지 않으니, 어떤 분이 자기가 nimf 개발자도 아니면서 nimf 개발 중단을 선언하셨더군요. '2018년 5월 부터 Nimf 프로젝트가 공식적으로 완전히 중단 되었습니다. 해당 GitHub 저장소는 아카이브 처리 되었습니다.'라고요.
퇴근 후에 좀 쉬고 싶고 잠도 푹 자고 싶은데 사람들은 저를 가만히 두지 않습니다. 그래서 결국 nimf 저장소를 삭제하였습니다. 그렇게 해야만 쉴 수 있을 것 같았습니다.
제가 nimf 개발자이고 nimf 를 계속 개발해왔고 제가 직접 nimf를 사용하고 있습니다. 모든 권한을 제가 보유하고 있습니다. 개발 중단 여부는 저의 고유 권한입니다.
nimf 저장소가 아카이브(읽기 전용) 상태여서 개발이 중단되었는가? 아닙니다.
nimf 저장소가 삭제되었다하여 개발이 중단되었는가? 아닙니다.
유지보수를 유료화한다고 하여 지원이 중단되었는가? 아닙니다.
그렇게 따지면 오픈소스가 아닌 유료 프로그램들은 모두 개발 및 지원이 중단된 상태입니까?
그렇게 따지면 MS윈도10은 벌써 개발 및 지원이 중단된 상태입니까?
소스코드를 블로그에 올리든, github 에 올리든, bitbucket 에 올리든,
버그 리포트 게시판(이슈 게시판)을 만들든 말든, 버그(이슈)를 받는 말든 제 자유입니다.
저는 여러분들의 요청에 의무적으로 답변해야 하는 사람이 아니기 때문에 요청을 받기 싫으면 읽기 전용으로 전환하여 거부할 수 있습니다, 제가 아무 것도 안 한다고 하여 타인이 nimf 개발 중단 선언을 하는 상황이면 제가 저장소를 통째로 삭제할 수 있습니다. 저의 행위가 불법도 아닐 뿐더러 비도덕적인 것도 아닙니다.
다만, 소스코드 및 이슈를 모두 백업해 두었습니다. 잠도 푹 자고 쉬고 싶습니다.
https://cogniti-works.blogspot.com/2018/06/nimf_82.html

오픈소스에 대해 명확히 인식하셨으면 좋겠습니다.
서로 협력하여 개발 및 지원해 가는게 오픈소스다라고 생각하시는 분들도 계실 겁니다.
그러한 관점으로 바라보면 dasom / nimf 는 이미 2015년부터 오픈소스가 아닌게 됩니다.

3년간 받은 의미있는 코드는 단 3건입니다.(오픈소스 장점)
3년간 받은 기부금은 dasom, nimf 합쳐서 약 15만원 정도(그 이하)입니다. 전액 다른 프로젝트 기부함. 먹튀 아님.
3년간 받은 의미있는 이슈는 15건입니다. THANKS 파일에 명기함.

2015년이 탄생 시점인데 수년간을 현재 시점에서 바라보면 개발자를 어떻게든 이용해 먹으려는 사용자분들과 이용당하지 않으려는 저와의 긴 줄다리기였던 것이고, 휴식을 취하고자 그 줄을 제가 끊은 것입니다.

nimf 는 LGPL 사용권으로 배포하는 오픈소스 소프트웨어입니다. 소스가 공개되어 있습니다. 따라서 여러분들이 원하시는 것을 LGPL 사용권 내에서 스스로 하셔도 됩니다. 제가 그걸 못하게 막지도 않을 뿐더라 방해하지도 않습니다. 제가 못해드리는 것들에 대해 스스로 해결할 수 있는 길을 열어 드리고자 오픈소스로 배포하는 것입니다.

여러분들이 원하시는 것을 제가 해드리지 않는다고 하여 nimf 개발이 중단된 것이 아니며 오픈소스 소프트웨어가 오픈소스 소프트웨어가 아닌 것이 되지는 않습니다. nimf 소스코드는 github 에 널리고 널렸고 여러분들은 코드를 컴파일하여 무상으로 사용하실 수 있습니다. 제가 그걸 못하도록 막거나 방해하지 않습니다. 또한 무상으로 지원을 하지 않는다고 하여 지원이 중단된 것이 아닙니다.

이번 일로 인하여 저는 명확히 깨달은 것이 있습니다.
오픈소스 철학을 내세우며 무임 승차에 주안점을 두는 사람들이 있다는 것과, 사람들은 정말 다양해서 대중을 상대로 뭔가를 한다는 것이 위험할 수도 있다는 것을 깨달았습니다.
뽑아먹을 거 다 뽑아먹고 이용 가치 없으니까 버리고 그런거죠.. 뭐 세상이 별거 있나요. 
오늘도 묵묵히 nimf 를 애용해주시는 분들께 감사하다는 말씀을 드립니다.


nimf 소스코드 백업 파일 다운로드

sha1sum:

44c227580eb898a9d5e0fa10596c0fbe5bb73dbd  nimf-2018.05.20.tar.xz

http://www.filedropper.com/nimf-20180520tar


nimf 이슈 백업 파일 다운로드

sha1sum:

7420cf516897b30b8b72a7d8e65e6789ef383b06  nimf-issues-backup.zip

http://www.filedropper.com/nimf-issues-backup

응용 어플 끝글자 버그 잡는 거 진짜 개쉽습니다

그 동안 제가 끝글자 버그를 잡지 않고 방치한 이유 우선 책임, 의무가 없습니다. 제가 해당 어플 개발자도 아닐 뿐더러 오픈소스가 원래가 유지보수 의무, 보증 책임이 없습니다 . 이렇게 개떡 같은 게 오픈소스입니다. 전 과거 libhwp 하냐고...