Expedia Group의 오픈 소스 — 비하인드 스토리

Mar 22 2022
도구와 간소화된 프로세스로 오픈 소스 확장
Expedia Group™ ️에서는 직원들이 프로젝트를 대중에게 공개하는 데 도움을 주는 오픈 소스 애호가 그룹을 구성했습니다. 지난 몇 년 동안 우리는 github에 여러 내부 프로젝트를 출시했습니다.
Unsplash에서 Florian Wehde의 사진.

Expedia Group™ ️에서는 직원들이 프로젝트를 대중에게 공개하는 데 도움을 주는 오픈 소스 애호가 그룹을 구성했습니다. 지난 몇 년 동안 우리는 github.com 조직 에 여러 내부 프로젝트를 발표했습니다 . 지루했던 프로세스를 간소화하여 빠르게 진행할 수 있습니다.

이 블로그 게시물은 대규모 오픈 소스를 수행하는 데 유용할 수 있는 프로세스 및 리소스에 대한 요약을 제공합니다.

약간의 역사

JVM의 역방향 프록시인 Styx는 Expedia Group의 첫 번째 프로젝트 중 하나였습니다.

Expedia Group ️은 인수합병(M&A)을 통해 진화했습니다. 다양한 브랜드가 자체 기술 스택을 사용하고, 자체 github.com 조직을 유지하고, 오픈 소싱 소프트웨어에 자체 프로세스를 사용하고 있었습니다.

사실 이 회사에서 오픈 소스로 공개한 최초의 프로젝트 중 하나는 JVM의 역 프록시인 Styx 였습니다. 그 당시 우리는 공개 GitHub에 프로젝트를 릴리스하는 공통 프로세스가 없었고 필요한 승인을 받고 커뮤니티에 프로젝트를 릴리스하는 데 거의 1년이 걸렸습니다.

재미있긴 하지만 우리 엔지니어들에게는 의욕이 꺾였습니다. 병목 현상이 프로세스이거나 프로세스의 부재인 경우 개선해야 한다는 것을 알고 있습니다.

GitHub에서 제공하는 오픈 소스 릴리스 프로세스

오픈 소싱 내부 프로젝트를 위한 GitHub 기반 프로세스입니다.

우리 그룹의 한 구성원은 기발한 아이디어를 가지고 있었습니다. 오픈 소스 제출에 GitHub를 사용한다면 어떨까요?

릴리스될 프로젝트의 소유자는 제출에 사용되고 우리 그룹에서 모니터링할 저장소에서 풀 요청(PR)을 제기할 것입니다. PR에는 간단한 비즈니스 근거와 내부 저장소에 대한 링크가 포함됩니다.

그런 다음 PR은 프로세스를 통해 관리할 우리의 오픈 소스 챔피언 중 한 명을 선택합니다.

레이블은 각 단계(기술 검토, 보안 검토, 법률 검토)에 사용되며 GitHub 프로젝트를 통해 프로젝트를 여러 단계로 이동할 수 있습니다. 또한 이메일을 통해 이해 관계자와 의사 소통하는 대신 GitHub Teams를 통해 태그를 지정하고 검토자로 추가할 수 있습니다.

GitHub 프로젝트 추적 오픈 소스 제출.

우리는 2년 전에 위의 프로세스를 설정했으며 여러 번 반복한 끝에 몇 달이 아닌 며칠 만에 새 프로젝트를 오픈 소스화하는 지점에 도달했습니다.

새로운 프로젝트를 위한 온로드 경험

새로운 오픈 소스 프로젝트를 위한 GitHub 템플릿.

지금까지의 프로세스는 팀이 프로젝트 릴리스에 대한 최종 승인을 받는 지점까지 원활한 경험을 보장합니다. 그러나 프로젝트를 출시한 후에도 해야 할 일이 있습니다.

필요한 파일이 github.com 리포지토리에 있는지 확인하기 위해 팀에서 사용할 수 있는 템플릿 을 제공합니다. 템플릿에는 법적 및 보안 관점에서 리포지토리를 준수하고 오픈 소스 친화적으로 만드는 파일 세트가 포함되어 있습니다.

엔지니어의 삶을 더 쉽게 만들고 유지 관리 오버헤드를 피하기 위해 github.com 조직은 팀이 사용할 수 있는 통합 또는 자격 증명과 같은 설정을 중앙에서 제어할 수 있는 방식으로 구성되었습니다.

가시성 및 채택

익스피디아 그룹의 오픈 소스 웹사이트.

그 분야에서 많은 일을 하지는 않았지만 가시성과 프로젝트 활용도를 높이는 데 도움이 되는 일련의 관행이 있습니다.

첫째, 검색 가능성을 향상시키는 저장소에서 주제 를 사용합니다.

또한 프로젝트 소유자가 프로젝트를 오픈 소스로 공개하거나 새로운 주요 릴리스를 게시할 때에도 블로그 게시물을 작성하도록 권장합니다.

우리 프로젝트를 광고하기 위해(또한 특정 프론트 엔드 기술을 배우는 재미있는 방법으로 ), 우리 팀은 가장 인기 있는 오픈 소스 프로젝트를 보여주는 웹사이트 를 만들었습니다.

오픈 소스 프로젝트에 대한 기여에 대한 통계

Open Source Contributor Index는 직원의 기여도에 따라 상업 조직의 순위를 매깁니다.

오픈 소스 프로그램 사무실 은 직원의 기여도를 추적하는 방법을 찾는 것이 일반적입니다 . 여기에는 여러 가지 이유가 있습니다.

  • 감사 요구 사항 일 수 있습니다.
  • 이를 통해 팀은 이해 관계자에게 메트릭을 제공할 수 있습니다.
  • 그것은 직원들 간의 건전한 경쟁뿐만 아니라 회사 간의 건전한 경쟁을 만듭니다.
  1. 개발자는 커밋에 회사의 이메일 주소를 사용해야 합니다. GitHub는 프로필당 여러 주소를 허용하므로 직장 이메일 주소를 개인 프로필에 보조 주소로 추가하는 것이 좋습니다. 이 방법으로 직원은 근무 시간 동안 및 고용주의 랩톱에서 수행된 모든 커밋에 해당 주소를 사용할 수 있습니다.
  2. 통계를 생성하는 데 사용되는 목록 에 회사의 이메일 도메인을 추가해야 합니다 .

라이선스 및 CLA(기여자 라이선스 계약), 자격 증명 배포 및 프로젝트 홍보를 포함하여 회사에서 오픈 소스를 수행할 때 고려해야 할 세부 사항이 상당히 많습니다.

그룹으로서 우리의 궁극적인 목표는 경험을 원활하게 만들고 엔지니어가 안전한 방식으로 커뮤니티에 기여할 수 있도록 격려하는 것입니다.

감사의 말

상당한 수의 개인이 수년 동안 우리 그룹에 기여했습니다. Daniel Albuquerque , Oltion Doda , Francesco Feltrinelli , Ronny Katzenberger , Dariusz Kuc , Trevor Livingston , Nathaniel McAuliffe , 법률 및 보안 담당자, 그리고 떠나기 전에 이 커뮤니티를 구축하고 추진해 준 Adrian Woodhead에게 특별한 감사를 전합니다.

Expedia Group에서 기술에 대해 자세히 알아보기