오픈소스 첫경험

인터넷/모바일 관련 업계로 자리를 옮기면서 최근에는 오픈소스를 많이 이용하고 있다. 그 품질도 좋고, 또 커뮤니티에 질문을 하면 개발자들(committer)이 바로바로 답변을 해주니, 아주 도움을 많이 받고 있다.

어제는 버그 같이 보이는 것을 발견하고, 해당 오픈소스커뮤니티(구글 그룹스)에 질문을 올렸다. committer들이 바쁜지, 평소와는 다르게 하루가 넘게 답을 안해줘서, 오늘은 어디가 문제인지 직접 소스를 살펴봤다.

웹프레임워크 소스라 동작 방식이 조금 복잡했는데, 여차여차 문제가 되는 부분을 찾았고, 어플리케이션 단계에서 회피하는 방법도 찾았다. 그리고, 내용을 잘 정리해서 커뮤니티에 올렸다.

원문: https://groups.google.com/d/msg/play-framework/9OP-tEAxKaM/y39pLR2A19EJ

글을 올리고 보니, 그 사이에 committer로부터 버그인 것 같으니 이슈로 등록해달라는 글이 먼저 올라와 있었다.

원문: https://groups.google.com/d/msg/play-framework/9OP-tEAxKaM/0eB7xuNiel4J

그동안 덕본 것도 있고해서, 귀찮지만 이슈 트래커 사이트에 회원가입부터 하고 이슈를 등록했다.

원문: https://play.lighthouseapp.com/projects/82401/tickets/375-globalonstop-is-not-invoked

여기까지 하고나니, 조금 욕심이 생겼다. 내가 직접 프레임워크의 소스를 수정해보기로 했다. 먼저 github에 올라와 있는 원래 소스에서 fork를 해서 내 개인 repository를 만들었다. 코드를 수정해서 내 repository에 올리고, 이것을 반영해 달라는 pull request를 했다. Git은 한 1년 정도 써봤지만 pull request는 처음 해보는 거였는데, 다행히 많이 어렵지는 않았다.

이 오픈소스의 전체 소스를 다 파악하고 있지 못하기 때문에, 받아들여지지 않을 수도 있겠거니 했다. 그런데 곧 committer 중에 한 사람이 코멘트를 남겼는데, 소소한 것 좀 수정해줄 수 있냐는 내용이었다. 요청에 따라, 소소한 부분을 수정하고 2번에 걸친 commit을 하나로 깔끔하게 합쳐서(squash) 다시 올렸다.

원문: https://github.com/playframework/Play20/pull/249

이제 내가 만든 아주 약간의 소스는, 이 오픈소스와 한몸이 되기를 조마조마 기다리고 있다. 사실 그렇게 대단한 것은 아니지만, 항상 도움을 받기만 하다가 조금이라도 기여를 한다고 생각하니 이렇게 뿌듯할 수가 없다.

문제를 발견해서 공유하고, 버그로 등록하고, 그리고 pull request를 하는 일련의 과정을 조금씩이나마 해보면서 오픈 소스에 참여하는 방법을 조금은 익힌 것 같다. 이제 앞으로는 더욱 열심히 참여하겠노라 다짐해본다. 아자!

updated at 2012-5-3
다행히 pull request가 받아들여졌습니다.🙂

6 thoughts on “오픈소스 첫경험

    • 안해봐서 멋지게 보이는 걸 수도..
      해보면 그렇게 대단한게 아닌데, 처음이 어려운 듯.

      사람들 많이 쓰는 오픈소스 만들면, 그건 진짜 멋지겠다.🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s