ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [프로그래머] 오픈 소스 프로젝트로 꿈을 실현하자
    97가지 시리즈/프로그래머 2018.11.02 17:52

    #프로그래머가_알아야_할_97가지 vol.33

    오픈 소스 프로젝트로 꿈을 실현하자 by. Richard Monson-Haefel


    소프트웨어 개발이 직업인 사람이 많지만, 그중에 정말로 자신이 원하는 소프트웨어를 만들 수 있는 상황에 있는 사람은 그리 많지 않을 겁니다. 꿈과 현실은 다르죠. 사실 Google이나 Apple, Microsoft에서 일하고 싶은 희망을 품고 있지만, 현실은 대기업 보험 회사의 시스템을 만들고 있는 사람들도 있죠. 자신의 회사를 만들어서 다음 시대의 중심이 될 참신한 소프트웨어를 만들어 보고 싶다고 생각은 하지만 전혀 다른 일을 하는 사람도 있을 겁니다. 묵묵히 지금의 일을 계속해봤자, 좀처럼 원래 자기가 품었던 꿈에 가까워지지도 않습니다.


    다행히 꿈에 가까워지는 방법이 없지는 앖습니다. 그것은 오픈 소스 프로젝트에 참여하는 겁니다. 오픈 소스 프로젝트는 이미 몇천 개나 존재하고, 그 대부분은 매우 활발하게 움직이고 있습니다. 오픈 소스라면 자신이 하고 싶은 타입의 소프트웨어에 참여할 가능성이 크겠지요. 예를 들어 OS 개발 프로젝트는 10개 이상 있으므로 OS에 관심이 있는 사람이라면 금방이라도 어느 하나를 선택해 참가할 수 있습니다. 그 밖에도 음악, 애니메이션, 암호, 로봇 공학, 게임(스탠드어론 게임도 있고 온라인 게임도 있습니다), 휴대 전화 등, 어떤 분야라도, 찾아보면 하나쯤은 관련된 프로젝트를 찾아낼 수 있을 것입니다.


    물론 좋은 면만 있는 것은 아닙니다. 오픈 소스 프로젝트에 참여하려면 자신의 시간을 다소 희생해야 합니다. 낮에 회사에서 상관없는 작업을 할 수는 없으니까요. 낮에는 지금처럼 사원의 책임을 완수해야 합니다.


    그리고 또 한가지는 오픈 소스에 공헌한다고 해도 돈이 되지 않습니다. 분명히 그중에는 돈이 되기도 하지만 대부분은 그렇지 않습니다. 즉, 자신의 시간과 노력을 무료로 투자해야 한다는 뜻입니다. (게임을 하거나 텔레비전을 보는 시간을 투자하는 일쯤은 아무것도 아니겠지요)


    프로젝트에 참여하기 전에는 회사와의 고용 계약을 잘 확인해 둘 필요가 있습니다. 회사에 따라서는 비록 근무시간 외라도 참여할 수 있는 프로젝트에 제한을 두고 있는 곳도 있기 때문입니다. 또, 활동 중에는 지적 재산 즉 저작권, 특허, 상표, 기업 비밀 등에 관한 법률에 위반하지 않도록, 충분히 주의해야 합니다.


    오픈 소스는 의욕적인 프로그래머에겐 큰 기회를 줍니다. 우선 오픈 소스 프로젝트에 참가하면 많은 사람의 일 처리를 간접적으로 체험할 수 있습니다. 예를 들어 한 가지 문제를 해결하는 데에 여러 가지 방법이 있을 수 있는데, 목적은 같지만 자기 자신과 다른 타인과는 방식을 보고 배울 수 있다는 것입니다. 무엇보다 크게 도움이 되는 것은 다른 사람이 쓴 코드로부터 많은 것을 배울 수 있다는 점입니다. 그리고 또 하나 중요한 것은 프로젝트에 자신의 코드나 아이디어를 제공할 수 있다는 것입니다. 아무리 훌륭한 코드를 쓰더라도 어떤 훌륭한 아이디어를 내더라도 모두가 그 방식을 찬성해준다고는 할 수 없습니다. 하지만 그렇게 아이디어를 짜내고 코드를 써서 제공하는 것만으로도 배우는 것이 더 많을 겁니다. 자신과 흥미를 같이하는 사람을 만난다는 것도 큰 이점이겠지요. 만나는 사람 중에는 훌륭한 기술을 가진 우수한 사람도 많을 겁니다. 만난 사람과의 우정은 평생 계속될 수도 있지요. 그리고 능력을 마음껏 발휘해 프로젝트에 크게 공헌하면 훌륭한 실무 경험이 됩니다. 본업과 더불어 자신이 확실하게 흥미가 있는 기술 분야에서도 실무 경험을 덤으로 쌓을 수 있습니다


    오픈 소스 프로젝트에 참여는 아주 간단합니다. 개발에 필요한 툴(소스코드 관리툴, 편집기, 프로그래밍 언어, 빌드 시스템 등)은 모두 쉽게 찾아볼 수 있습니다. 참가할 프로젝트를 결정하고 그 프로젝트가 사용하고 있는 툴에 관해 배우면 됩니다. 프로젝트 대부분은 문서의 양이 적을 수 있지만 그렇게 곤란하지 않습니다. 소스코드를 통해서 대부분 배울 수 있기 때문입니다. 시스템에 대해 빨리 이해하기 위한 문서를 튼튼하게 만들어 주는 방식으로 프로젝트에 공헌하는 것도 하나의 방법입니다. 혹은, 프로젝트에 테스트 코드를 써서 공헌을 시작하는 방법도 있습니다. 테스트 코드를 쓴다고 하니까 별로 재밌어 보이지 않을지도 모르겠습니다. 하지만 사실 남들이 만든 소프트웨어를 배우는 데에는 테스트 코드를 쓰는 것만큼 효과적인 방법이 없습니다. 분석하고 노력해서 좋은 테스트 코드를 작성하고 버그를 발견하고 수정을 제안하는 일. 프로젝트를 통해 친구를 만들고 자신이 좋아하는 소프트웨어에 적극적으로 참여함으로써 자신의 꿈도 한 발짝 더 실현에 가까워질 것입니다.


    저자: Richard Monson-Haefel

    프리랜서 개발자.

    O’Reilly Media 'Enterprise JavaBeans', 'Java Message Service'의 공저자.

    'J2EE Web Services'의 저자.

    OpenEJB의 오픈 프로젝트인 EJB container for Apache Geronimo의 공동설립자.

    지금은 iPhone, Microsoft Surface 개발자로 컨설팅도 하고 있다.


    [프로그래머] 오픈 소스 프로젝트로 꿈을 실현하자


    [출처] プログラマが知るべき97のこと (O'Reilly Japan)

    이 글은 [CC-by-3.0-US]에 의해 라이센스 되었습니다.




    댓글 0

Designed by Tistory.