오픈소스가 뭐지?

posted on 30 Jun 2017 under category 오픈소스

오픈소스란 무엇인가?

현재 개발을 할때 오픈소스란 꼭 필요한 존재이다.
하나의 프로젝트에도 수많은 오픈소스(라이브러리)를 사용하는데 이 오픈소스란 놈은 무엇일까??

말 그대로 공개되어 있는 소스이다.
우리는 그것을 이용하고, 수정하고, 재배포 할 수가 있다.

지금까지 나는 공개되어 있는 오픈소스를 사용하기만 했다.
가끔 버전이 낮은 오픈소스가 뿜는 오류를 고쳐서 사용했지만 오픈소스 프로젝트에 올리지는 않았다.(로컬에서만 사용함)

오픈소스의 예로는 안드로이드, LINUX, node 등 어마어마하게 많고 유용하게 쓰인다.
그리고 위의 내용과 같이 거창한 오픈소스뿐만 아니라 깃헙에 많은 작고 유용한 오픈소스가 있다.

오픈소스에서 하는 일

나는 오픈소스에 참여하면 코드를 고치고 버그를 잡거나 하는 프로그래밍적인 일만 생각하고 많이 두려워 했다.
왜냐면 내가 늅늅 개발자이기 때문에 나때매 오류 오히려 만들지 않을까? 라고 생각했다.
하지만 알아보니 코드를 고치는 것만이 오픈소스에 참여하는것이 아니라는것을 알았다.
간단하게 오타수정, 줄바꿈, 들여쓰기, 일관성 맞추기, 번역하기 등 시간만 있으면 할 수있는 일이 있었다.
그리고 나같은 늅늅이는 소스에 직접적으로 관여할수 없다고 한다 ㅋㅋㅋ다행이다
그러니 너무 부담갖지 않고 오픈소스에 참여하려 한다.

오픈소스에 참여하면 생기는 장점!

그럼 어차피 남의 소스에 참여해서 남 좋은일만 하는거 아닌가? 온라인 열저페이인가? 이런 생각이 들 수도 있는데,
오픈소스에 참여하면 생기는 장점은 많다

  • 나같은 늅늅 개발자는 남의 코드를 읽는것만으로도 실력 향상에 도움이 된다.
  • 고수들의 코드에서 노하우를 배울 수 있다.
  • 내가 참여했다는 이력은 남기에 커리에 관리에 도움이 된다.
  • 많은 사람들이 사용하고 많은 경험을 통해 탄탄한 프로그램을 만들 수 있다.
  • 결국 나혼자 하는것이 아니라 모두가 같이 소스를 만들어 가는 과정에서 커뮤니케이션 능력이 올라간다. 등등 많은 장점이 있다!(사실 나도 안해봐서 모르니 해보고 더 업데이트 할 예정임.)

오픈소스에서의 역할

위에서 말했듯이 나같은 늅늅이는 소스에 직접적으로 관여할수 없습니다. 나같은 사람이 좋은 오픈소스를 망치지 않는 장치는 되어있다.
그것이 바로 역할이 나누어져 있다는 것이다!

  • USER
    • 사용자
    • 그냥 갔다가 사용하는 나의 현재 상태
  • Contributor
    • 컨트리뷰터
    • 소스를 건의 할 수 있는 사람
    • Github에서 Pull Request 하는 사람 (인듯)
  • Commiter
    • 커미터
    • 소스를 오픈소스에 넣을지 말지 결정하는 사람
    • Github 에서 Pull Request을 받아서 소스에 넣는 사람(인듯)

결론

오픈소스에 참여하려면 계속 관심을 가져야 하는 끈기와 오픈소스 전체를 이해하기 위한 공부가 필요하다.
나도 오픈소스에 참여해서 실력도 쌓고 많은 경험을 하고 싶다.
이제 나도 오픈소스에 참여하고 싶은데 어떻게 해야 하지?

Written by Brody Byun
Please Do not steal content from our website.
Please let me know if you want to take the post.(email or reply)