Nguồn mở tại Expedia Group - Hậu trường

Mar 22 2022
Mở rộng quy mô mã nguồn mở với các công cụ và quy trình đơn giản hóa
Tại Expedia Group ™ ️, chúng tôi đã thành lập một nhóm những người đam mê mã nguồn mở, những người giúp nhân viên phát hành các dự án ra công chúng. Trong vài năm qua, chúng tôi đã phát hành một số dự án nội bộ lên github của mình.
Ảnh của Florian Wehde trên Unsplash.

Tại Expedia Group ™ ️, chúng tôi đã thành lập một nhóm những người đam mê mã nguồn mở, những người giúp nhân viên phát hành các dự án ra công chúng. Trong vài năm qua, chúng tôi đã phát hành một số dự án nội bộ cho tổ chức github.com của chúng tôi . Các quy trình từng là tẻ nhạt nay đã được sắp xếp hợp lý để cho phép chúng tôi tiến bộ nhanh chóng.

Bài đăng trên blog này cung cấp một bản tóm tắt về các quy trình và tài nguyên có thể hữu ích để thực hiện nguồn mở trên quy mô lớn.

Một chút về lịch sử

Styx, một proxy ngược cho JVM, là một trong những dự án đầu tiên của Expedia Group.

Tập đoàn Expedia ️ đã phát triển thông qua hoạt động mua bán và sáp nhập (M&A). Các thương hiệu khác nhau đã sử dụng hệ thống công nghệ của riêng họ, duy trì các tổ chức github.com của riêng họ và đang sử dụng các quy trình của riêng họ cho phần mềm tìm nguồn mở.

Trên thực tế, một trong những dự án đầu tiên do công ty cung cấp nguồn mở là Styx , một proxy ngược cho JVM. Vào thời điểm đó, chúng tôi không có quy trình chung để phát hành dự án lên GitHub công khai và phải mất gần một năm để có được các phê duyệt cần thiết và phát hành dự án cho cộng đồng.

Nghe có vẻ rất thú vị, nhưng nó đã tạo động lực cho các kỹ sư của chúng tôi. Khi điểm nghẽn là các quy trình, hoặc thiếu chúng, bạn biết mình phải cải thiện.

Quy trình phát hành mã nguồn mở do GitHub cung cấp

Quy trình dựa trên GitHub dành cho các dự án nội bộ tìm nguồn cung ứng mở.

Một thành viên trong nhóm của chúng tôi đã có một ý tưởng tuyệt vời: điều gì sẽ xảy ra nếu chúng tôi sử dụng GitHub cho bất kỳ bài gửi mã nguồn mở nào?

Chủ sở hữu của một dự án được phát hành sẽ đưa ra Yêu cầu kéo (PR) trong một kho lưu trữ sẽ được sử dụng cho các bài gửi và sẽ được nhóm của chúng tôi giám sát. Bài PR sẽ bao gồm một bài giải thích kinh doanh ngắn và một liên kết đến kho lưu trữ nội bộ của nó.

Sau đó, PR sẽ được chọn bởi một trong những nhà vô địch mã nguồn mở của chúng tôi, người sẽ quản lý nó trong suốt quá trình.

Các nhãn sẽ được sử dụng cho từng giai đoạn (xem xét kỹ thuật, xem xét bảo mật, xem xét pháp lý) và Dự án GitHub sẽ cho phép chúng tôi di chuyển các dự án qua các giai đoạn khác nhau. Ngoài ra, thay vì liên lạc với các bên liên quan qua email, Nhóm GitHub sẽ cho phép chúng tôi gắn thẻ họ và thêm họ làm người đánh giá.

GitHub Dự án theo dõi các bài nộp mã nguồn mở.

Chúng tôi đã thiết lập quy trình trên 2 năm trước và sau một số lần lặp lại, chúng tôi đã đạt đến thời điểm mà các dự án mới có nguồn gốc mở trong vài ngày chứ không phải vài tháng.

Kinh nghiệm trên đường cho các dự án mới

Mẫu GitHub cho các dự án mã nguồn mở mới.

Quá trình cho đến nay sẽ đảm bảo trải nghiệm suôn sẻ cho đến thời điểm các nhóm nhận được sự chấp thuận cuối cùng để phát hành dự án của họ. Tuy nhiên, vẫn còn nhiều việc phải làm sau khi phát hành một dự án.

Để đảm bảo mọi tệp được yêu cầu đều có trong kho lưu trữ github.com, chúng tôi cung cấp mẫu mà các nhóm có thể sử dụng. Mẫu bao gồm một tập hợp các tệp làm cho kho lưu trữ tuân thủ theo quan điểm pháp lý và bảo mật, và thân thiện với mã nguồn mở.

Để giúp cuộc sống của các kỹ sư của chúng tôi dễ dàng hơn và tránh chi phí bảo trì, tổ chức github.com của chúng tôi được định cấu hình theo cách cho phép chúng tôi kiểm soát tập trung các cài đặt như tích hợp hoặc thông tin đăng nhập mà các nhóm có thể sử dụng.

Khả năng hiển thị và sự chấp nhận

Trang web mã nguồn mở của Tập đoàn Expedia.

Mặc dù chúng tôi chưa làm được gì nhiều trong không gian đó, nhưng chúng tôi có một loạt các phương pháp giúp tăng khả năng hiển thị và sử dụng các dự án của mình.

Đầu tiên, chúng tôi sử dụng Chủ đề trong kho lưu trữ của mình để cải thiện khả năng khám phá.

Chúng tôi cũng khuyến khích các chủ sở hữu dự án viết một bài đăng trên blog khi họ mở nguồn dự án của mình hoặc ngay cả khi họ xuất bản một bản phát hành chính mới.

Để quảng cáo các dự án của chúng tôi (nhưng cũng là một cách thú vị để tìm hiểu các công nghệ front-end nhất định ), nhóm của chúng tôi đã xây dựng một trang web giới thiệu các dự án nguồn mở phổ biến nhất của chúng tôi.

Thống kê về đóng góp cho các dự án nguồn mở

Chỉ số cộng tác viên nguồn mở xếp hạng các tổ chức thương mại theo khối lượng đóng góp của nhân viên.

Các Văn phòng Chương trình Nguồn Mở thường tìm cách theo dõi các đóng góp của nhân viên của họ. Có nhiều lý do cho việc này:

  • Nó có thể là một yêu cầu kiểm toán.
  • Nó cho phép nhóm cung cấp các số liệu cho các bên liên quan.
  • Nó tạo ra sự cạnh tranh lành mạnh giữa các nhân viên mà còn giữa các công ty với nhau.
  1. Các nhà phát triển cần sử dụng địa chỉ email của công ty họ cho các cam kết của họ. Vì GitHub cho phép nhiều địa chỉ trên mỗi hồ sơ, chúng tôi khuyên bạn nên thêm địa chỉ email công việc làm địa chỉ phụ vào hồ sơ cá nhân. Bằng cách này, nhân viên có thể sử dụng địa chỉ đó cho bất kỳ cam kết nào được thực hiện trong giờ làm việc và từ máy tính xách tay của chủ nhân của họ.
  2. Miền email của công ty phải được thêm vào danh sách được sử dụng để tạo thống kê.

Có rất nhiều chi tiết tốt cần xem xét khi làm nguồn mở với tư cách là một công ty, bao gồm giấy phép và Thỏa thuận cấp phép cộng tác viên (CLA), phân phối thông tin đăng nhập và quảng bá các dự án.

Mục tiêu cuối cùng của chúng tôi với tư cách là một nhóm là làm cho trải nghiệm suôn sẻ và khuyến khích các kỹ sư của chúng tôi đóng góp cho cộng đồng một cách an toàn.

Sự nhìn nhận

Một số lượng đáng kể các cá nhân đã đóng góp cho nhóm của chúng tôi trong những năm qua. Đặc biệt cảm ơn Daniel Albuquerque , Oltion Doda, Francesco Feltrinelli , Ronny Katzenberger , Dariusz Kuc , Trevor Livingston , Nathaniel McAuliffe , các đối tác pháp lý và an ninh của chúng tôi, cũng như Adrian Woodhead vì đã xây dựng và thúc đẩy cộng đồng này tiến lên trước khi anh ấy ra đi.

Tìm hiểu thêm về công nghệ tại Expedia Group

© Copyright 2021 - 2023 | vngogo.com | All Rights Reserved