4. 목차
• 오픈소스가 뭐죠?
• 왜 오픈소스로 공부하면 좋은 거죠?
• 오픈소스가 재밌는 이유!
• 기업들이 오픈소스활동경험을 선호하는 이유!
• 오픈소스를 시작하는 법!
• 사실 오픈소스입문은 어려워요.
• 오픈소스로 성장해보자!
5. 오픈소스가 뭐죠?
• 사전적 정의
• 오픈 소스(open
source, 문화어: 공개원천)는 소프트웨어 혹은 하드웨어의
제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수
있도록 한 소프트웨어 혹은 오픈 소스 라이선스에 준하는
모든 통칭을 일컫는다.
• 쉽게 말해 소스코드가 온라인으로 공개되어 누구나
접근가능한 프로젝트를 말함.
6. 오픈소스로 공부하면 좋은 이유
• Github를 통해 전 세계에 있는 실력 있는 개발자로부터 코드리뷰를 받을 수 있다.
• 누구나 참여할 수 있도록 해당 프로젝트에 참여를 돕는 가이드가 마련 되어있다.
• 스스로 공부하고 성장할 수 있는 능력을 키울 수 있다.
• (힘들지만) 재밌다!!!
• 코드 분석하는 능력을 기를 수 있다.
• Git(버전관리시스템)에대한 공부를 할 수 있다.
• 영어 공부는 덤! (이거 장점 맞나..?)
9. 왜 이렇게 오픈소스경험을
우대하는 걸까?
• 직접 회사에 들어가 겪어 보니..
• 코드분석, 문서 읽는 능력, 소통하는 능력
• 또한 성장가능성이 높다고 판단
( 스스로 공부하는 능력 )
• 개발에 대한 열정을 확인 할 수 있다.
10. 오픈소스를 시작 하는 방법!
• 개발 초보자입장에서 바라본 오픈소스를 시작하는 법 (링크)
• -- 2부도 제작하고 있어요!
• 부끄럽지만 직접 오픈소스를 만들어봤습니다.
• 오픈소스를 직접 만들어보고 싶었음( 하고나서 많은 걸 느낌)
• https://github.com/OpenRPGs/OpenRPG.git
11. 사실 오픈소스입문은 어려워요.
• 방대한 코드를 분석해야함.
• 좋은 문서는 많지만 대부분 영어 흑흑..
• 프로젝트별로 알아야할 전문지식이 모두 다름
• 그래서 중요한 것은 끈기있게 할 수 있는.. 정말 좋아하는 프로젝트를 선정하는 것이
가장 중요함! (그리고 잘관리되는 오픈소스인지도 중요!!!!)
• 하다가 재미없으면 딴 거 하면 됨!! 계속 도전 또 도전! (그래도 최소한 몇 달은 해볼 것)
12. 모두 열심히 하고 싶은 걸 찾아봅시다!
• :어떤 것을 좋아하고 , 무엇을 하고 싶은 지 찾아보세요.
• 하고싶은걸 하면 정말 열심히 할 수 있습니다.
• 이상 발표 마무리!
Editor's Notes
#2:안녕하세요 원래는 오늘 디자인패턴에 대해 발표할 계획이였는데요.
새로운 분들이 오신다는 소식을 듣고, 조금이나마 도움이 될 만한 주제로 바꾸게되었습니다.
그럼 발표 시작하겠습니다.
#3:저는 C++을 좋아하는 개발자입니다. 현재 회사에서 그래픽스엔진위에서 2d 3d cad 기능 개발 및 유지보수 업무를 맡고 있고요. 경력은 많지않은 초보 개발자 입니다. ㅎ
#4:그럼 간략하게 이 발표로 여러분이 얻어 갔으면 하는 것에 대해 언급해 보겠습니다.
첫번째로 오픈소스에 대한 관심도를 높이는 것, 그리고 앞으로 어떤 것을 공부해야 개발자로써 성장할 수 있는지 방향을 제시해드리고 싶습니다.
이것은 저에게도 해당되는 내용입니다.
#6:우선 간략하게 오픈소스가 무엇인지부터 알고 갈게요.
혹시 오픈소스에대해 조금이라도 들어보신분 계신가요?
사실 개발자라면 누구나 오픈소스를 사용해본적이 있을 겁니다.
그만큼 개발자에게는 굉장히 중요한 자원인데요. 쉽게 설명하자면 누구나 쓸수있는 공개된 코드를 말합니다.
#7:그렇다면 제가 오픈소스로 공부하는 것을 추천하는 이유에대해 말씀드리겠습니다.
오픈소스는 이전에 설명한대로 국경과 인종, 나이를 불문하고 누구에게나 열려있는 프로젝트입니다.
누구나 원하면 프로젝트에 참여해서 직접 개발을 할 수 있죠.
그리고 전세계에 있는 실력있는 개발자들로부터 코드리뷰라는 무료 과외를 받을 수 있습니다. 대부분의 잘 관리되는 오픈소스는
내가짠 코드를 누군가 직접 보고, 피드백을 해주는 시스템을 갖추고 있습니다. 이는 틀린 부분에대해서는 지적을 받고, 모르는 것이 있으면
질문을 하며 소통하는 것이라 생각하면 됩니다. 무룝니다!
또한 잘관리된 문서를 제공해서 이 프로젝트가 어떤 프로젝트인지 이해할수있도록 도와줍니다. 맨땅에 해딩을 할 필요가 없는 거죠.
또한 이 과정들을 통해 스스로 학습하고 성장할 수 있는 능력을 가지게 됩니다.! 그리고 재밌고, 영어공부도 할 수 있어요!
#8:제가 오픈소스가 재밌다고 느끼는 이유는 다음과 같습니다.
무엇보다도 하고 싶은 개발에 참여할 수 있습니다. 어떤 프로젝트에 참여하든 내가 실력없다고 못하게 막지도 않습니다.
그저 내가 관심있고, 하고싶은 프로젝트를 찾아 참여하면 됩니다.
누구나 그렇듯 하고 싶은 걸 하면 재미를 느끼고, 더 열정적으로 참여하게 되죠. 그러면 자연스레 실력도 상승하고,
전세계 개발자와 소통을 하며 성장하는 재미를 느낄 수 있습니다. 또한 취업이 도움이 되요!
#10:이렇게 오픈소스관련 경험을 우대하는 이유는 뭘까요?
제가 직접 경험해보니, 오픈소스활동자체가 회사에 신입, 또는 새로운 팀원으로 들어갔을 때 하는 일과 거의 99% 일치하기 떄문입니다.
새로운 회사에 적응하기 위해서는 사회적 능력도 중요하지만, 기본적으로 개발자라면 기존에 개발하고 있는 프로젝트를 빠르게 이해하는 능력이 중요합니다.
그때 필요한 능력은 코드 분석 능력, 문서를 읽는 능력, 그리고 다른 개발자와 소통하는 능력입니다.
그리고 성장가능성이 높다고 판단합니다. 이유는 개발에 관심을 가지고 스스로 성장하는 능력이 보이기 떄문
#11:그렇다면 이렇게 좋은 오픈소스를 어떻게 시작하면 좋을 까요?
링크를 따라 들어가면 제가 이전에 블로그에 상세하게 적어둔 글이 있습니다. 아직 부족한 점이 있어서 2부도 쓰고 있으니 기대하셔도 좋습니다 ㅎㅎ.
그리고 오픈소스에 기여하기전에 오픈기여하는 것부터 시작하지않고, 직접 오픈소스를 만들어서 기여를 받아보며 시작했습니다.
#12:제가 지금까지는 장점만나열했지만.. 사실 오픈소스 입문은 생각 보다 진입장벽이 높은게 사실입니다.
우선 유명한 오픈소스는 코드가 정말 정말 방대합니다. 백만줄이 훨씬 넘는 엄청난 규모의 오픈소스도 많아요.
그런 프로젝트를 공부하는 것은 끈기가 없으면 절대 불가능 합니다. 그리고 문서대부분이 영어이기때문에 언어적 장벽도 존재합니다.
그래서 무엇보다 중요한 것은 좋아하는 프로젝트를 골라야합니다. 그래야 끈기있게 공부하고 재미를 느끼며 파고 들수 있어요.
그리고 이건 단순한 취미이기때문에 하다가 맘에 안들면 다른 프로젝트로 넘어가도됩니다. 그래도 최소 몇 달은 끈기있기 해보는게 중요하죠