Bazel tổ chức các Nhóm quan tâm đặc biệt (SIG) để tập trung cộng tác trên các lĩnh vực cụ thể cũng như hỗ trợ việc giao tiếp và điều phối giữa chủ sở hữu, người duy trì và cộng tác viên Bazel. Chính sách này áp dụng cho bazelbuild
.
Các SIG làm việc công khai. Phạm vi lý tưởng cho một SIG bao gồm một miền được xác định rõ ràng, trong đó phần lớn sự tham gia là từ cộng đồng. SIG có thể tập trung vào các kho lưu trữ do cộng đồng duy trì trong bazelbuild
(chẳng hạn như quy tắc ngôn ngữ) hoặc tập trung vào các khu vực mã trong kho lưu trữ Bazel (chẳng hạn như Thực thi từ xa).
Mặc dù không phải SIG nào cũng có cùng mức độ năng lượng, phạm vi rộng lớn hoặc mô hình quản trị, nhưng phải có đủ bằng chứng cho thấy có các thành viên trong cộng đồng sẵn sàng tham gia và đóng góp nếu nhóm quan tâm được thành lập. Trước khi tham gia, hãy xem lại công việc của nhóm, sau đó liên hệ với trưởng nhóm SIG. Chính sách về tư cách thành viên sẽ khác nhau tuỳ theo SIG.
Xem danh sách đầy đủ các SIG của Bazel.
Không phải mục tiêu: Những điều SIG không phải là
SIG nhằm tạo điều kiện cộng tác trên công việc chung. Do đó, SIG là:
- Không phải là diễn đàn hỗ trợ: danh sách gửi thư và SIG không phải là một
- Không bắt buộc ngay lập tức: ở giai đoạn đầu của dự án, bạn có thể không biết mình có chia sẻ công việc hoặc cộng tác viên hay không
- Không phải lao động tự do: cần có năng lượng để phát triển và điều phối công việc một cách cộng tác
Chủ sở hữu Bazel sử dụng phương pháp thận trọng để tạo SIG – nhờ việc dễ dàng bắt đầu dự án trên GitHub, có nhiều cách để cộng tác mà không cần SIG.
Vòng đời SIG
Phần này trình bày cách tạo SIG.
Nghiên cứu và tư vấn
Để đề xuất một nhóm SIG mới, trước tiên, hãy thu thập bằng chứng để được phê duyệt như được chỉ định bên dưới. Bạn có thể cân nhắc một số cách sau:
- Một vấn đề hoặc một nhóm vấn đề được xác định rõ ràng mà nhóm sẽ giải quyết
- Tham khảo ý kiến của những thành viên trong cộng đồng sẽ được hưởng lợi, đánh giá cả lợi ích và mức độ sẵn sàng cam kết của họ
- Đối với các dự án hiện có, bằng chứng từ các vấn đề và thông cáo báo chí cho thấy rằng cộng tác viên quan tâm đến chủ đề này
- Mục tiêu tiềm năng mà nhóm có thể đạt được
- Yêu cầu về tài nguyên để chạy nhóm
Ngay cả khi nhu cầu về một SIG có vẻ hiển nhiên, thì việc nghiên cứu và tham khảo ý kiến vẫn đóng vai trò quan trọng đối với sự thành công của nhóm.
Tạo nhóm mới
Nhóm mới phải tuân theo quy trình dưới đây để đặt vé. Cụ thể, tài liệu này phải minh hoạ:
- Mục đích và lợi ích rõ ràng đối với Bazel (dành cho một dự án phụ hoặc phạm vi ứng dụng)
- Có hai hoặc nhiều cộng tác viên sẵn sàng làm trưởng nhóm, có sự hiện diện của các cộng tác viên khác và có bằng chứng về nhu cầu đối với nhóm
- Mỗi nhóm cần sử dụng ít nhất một danh sách gửi thư có thể truy cập công khai. Một SIG có thể sử dụng lại một trong các danh sách công khai, chẳng hạn như bazel-discuss, yêu cầu danh sách cho @bazel.build hoặc tạo danh sách của riêng họ
- Các tài nguyên mà SIG yêu cầu ban đầu (thường là danh sách gửi thư và cuộc gọi video thông thường).
- SIG có thể phân phát tài liệu và tệp từ thư mục của họ trong
bazelbuild/community
hoặc từ kho lưu trữ của riêng họ trong tổ chức GitHubbazelbuild
. SIG có thể liên kết đến các tài nguyên bên ngoài nếu họ chọn sắp xếp công việc bên ngoài tổ chức GitHubbazelbuild
- Chủ sở hữu Bazel phê duyệt hoặc từ chối các ứng dụng SIG và tham khảo ý kiến của các bên liên quan khác nếu cần
Trước khi bắt đầu các phần chính thức của quy trình, bạn nên tham khảo ý kiến của nhóm sản phẩm Bazel theo địa chỉ product@bazel.build. Hầu hết các SIG đều yêu cầu thảo luận và lặp lại trước khi phê duyệt.
Bạn có thể gửi yêu cầu chính thức cho nhóm mới bằng cách gửi bản điều lệ dưới dạng PR đến bazelbuild/community
, đồng thời đưa yêu cầu đó vào phần nhận xét về PR theo mẫu bên dưới. Sau khi được phê duyệt, yêu cầu thay đổi đối với nhóm sẽ được hợp nhất và các tài nguyên cần thiết sẽ được tạo.
Yêu cầu mẫu cho SIG mới
Để yêu cầu một SIG mới, hãy sử dụng mẫu trong kho lưu trữ cộng đồng: SIG-request-template.md.
Thuê tàu
Để thành lập một nhóm, bạn cần có điều lệ và phải tuân thủ nguyên tắc ứng xử của Bazel. Bản lưu trữ của nhóm sẽ ở chế độ công khai. Tư cách thành viên có thể được mở cho tất cả mọi người mà không cần phê duyệt hoặc được cấp theo yêu cầu, đang chờ quản trị viên nhóm phê duyệt.
Điều lệ phải đề cử một quản trị viên. Ngoài quản trị viên, nhóm phải có ít nhất một người làm trưởng nhóm (có thể là cùng một người), người này đóng vai trò là đầu mối liên hệ để điều phối theo yêu cầu với nhóm sản phẩm Bazel.
Nhà sáng tạo nhóm phải đăng điều lệ của nhóm lên danh sách gửi thư của nhóm. Kho lưu trữ cộng đồng trong tổ chức GitHub của Bazel lưu trữ các tài liệu và chính sách như vậy. Khi các nhóm phát triển các phương pháp và quy ước, họ nên cập nhật điều lệ trong phần liên quan của kho lưu trữ cộng đồng.
Cộng tác và hoà nhập
Mặc dù không bắt buộc, nhưng nhóm nên chọn sử dụng tính năng cộng tác thông qua các cuộc gọi hội nghị theo lịch hoặc kênh trò chuyện để tổ chức cuộc họp. Mọi cuộc họp như vậy đều phải được quảng cáo trên danh sách gửi thư và ghi chú được đăng lên danh sách gửi thư sau đó. Các cuộc họp thường xuyên giúp tăng cường trách nhiệm giải trình và tiến trình trong một SIG.
Các thành viên trong nhóm sản phẩm Bazel có thể chủ động theo dõi và khuyến khích nhóm thảo luận và hành động khi thích hợp.
Chạy SIG
Hoạt động bắt buộc:
- Thông báo cho các nhóm thảo luận chung về Bazel (bazel-discuss, bazel-dev).
Các hoạt động không bắt buộc:
- Tạo bài đăng trên blog Bazel
Tình trạng và việc chấm dứt SIG
Chủ sở hữu Bazel sẽ cố gắng hết sức để đảm bảo tình trạng của các SIG. Chủ sở hữu Bazel đôi khi yêu cầu trưởng nhóm SIG báo cáo về công việc của SIG để thông báo cho cộng đồng Bazel rộng lớn hơn về hoạt động của nhóm.
Nếu một SIG không còn mục đích hữu ích hoặc không còn cộng đồng quan tâm, thì SIG đó có thể được lưu trữ và ngừng hoạt động. Nhóm sản phẩm Bazel giữ quyền lưu trữ các SIG không hoạt động như vậy để duy trì tình trạng tổng thể của dự án, mặc dù đây là kết quả không mong muốn. Một SIG cũng có thể chọn giải tán nếu nhận thấy đã đến thời điểm kết thúc hoạt động hữu ích.
Lưu ý
Nội dung này được lấy từ hướng dẫn SIG của Tensorflow với một số sửa đổi.