본문 바로가기

개발/프로그래머스 데브코스

프로그래머스 데브코스 64일차 with. TS 웹 풀스택

📚요약

지난 시간에 이어 마지막으로 오픈 소스를 활용해 채용에 어필하는 방법과 저작자에 대해 공부하겠습니다.

 

📖Open Source

📄채용

오픈 소스에 기여하고, 오픈 소스를 만드는 이유는 필요하기 때문에 만들겠지만, 이를 본인의 커리어로 활용할 수도 있습니다. 입사 지원을 할 때 어필할 수 있는 부분을 알아보겠습니다.

  • 협업 : 팀 프로젝트를 진행하는 것 말고 오픈 소스를 참여하거나 운영하게 되면 글로벌하게 협업을 경험해 볼 수 있습니다.
  • 프로젝트 문해력(이해력) : 프로젝트의 전반적인 코드뿐만 아니라 흐름, 앞으로의 방향 등 여러 내용을 경험하기 때문에 프로젝트 전체에 대한 이해력이 높아집니다
  • 코드 분석을 통한 구현력 상승 : 오픈 소스는 다양한 사람들이 참여하는 만큼 다양한 방식으로 구현될 수 있습니다. 해당 코드들을 보게 되면 본인의 구현 능력까지 상승하게 됩니다.
  • 개발 문화 안에서 본인의 성장 경험을 얻어갈 수 있습니다.
  • 다양한 직군으로 어필 가능 : 프로젝트를 전반적으로 이해해야 하기 때문에 개발자뿐만 아니라 다양한 직군으로 지원할 때도 도움이 됩니다.
  • 슈퍼 유저의 시선 : 참여하기 위해 프로젝트를 분석하다 보면 다양한 사용 방법을 알게 될 것이고, 일반 유저가 아닌 기능을 능숙하게 잘 사용하는 유저 즉, 슈퍼 유저의 시선을 가질 수 있습니다.

📄오픈 소스 저작자

지금까지는 어떻게 참여하고 기여하는지에 대해서 알아봤습니다. 마지막으로 저작자가 될 수 있는 방법을 알아보겠습니다.

  1. 기존 오픈 소스를 Fork 해 원하는 기능을 추가해서 사용하기
    : 해당 방법은 현재 본인에게 필요한 기능이지만 프로젝트 전체의 흐름상 필요하지 않아 컨트리뷰션이 받아지지 않았을 때를 가정하는 것입니다.
  2. 기존 프로젝트에 라이선스 추가하기
    : 기존에 개발해 두었던 프로젝트가 있다면 이번 기회에 라이선스를 추가하고 오픈 소스로 바꿔볼 수 있습니다.
  3. 완전 새로 시작하기

📑저작자가 확인해야 할 체크리스트

오픈 소스는 다양한 부분에서 확인할 것들이 많습니다.

  • 개인
    • Readme 파일 : OSS(오픈 소스 소프트웨어)의 목적과 사용 방법을 적습니다.
    • Contributing 파일 : 컨트리뷰팅에 대한 가이드를 적습니다.
    • LICENSE : 오픈 소스라고 하기 위해서 필수적입니다.
    • 프로젝트 이름 : 프로젝트 이름은 목적을 분명하게 나타내주면 좋고, 문제가 생길 수 있는 이름은 피해야 합니다.
    • 코드 : 코드가 공개되어 있는 만큼 이해하기 쉽게 주석을 추가하고, 데드 코드는 삭제해야 합니다. 또한 개인 정보가 들어가 있는 건 아닌지 확인이 필요합니다.
  • 회사
    • 법적문제 자문 : 규모가 커질수록 법적으로 문제가 발생하면 피해도 커지기 때문에 자문을 구해야 합니다.
    • 담당자 추가 : 담당자를 추가해 꾸준히 관리하는 것도 좋습니다.
    • 가오픈(선공개) : 회사 내에서 미리 시행해 보고 오픈 소스로 오픈하는 것 또한 방법이 될 수 있습니다.

📑금융권에서 사용되는 체크리스트

금융권은 문제가 생기면 많은 사람들에게 피해가 갈 뿐 아니라 문제가 돈이 걸린 문제기 때문에 좀 더 자세한 체크리스트가 있습니다.

  • 개발 전
    • 사전 기능 & 보안성 테스트 : 사용하려는 오픈 소스가 기능과 보안에 문제가 없는지 자체적으로 확인하거나 외부에 맡겨 확인합니다.
    • 라이선스 검토 : 사용하려는 오픈 소스의 라이선스를 확인해야 합니다.
  • 개발 중
    • 취약점 최소화 : 개발하는 도중 문제가 발견된 경우 최대한 문제가 발생하지 않도록 해야 합니다.
    • 대체 수단 확보 : 오픈 소스가 문제가 생길 수 있기 때문에 오픈 소스를 사용하지 않더라도 동작할 수 있도록 예비 수단이 있어야 합니다.
    • 자체 대응 및 추가 개발 역량 확보 : 내부에서 오픈 소스를 대신할 것을 개발할 수 있는 역량이 있어야 합니다.
  • 개발 후
    • 모니터링 : 완벽한 프로젝트는 없기 때문에 항상 문제가 발생하지 않는지 확인해야 합니다. 특히 보안 부분에 있어 새로운 소식이 나오면 항상 확인하고 수정해야 할 부분이 있는지 확인해야 합니다.
    • 오픈 소스 종속성 검사 : 오픈 소스 내에서 다른 오픈 소스를 사용하는 경우(오픈 소스 종속성)가 있어 내부 라이선스까지 자세히 확인해야 합니다.
    • 기능 및 보안성 테스트 : 사람이 할 수도 있지만 자동화 검사를 통해 최대한 문제가 발생하지 않도록 테스트합니다.

 

다음 시간에 계속...

 

출처 & 참고

김송아 강사님의 강의