Sourceforge야 안녕~

YUV player를 예전에 Sourceforge를 통해 공개해뒀었는데, 아무래도 요새 대세는 git인거 같아 github로 옮겨가야지하고 생각만 하고 있었는데, 휴일 버프에 힘입어 드디어 수행에 성공했습니다.

그동안 누적 다운로드를 확인해보니 벌써 38,000 회가 넘게 다운로드되었네요. 생각해보면 Clean software로 선정되었다고 메일도 오고 했었는데, donation은 한 건도 없네요. (paypal 연결은 sourceforge밖에 없길래 그 때 sourceforge에 올렸던 걸로 기억하는데… 쳇)

어쨌든 드디어 코드도 옮겼고, 누가 넣어달라고 코멘트 달아놨던 기능도 대충 구현해서 올려두고, 소스포지에 있던 코드는 참고하지 말라고 README.txt 하나 남겨놓고 다 날려버렸습니다.

이제는 제 관리되지 않는 trac을 정리하고, 개인 repository에 넣어뒀던 code snippet 폴더를 github로 옮겨봐야겠습니다. 헤헷

이거까지 하고 나면 정말 속이 다 시원하겠네요. ㅎㅎ

Synology NAS에 air comix server 올리기

홈서버로 사용 중이던 베어본께서 사망하는 사건이 발생했는데, 홈서버가 사망하고 나니 air-video/air-comix 등등을 이용할 수가 없어서 답답한 김에 air comix 서버를 NAS에 올려보기로 했다.

다행히 window/mac 용 버젼의 air comix server가 아닌 web version air comix 서버가 나와있어서 작업이 크지는 않을 것 같았는데…

내 NAS의 경우 기본 설치스크립트와 설정 파일 경로 등에 차이가 있었다. 게다가 기본 설치 방식이 크게 맘에 들지 않아서 manual install을 하기로 결정.

참고로 내 Synology NAS의 OS버젼은 DSM 6.x이고, 목표는 기본 패키지로 설치되는 파일 수정 없이 AirComix 서버가 작동하도록 만드는 것.

업데이트에 손이 좀 덜가게 하기 위해 tee 계정의 웹 디렉토리인 /volume1/homes/tee/www에 Aircomix란 디렉토리를 만들고 php 파일들을 copy 했다.

그리고 아래와 같은 aircomix 용 config를 /usr/local/etc/httpd/sites-enabled/httpd-aircomix.conf로 저장해서 webstation이 AirComix server를 위한 설정을 로드할 수 있도록 만들었다. (참고로 31251은 구버전 aircomix용 기본 포트이고, 31257은 새버전인 aircomix용 기본 포트)

이제는 rewrite rule을 처리하기 위해 /volume1/homes/tee/www/Aircomix에 .htaccess 파일을 만들고, 아래와 같이 rule을 정의할 차례!

내 NAS에서는 만화 파일들이 comic/tee, comic/uza라는 공유 폴더에 저장되어 있는데, 얘네들을 httpd에서 접근할 수 있도록 ‘공유 폴더 > 권한 > 로컬 그룹’에서 http에 읽거 전용 플래그를 설정해줬고, 얘네들을 php에서 접근할 수 있도록 /etc/php/conf.d/user-settings.ini의 open_basedir에 /volume1/comic/tee, /volume1/comic/uza을 추가해줬다.

DSM 5.x부터는 mod_auth 등을 사용할 수 없게 되었기 때문에 인증은 php에서 처리해야해서, 어짜피 코드 수정이 필요한 김에 root 디렉토리로 여러개 지정할 수 있도록 수정했고, 설정할 건덕지가 있는 부분은 conf.php로 뽑아버렸다.

link: air-comix server mod 다운받기

customizing은 아래의 conf.php 파일을 통하면 된다.

오늘의 삽질 끝!

덧: DSM에서 user 용 httpd 재시작은 아래 커맨드로 (fastcgi라 파일을 수정해도 바로바로 반영안되길래 OTL)

/usr/syno/sbin/synoservicecfg --restart pkgctl-WebStation

지멋대로의 영어를 더 자주 볼 수 있었음 좋겠습니다.

이 글은 More Bad English, Please란 글을 번역한 글입니다. :)

약간의 의역과 오역이 있을 수 있으니 양해 바랍니다.


메일링 리스트에서 어색한 영어를 더 많이 볼 수 있었음 좋겠습니다. 그리고 메일링 리스트에서 비영어권 사용자들의 어색한 영어에 대한 사과를 그만 볼 수 있었음 좋겠습니다. 제 2, 3, 4 외국어를 사용해서 대화를 시도해보는 것에 부끄러워하지 마시기 바랍니다. 만약 영어에 대한 두려움/당황감 때문에 비영어권 사람들이 참여하지 못하는 분위기를 만들었다면 그것이 바로 부끄러워해야할 점일 것입니다. 이런 사용자들의 질문이나 공헌들을 통해 FLOSS 프로젝트는 더욱 성공적으로 나아갈 수 있습니다.

오픈소스의 대단함 중 하나는 여러 나라의 사람들이 함께 작업을 한다는 것입니다. 누구나 찾을 수 있는 진정한 “잡탕 냄비”이죠. 오픈소스에 참여하는 사람들 중 공통으로 사용할 수 있는 언어가 영어이다 보니 메일링 리스트에서는 주로 영어를 사용합니다. 하지만 대부분의 경우 영어는 그들의 모국어가 아닙니다. 심지어는 그들이 구사하는 제 2, 3 외국어 조차 아니기도 할 정도이며, FLOSS 메일링 리스트에 참여하는 것이 영어로 글을 작성하는 유일한 경험인 사람들도 있습니다. 그러다보니 다양한 문화적 시각을 가지게 되고, 이들이 구사하는 영어들도 그리 완벽하지는 않습니다.

만약 내가 받는 메일 중 “poor English”에 대한 사과가 포함된 메일 각각에 따라 $1씩을 받았다면, 은퇴 후에도 아주 편안하게 살 수 있을 정도일겁니다. 하지만 이런 사과를 하실 필요는 없습니다. 오히려 더 목소리를 더 크게 내시기 바랍니다. 메일링 리스트에서 어색한 영어 표현을 더 많이 볼 수 있었음 좋겠습니다.

누군가와 생산적인 대화를 하기 위해 들이는 노력에 대해 당황스러워하거나 그 사람을 부끄럽게 생각하는 경우는 없습니다. 정신과 수련의 방(room for improvement)이 있다면 대부분 새로운 언어를 배우거나 자신의 언어 능력을 높이기 위해 지속적인 노력을 할 것입니다.

자신의 언어 능력에 부끄러움을 느끼는 사람들은 아무래도 더 적게 말하곤 합니다. 자신의 말을 못알아들을까봐 두려워 질문을 머금고만 있곤 하죠. 예전에 자신이 전하려고 했던 것이 전해지지 않았던 것이 기억나서 생각을 표현하지 못하기도 합니다. 제가 Novell에 있었을 때 가장 좋았던 것은 세계에 퍼져있는 오픈소스를 사랑하는 사람들을 만나 이야기해볼 수 있었고, 커다란 커뮤니티의 일부가 될 수 있었다는 점입니다. 아쉽게도 제가 만나봤던 사람들 중 많은 사람들이 자신의 영어가 능숙하지 못하다는 이유로 당황했었습니다. 함께 토론에 참여하길 유도했던 많은 공헌자들이 자신이 못알아들을 것을 두려워해서, 자신의 영어 부족한 영어가 부족하다는 이유를 내세우며 토론에 참여하기를 꺼렸습니다.

그저 두려움 뿐이었을 수도 있습니다. 자신의 영어 때문에 걱정이라고 표현했던 사람들 중 많은 사람들의 경우 아주 유창한 영어를 구사하지는 못했지만 우리가 알아듣는데는 별 지장이 없을 정도의 영어를 구사할 수 있었습니다. Even when there is a moderate language barrier, there should be no shame felt or conveyed for someone trying to participate in their non-native language. 누군가가 한 가지 언어 밖에 구사하지 못해서 다른 사람들에게 그 언어를 사용하게 한 경우라면 진정 부끄러워해야할 것입니다.

전 Seth Godin이 쓴 Linchpin을 읽어본 적이 있습니다. Seth는 좋은 일, 예술 등 그들이 할 수 있는 가장 생산적인 일을 하는 것을 막는 두려움에 대해서 아주 강력히 얘기합니다. 제가 생각하기엔 이런 두려움 때문에 사과를 하는게 아닐까 싶네요. 다른 사람들만큼 그 언어로 잘 이야기 하지 못한다는 이유로 거절당할까하는 두려움, 내 말을 못알아듣지 않을까 하는 두려움, 단순히 무시당하지 않을까 하는 두려움 말이죠.

하지만 이런 일은 없습니다 아니 최소한 있어서는 안될 것입니다. 대부분의 커뮤니티에서는 공헌자로써 시간을 써준 것을 가치있게 생각합니다. 그리고 누구나로부터 이야기를 듣기 위해 노력하고 있죠. 누군가 좋은 일을 하고 있거나 배우려 노력하고 있는 상황이라면 그걸 이해하기 위해 약간의 노력을 더 해야한다고 하더라도 누가 신경이나 쓰겠습니까? 가끔은 엉망인 영어에 가려져 있지만 함께 일하고 싶을 똑똑하고 재능있는 공헌자들을 찾을 수 있습니다. 그러니 메일링 리스트에서 엉망인 영어를 더 자주 볼 수 있었음 좋겠습니다. 그리고 아마 그래줄거라 믿습니다. 이 말을 여기저기 퍼트려주세요.

MySQL의 라이센스 모델이 가지는 의미는? MySQL은 결국 죽임을 당할 것인가?

우선 이 글은 The importance of the license model of MySQL or Can MySQL be killed?을 번역한 글임을 밝힙니다.

급하게 번역했기 때문에 오역이 있을 수 있음을 양해 바랍니다. 이하 내용은 번역된 내용입니다.

지난 몇 주간 받았던 공통적인 질문들에 대해 답하기 위해 이 포스트를 남깁니다.

A. MySQL이 없어질까?

1. MySQL을 죽이기 위한 제일 간단한 방법은 라이센스를 더이상 팔지 않거나 그 가격을 굉장히 높게 하는 것입니다.

2. 다른 시나리오는 중요한 부분에 대한 개발 인력을 확 줄여버리는 것입니다. 그러면 사람들은 MySQL의 미래에 대해 의심하기 시작할 것이고 서서히 MySQL을 죽여나갈 것입니다. 특히나 현재의 라이센스가 그대로 있다면 더욱 그럴 것입니다. (MySQL의 코어는 대부분 거대한 커뮤니티가 아닌 SUN의 개발자들을 통해 개발되어왔다는 사실을 기억해야 합니다.)

B. “하지만 누구나 fork할 수 있지 않나?”

누군가 GPL 프로젝트(혹은 그 코드)를 이용해서 fork할 순 있겠지만 그 프로젝트나 코드를 둘러싼 경제적 인프라 스트럭쳐까지는 쉽게 복제할 수 없습니다.

MySQL은 엔드 유져용 애플리케이션이 아니고, 인프라 스트럭쳐 프로젝트는 시스템 스택의 깊은 곳에까지 관여되어 있습니다. 최근 MySQL을 이용해서 혁신을 이뤄냈던 기술적인 파트너들은 대부분 MySQL로부터 라이센스를 받아서 자신의 closed 소스 어플리케이션혹은 (스토리지 엔진 같은) 코드와 MySQL을 조합해서 사용할 수 있었고, 라이센스를 통해 파트너들로부터 받아들이는 직간접적인 수입은 경제 인프라스트럭쳐의 굉장히 큰 부분이었습니다. (이들이 어디서 돈을 벌 수 있는가 정도로 생각하심 될 것 같습니다.)

GPL 프로젝트의 인프라스트럭쳐를 포크하는 것을 통해선 위에서 언급한 파트너쉽 같은 일을 할 수 없고, fork된 프로젝트는 자신들만의 closed 소스 파트와 이 프로젝트를 섞어 사용할 수 없도록 만듭니다. 파트너들이 MySQL코드와 자신들의 코드를 섞어 사용할 수 없게 된다면, 이 파트너들은 MySQL이 아닌 다른 프로젝트를 찾게 될 것이고 결국 MySQL로의 자금 이입이나 MySQL을 둘러싼 기술 혁신은 멈춰버릴 것입니다. 다른 프로젝트들에는 누구나 참여해서 돈을 벌 수 있으니 결국 이런 프로젝트들이 MySQL이 하던 일을 대신하게 되는 것이죠.

MySQL을 위한 기술 지원 회사를 만들 수도 있겠지만 이런 것들만으론 MySQL 유져들이 만족할만큼 MySQL 개발할 수 있는 돈을 충분히 벌 수 없습니다. 그러므로 이런 회사들은 MySQL을 조금 천천히 죽게 만들 뿐 살려낼 수는 없습니다.

오라클처럼 많은 사람들이 일하는 회사에 대항할 경쟁력을 가진 상태로 MySQL을 살아있게 하려면 MySQL을 위해 일하는 사람도 많아야 합니다. 이를 통해 충분한 수입을 얻을 수 없다면 (앞에서 언급했듯이 지원을 통해선 충분한 수입을 얻지 못합니다.) 일부 몇 개 회사들만이 개발에 참여하게 될 것이고, 투자회사에서의 지원도 줄어들게 될 것 입니다. 결국 서비스를 통해서 벌어들이는 돈이 전부가 될 것이지만 이 돈은 그리 큰 규모가 될 수 없습니다.

또한 리차드 스톨만이 언급했던 것처럼 MySQL에선 GPL2만을 사용할 수 있으므로, GPL3 코드와는 결합될 수 없습니다. 이 말은 GPL3를 사용하는 자유 소프트웨어 프로젝트들에서 MySQL을 사용할 수 없다는 것입니다. 하지만 이 문제는 경제적인 문제에 비교하면 대단한 문제라곤 할 수 없습니다.

C. “GPL은 충분히 쓸만한 라이센스인가?”

제 생각에 GPL은 굉장히 훌륭한 라이센스입니다. 이 라이센스는 GPL로 된 프로젝트들을 자유롭게 해주는 동시에 회사들이 풀타임으로 개발에 참여하면서 충분히 돈을 벌 수 있는 가능성도 제공하고 있습니다. 또한 GPL은 이런 회사들이 이 제품을 강력하게 관리할 수 있도록 보장해줍니다. (특히나 그들의 *closed source* 기술 파트너들을 위해) 이게 바로 투자자들이 GPL을 사용하는 회사에게 투자하고 싶어하는 이유라고 할 수 있습니다. 투자자들은 이 제품을 fork하는 것을 통해 이 코드에 대한 권한을 줏어가는게 불가능하다는 사실을 알고 있기 때문이죠.

D. 결론

아마 Sun과 오라클도 이 사실을 알고 있을 겁니다. 이게 바로 Sun이 MySQL을 비싼 가격에 사들였던 이유이고, 오라클이 MySQL을 바보로 만드려는 이유이죠.

MySQL을 fork하기만 하는 정도로 간단한 문제였다면 Sun은 MySQL을 사지 않았을 것이고, 오라클은 MySQL을 포함해서 SUN을 사는 대신 MySQL fork를 만들었을테니까요.