오픈 소스 전문 개발자가 된다는 것은

오픈 소스 전문 개발자가 된다는 것은
Cozy CodingPosted On Jul 13, 20242 min read

What It's Like to Be a Professional Open-Source Developer

약 10년 동안 오픈 소스 프로젝트에 전념하며 보수를 받았습니다. 내가 일한 회사는 거의 완전히 오픈 소스에 초점을 맞추었고, GitHub에서 여러 프로젝트를 개발하고 유지하도록 보수를 받았습니다.

즉, 내 모든 작업은 공개적이었습니다. 모두가 내 커밋, 풀 리퀘스트(PR), Jira의 코멘트, 코드 리뷰를 볼 수 있었습니다. 나의 일상은 모두에게 공개되어 있었습니다.

아침에 나는 Jira 티켓을 "진행 중"으로 변경하여 방금 무언가를 시작했음을 세계에 알렸습니다.

만약 풀 리퀘스트에서 실수를 저질렀다면 누구나 볼 수 있었죠. 누군가를 고친 경우에도 공개적으로 보였습니다. 무엇에 대해 의견이 분분했다면 대화 전체가 공개되었죠.

이것을 단점으로 보지 않았어요.

지난 10년 동안의 모든 작업을 CV에 자랑할 수 있다는 것이 훌륭하다고 생각해요. 고용 매니저에게 이렇게 말할 수 있다면: "이것 좀 봐주세요." 그들은 대부분 "알겠어요, 좋네요. 하지만 보통의 6~7차 면접을 거쳐야겠네요."라고 하죠.

사실적으로 말하자면, 제 작업의 약간이 커튼 뒤에 숨겨져 있었어요. 회사 내부에서 사용된 Jira와 대중용 Jira 두 개가 있었거든요.

특정 종류의 대화는 비공개로만 허용되었습니다.

우리는 또한 GitHub의 공개 저장소를 반영하는 내부 저장소를 보유했습니다. 우리는 항상 코드를 먼저 공개 저장소에 커밋했습니다. 패치가 검토되고 병합된 후에는 해당 패치를 내부 브랜치로 체리픽했습니다.

이는 우리가 내부 브랜치에 무엇을 가지고 있는지 완전한 통제를 원했기 때문입니다. 많은 외부인들이 공개 저장소에 커밋을 할 때, 우리는 내부 브랜치와 관련된 패치(주로 우리 작업)만 체리픽했습니다. 이는 약간의 추가 작업과 중복이 추가되었지만, 과정은 반자동적이었습니다.

회사의 거의 모든 팀이 지리적으로 분산되어 있었습니다. 우리는 동기화된 미팅이 매우 적었고, 대부분의 의사소통은 디자인 문서, 풀 리퀘스트 및 지라 코멘트를 통해 비동기적으로 이루어졌습니다.

외향보다는 내향적인 성향을 가진 나로서는 그 워크플로를 매우 좋아했어요.

이 코드는 전 세계 여러 기여자들에 의해 개발된 오픈 소스 프로젝트로, 각자 다양한 배경과 선호도를 가지고 있어서 코드 품질이 다소 일관성이 없다는 특징이 있었어요. 그럼에도 불구하고, 이는 이전에 참여했던 많은 프로젝트들보다 훨씬 나은 수준이었어요.

이 회사가 오픈 소스이고 무료인 소프트웨어를 어떻게 운영하며 수익을 올리는지 궁금할 수 있어요.

그들은 구독 기반 모델에서 지원 서비스를 판매했어요. 고객이 도움을 원할 때 회사에 지원을 받기 위해 요금을 내야 했지만, 사용한 소프트웨어는 무료였죠.

그것 또한 제 업무의 일부였습니다: 소프트웨어를 개발하는 것 뿐만 아니라 직접 고객을 도와 버그를 수정하거나 설정에 문제가 무엇인지 찾아내는 업무도 했어요. 이 부분은 종종 긴급성을 요구하는 경우가 많아 가장 재미있는 일은 아니었지만, 전반적으로 오픈 소스를 개발하고 그에 대한 보상을 받는 것은 훌륭한 경험이었습니다.

이를 통해 취업 면접에서 작업 내용을 논의하고 제출한 패치를 보여 줄 수 있으며, 작업한 시스템에 대해 NDA 등의 제한 없이 모든 것을 설명할 수 있어요.

많은 오픈 소스 프로젝트가 다른 기업들에서 사용되고 있기 때문에 그 중 하나의 커미터가 되는 것은 취업 시장에서 우위를 차지할 수 있는 장점이 될 수 있어요.

여러분은 전문적으로 오픈 소스 소프트웨어를 개발해 본 적이 있나요?