GibHub 오픈 소스 프로젝트

Updated:

토렌트(마그넷) 자동 다운로드 프로젝트 - torrent_web_scraper는 토렌트 파일을 자동으로 다운로드 해주는 웹크롤러 파이썬 스크립트다. TV 프로그램을 다운로드 받기 위해 매번 토렌트 사이트를 접속하며 토렌트 시드 파일 다운로드 받기가 귀찮아서 자동으로 다운로드 하는 파이썬 코드 한번 짜볼까? 해서 시작한 토이프로젝트다.

1. 프로젝트 2년 운영 후기

GitHub에서 프로젝트를 2년 운영한 소소한 느낌을 정리해본다. 첫 소스를 push한 것이 2018년 9월이다. 오늘 기준으로 2년 더 넘은 기간을 운영했다. 물론 엄청난 규모의 프로젝트는 아니었기 때문에, 2년 내내 뭔가를 개발한 것은 아니다. 생각나는 것이 있을때마다 혹은 버그가 발견될 때마다 소스 수정 작업을 진행했다. 작은 규모의 토이 프로젝트이지만 느꼈던 점들을 나열해본다.

오픈 소스를 사용하는 사람은 다양하다.

GitHub에 소스를 올려두고, 블로그에 사용글을 정리해두었는데 그것을 보고 사람들이 보고 사용하고 연락을 줬다. 대부분은 SW 개발자가 아닌 사람들이 연락을 취해왔다. 그도 그럴것이 간단한 파이썬 코드이기 때문에 SW 개발자들은 문제가 발생했을 시에 스스로 해결했을 것으로 생각이 된다. 그래서 댓글을 달거나 따로 메일을 보낸 사람들은 대체로 전문가가 아니었다. 이런 연락을 받으면서 프로젝트 설명글을 어떤 수준에 맞춰서 써야할지 고민하게 되는 계기가 되었다. 그리고 setup script를 어떻게 하면 쉽게 짤 수 있을지 고민하게 되었다.

조금 신기했던 사실은 질문의 내을을 보면, SW개발과는 관련없는 사람이 분명한데 답변을 써서 보내주면 나중에 해결했다고 고맙다고 답장이 왔던 것이다. SW개발자들은 당연히 이해가 될 만한 내용이었지만, 초보자들이 가이드한대로 그대로 해냈다고 하면 신기한 느낌이 들었다. 오픈 소스는 누가 사용할지 모른다. 모른다기 보다는 다양한 사람들이 사용한다라고 표현하는게 더 맞을 듯 하다.

SW개발자들이 볼때 부끄러운 코드인가?

GibHub에 소스를 보고 간혹 SW개발자들로 보이는 분들이 fork해서 코드를 건드리는 경우가 있다. 다른 사람들이 내가 짠 코드를 변경하는 것을 보면서 부끄러워지는 경우가 있다. ㅎㅎ (이것은 회사에서도 마찮가지로 발생하는 일이지만..) 이 사람은 이 코드를 보면서 무슨 생각을 했을까? 코드가 수준이 낮다고 평가 했을까? 괜찮은 수준의 코드였다고 평가 했을까? 그래서 오픈 소스 프로젝트를 구상 중이라면 한가지 충고를 하고 싶다. 부끄러운 코드는 짜지 말라고 ㅋㅋ 다른 개발자들이 보고 있다.

나는 부끄러움을 견디지 못하고 처음 생성했던 GitHub repo를 버리고 새 Repo를 만들어서 이사해버렸다. 이사하면서 나름 객체지향 프로그래밍 구조 설계도 하고, 코드도 깔끔히 보이려고 노력했다. 노력을 들여서 공부한만큼 모르던 것을 알게 되었고, 실력이 올라갔다.

아..혹시 다른 개발자들이 보고 있기 때문에 부끄러운 코드를 짜지 말라는 것은 더 수준높은 코드를 작성하자는 말로 받아드리자. 이 말 때문에 오픈 소스에는 정갈한 코드만 올려야겠네하고 포기하는 일이 없었으면 좋겠다.

SW개발자라면 자기만의 오픈 소스 프로젝트가 필요하다.

SW개발 혹은 공부를 하는 사람이라면 자기만의 오픈 소스 프로젝트가 하나쯤 가지길 추천한다. 꼭 자기가 생성한 프로젝트가 아니어도 괜찮다. 관심 있는 분야의 프로젝트가 가서 자주 살펴보고 내가 할만한 것이 없나 기웃거리자. 별 대단한 프로젝트가 아님에도 불구하고 2년 동안 운영하면서 배운 점이 많다.

이미 코드를 작성할 수준이 되었다면 바로 GitHub에 가서 놀아보자. 그곳에서는 SW개발자들이 코드로 많은 대화를 하고 있다. 그 대화에서 책에서 배울 수 없는 것들을 배울 수 있다.



Leave a comment