Mẹo bắt đầu đóng góp cho các dự án mã nguồn mở của Ultralytics
Tìm hiểu cách đóng góp cho các dự án mã nguồn mở của Ultralytics và khám phá những mẹo hữu ích về tài liệu, đánh giá PR và sử dụng các công cụ thiết yếu.
Abirami Vina12 phút đọc
Nền tảng của phần mềm nguồn mở là sự cộng tác, học hỏi và chia sẻ. Các dự án nguồn mở là cách tuyệt vời để mọi người cùng hợp sức xây dựng những điều lớn lao hơn khả năng của mỗi cá nhân. Tại Ultralytics, chúng tôi luôn trân trọng các nguyên tắc của nguồn mở và khuyến khích bạn đóng góp cho các dự án nguồn mở của chúng tôi.
Nếu bạn hào hứng muốn đóng góp thông qua viết tài liệu, review code hoặc xử lý issue nhưng chưa biết bắt đầu từ đâu hay đang gặp khó khăn, chúng tôi sẵn sàng giúp bạn bắt đầu. Trong bài viết này, chúng tôi sẽ hướng dẫn một số mẹo để bạn bắt đầu đóng góp cho các dự án mã nguồn mở của Ultralytics.
Tầm quan trọng của các đóng góp từ cộng đồng Ultralytics#
Trước khi tìm hiểu cách đóng góp, hãy cùng trả lời câu hỏi vì sao đóng góp lại quan trọng đến vậy. Chúng tôi tin tưởng mạnh mẽ vào tầm quan trọng của những đóng góp từ cộng đồng Ultralytics. Khi tham gia các dự án mã nguồn mở, bạn không chỉ giúp chúng tôi xây dựng phần mềm tốt hơn. Người đóng góp đóng vai trò then chốt trong việc đảm bảo công nghệ của chúng tôi luôn mở, có tính cộng tác và không ngừng phát triển. Những đóng góp của bạn giúp các dự án phát triển mạnh mẽ, dễ tiếp cận và hữu ích cho người dùng cũng như nhà phát triển trên toàn thế giới!
Ngoài việc xây dựng phần mềm, đóng góp cho các dự án Ultralytics còn là cơ hội tuyệt vời để bạn phát triển bản thân. Bạn có thể trau dồi kỹ năng lập trình, giải quyết vấn đề và làm việc nhóm khi cộng tác với các nhà phát triển giàu kinh nghiệm, những người có thể hướng dẫn và chia sẻ các phương pháp hay nhất. Nỗ lực của bạn có thể tạo ảnh hưởng thực sự đến các công cụ được hàng nghìn người trên toàn cầu sử dụng. Tham gia cộng đồng cũng có thể giúp bạn mở rộng mạng lưới nghề nghiệp, tạo ra cơ hội mới và nâng cao portfolio để nổi bật hơn trong mắt nhà tuyển dụng.

Hình 1. Lý do nên đóng góp. Hình ảnh do tác giả cung cấp.
Cách bắt đầu đóng góp cho các dự án nguồn mở của Ultralytics#
Một điểm khởi đầu tuyệt vời là xem hướng dẫn đóng góp chính thức của Ultralytics. Hướng dẫn này tập hợp các phương pháp hay nhất và mẹo giúp bạn đóng góp hiệu quả. Bước đầu tiên là tìm hiểu những gì đã có trong dự án bằng cách nắm rõ hướng dẫn đóng góp, ký Thỏa thuận cấp phép cho người đóng góp (CLA) và tìm hiểu code.
Dù bạn muốn đóng góp vào quá trình phát triển hay chỉ muốn khám phá code mới nhất, bước tiếp theo là clone repository Ultralytics. Sau khi hoàn tất, bạn có thể chuyển đến thư mục dự án và cài đặt package ở chế độ editable, như minh họa trong đoạn code bên dưới.
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics
pip install -e .Nếu cần trợ giúp, hướng dẫn bắt đầu nhanh của chúng tôi có đầy đủ thông tin cần thiết để bạn bắt đầu thuận lợi.
Các lĩnh vực có thể đóng góp#
Sau khi thiết lập môi trường và làm quen với dự án, bạn có thể khám phá những lĩnh vực khác nhau để tạo ra đóng góp có ý nghĩa. Ultralytics cung cấp nhiều cách để tham gia, và bạn có thể chọn cách đóng góp phù hợp với kỹ năng cũng như sở thích của mình.
Sau đây là một số lựa chọn:
- Tài liệu: Đóng góp cho tài liệu là cách tuyệt vời để tìm hiểu sâu về dự án đồng thời trau dồi kỹ năng viết. Bạn có thể cải thiện tài liệu hiện có, bổ sung thông tin còn thiếu hoặc tạo hướng dẫn mới giúp người khác đóng góp dễ dàng hơn.
- Sửa lỗi: Nếu có kinh nghiệm lập trình, bạn có thể cân nhắc tham gia sửa lỗi. Công việc có thể bao gồm từ những điều chỉnh nhỏ đến các vấn đề phức tạp hơn, giúp bạn tạo ra tác động thiết thực cho dự án.
- Cải tiến tính năng: Với những ai sẵn sàng tìm hiểu sâu hơn, việc phát triển các cải tiến tính năng vừa là thử thách vừa mang lại nhiều thành quả. Công việc này có thể bao gồm bổ sung tính năng mới, cải thiện tính năng hiện có hoặc đóng góp vào lộ trình dự án.
- Đánh giá pull request: Đánh giá pull request là một cách đóng góp giá trị khác, đặc biệt nếu bạn đã quen thuộc với các tiêu chuẩn và phương pháp hay nhất của dự án. Bằng cách đưa ra phản hồi và đề xuất cải tiến, bạn giúp duy trì chất lượng và tính toàn vẹn của codebase.
- Thảo luận cộng đồng: Tham gia thảo luận cộng đồng là một cách tuyệt vời để đóng góp nếu bạn yêu thích hợp tác và chia sẻ ý tưởng. Hãy tham gia các cuộc trò chuyện đang diễn ra, đề xuất ý tưởng mới hoặc hỗ trợ người khác bằng cách chia sẻ góc nhìn và giải pháp của bạn.
Mỗi lĩnh vực này mang đến một cách đóng góp riêng, và bạn có thể chọn lĩnh vực phù hợp nhất với thế mạnh và sở thích của mình. Hãy nhớ rằng, mọi đóng góp, dù nhỏ đến đâu, đều đóng vai trò quan trọng trong việc giúp Ultralytics phát triển và hoàn thiện.

Hình 2. Mọi đóng góp đều được trân trọng trong cộng đồng ngày càng lớn mạnh của chúng tôi. Nguồn ảnh: Envato Elements.
Đóng góp cho tài liệu mã nguồn mở của Ultralytics#
Khi đóng góp cho tài liệu Ultralytics, hãy xem lại tài liệu hiện có và kiểm tra các vấn đề hoặc cuộc thảo luận nêu bật những phần cần cải thiện. Việc này giúp đảm bảo đóng góp của bạn tập trung vào những nơi cần thiết nhất.
Khi viết hoặc chỉnh sửa, hãy lưu ý rằng việc tuân theo hướng dẫn của dự án là yếu tố then chốt để duy trì tính nhất quán. Dưới đây là một số mẹo định dạng:
- Luôn sử dụng định dạng Markdown.
- Bắt đầu mỗi tài liệu bằng phần giới thiệu rõ ràng và sử dụng ngôn ngữ đơn giản, dễ tiếp cận.
- Dùng dấu đầu dòng cho danh sách, văn bản mô tả cho liên kết và hình ảnh có dung lượng dưới 1 MB để trang tải nhanh.
- Nếu có thắc mắc về định dạng, cách dễ dàng để kiểm tra lại là xem các tài liệu trước đây đã được định dạng như thế nào.

Hình 3. Ví dụ về định dạng Markdown (bên trái) và tài liệu được hiển thị hoàn chỉnh (bên phải). Ảnh của tác giả.
Sau khi hoàn thành bản nháp, bạn nên xem trước bằng cách build tài liệu trên máy cục bộ. Nhờ đó, bạn có thể phát hiện vấn đề trước khi gửi. Để thực hiện, trước tiên hãy clone repository và chuyển đến thư mục dự án:
git clone https://github.com/ultralytics/ultralytics.git
cd ultralyticsTiếp theo, bạn có thể cài đặt các dependency cần thiết:
pip install -e ".[dev]"Cuối cùng, hãy build tài liệu và chạy cục bộ để review các thay đổi:
python docs/build_docs.py
python -m http.server --directory siteBạn có thể xem tài liệu đã build cục bộ bằng cách truy cập http://127.0.0.1:8000/ trong trình duyệt web.
Sau khi xem lại độ rõ ràng, tính chính xác và nhất quán, bạn có thể gửi pull request kèm mô tả rõ ràng về tài liệu mình đã tạo. Hãy đặt tài liệu vào mục phù hợp nhất với nội dung và vị trí của tài liệu (hướng dẫn, giải pháp, tích hợp, v.v.). Ngoài ra, hãy xem file index.md để xác định các mục liên quan và file mkdocs.yml tổng thể, rồi cập nhật khi cần. Chú ý đến chi tiết sẽ giúp quá trình review diễn ra suôn sẻ và đảm bảo đóng góp của bạn được tích hợp tốt vào dự án.
Những điều cần lưu ý khi đóng góp code mã nguồn mở#
Khi đóng góp code cho dự án Ultralytics, điều quan trọng là tuân thủ các phương pháp hay nhất để đảm bảo code sạch, dễ bảo trì và dễ tích hợp. Sau đây là một số điểm chính cần lưu ý:
- Tránh trùng lặp code: Tái sử dụng code hiện có bất cứ khi nào có thể và hạn chế các tham số không cần thiết.
- Thực hiện các thay đổi nhỏ, tập trung: Ưu tiên các thay đổi nhỏ, có mục tiêu rõ ràng thay vì những sửa đổi lớn.
- Đơn giản hóa hoặc loại bỏ code: Tìm cơ hội đơn giản hóa code hoặc loại bỏ những phần không cần thiết.
- Viết docstring hiệu quả: Giải thích rõ code của bạn làm gì và liên kết đến các tài nguyên liên quan.
- Tránh dependency không cần thiết: Chỉ thêm dependency khi thực sự cần thiết.

Hình 4. Các phương pháp hay nhất về tài liệu mã nguồn.
Điều quan trọng nữa là phải cân nhắc khả năng bảo trì lâu dài của codebase. Trước khi thực hiện bất kỳ thay đổi nào, hãy tự hỏi liệu những sửa đổi đó có thể làm hỏng code hiện có của người dùng Ultralytics hay không. Nếu có, hãy cân nhắc cách khắc phục và đảm bảo các thay đổi tương thích hết mức có thể.
Sau khi phát triển xong đoạn code muốn đóng góp, bạn cần kiểm thử đoạn code đó. Bạn có thể dùng các framework như pytest để kiểm thử thay đổi trước khi gửi. Định dạng code nhất quán cũng là một khía cạnh rất quan trọng trong phần đóng góp của bạn. Các công cụ như Ruff có thể giúp duy trì phong cách code nhất quán và phát hiện các lỗi phổ biến hoặc điểm không nhất quán trong code.
Đánh giá pull request#
Đánh giá pull request (PR) là một cách đóng góp tuyệt vời! PR được tạo khi ai đó yêu cầu merge các thay đổi của họ vào dự án chính. Việc này giúp dự án Ultralytics vận hành suôn sẻ. Khi review PR, hãy đảm bảo bạn hiểu lý do thực hiện các thay đổi. Tác giả cần giải thích rõ mục đích và lợi ích của bản cập nhật, đồng thời PR cần có bằng chứng cho thấy quá trình kiểm thử đã được thực hiện kỹ lưỡng.

Hình 5. Pull request là gì?
Hãy cùng điểm qua một số nội dung chính cần tập trung.
- Kiểm tra unit test: Kiểm tra xem PR có bao gồm các test cho tính năng mới hoặc thay đổi hay không để xác nhận code hoạt động như mong đợi và không phát sinh vấn đề.
- Review các cập nhật tài liệu: Xác minh tài liệu đã được cập nhật để phản ánh các thay đổi hoặc tính năng mới, bao gồm ví dụ, tham chiếu API và các chi tiết liên quan khác.
- Đánh giá tác động đến hiệu năng: Cân nhắc các thay đổi ảnh hưởng đến hiệu năng như thế nào. Nếu cần, hãy yêu cầu benchmark hiệu năng hoặc kiểm thử bổ sung.
- Xác minh các bài test CI: Đảm bảo tất cả bài test Tích hợp liên tục (CI) đều đạt, bao gồm các bước kiểm tra định dạng code và kết quả unit test.
- Phối hợp khắc phục lỗi: Nếu có bài test nào thất bại, hãy phối hợp với tác giả để giải quyết vấn đề trước khi phê duyệt PR.
Với tư cách reviewer, hãy đưa ra phản hồi cụ thể và rõ ràng về mọi vấn đề hoặc mối quan ngại. Đề xuất cách cải thiện và đặt câu hỏi giúp tác giả suy nghĩ thấu đáo về các vấn đề tiềm ẩn. Khuyến khích tác giả tuân thủ các phương pháp hay nhất về lập trình, kiểm thử và tài liệu; đồng thời đừng ngần ngại giới thiệu những tài nguyên hữu ích. Cuối cùng nhưng không kém phần quan trọng, hãy luôn ghi nhận nỗ lực mà tác giả đã bỏ ra cho PR. Phản hồi tích cực giúp duy trì bầu không khí thân thiện và hợp tác trong cộng đồng mã nguồn mở.
Đóng góp là vì cộng đồng#
Đóng góp cho các dự án mã nguồn mở như Ultralytics có thể mang lại cho bạn cảm giác gắn kết cộng đồng đầy cảm hứng. Dù viết code, review PR, cập nhật tài liệu hay tham gia thảo luận, mọi nỗ lực đều giúp dự án phát triển và tiến hóa. Trả lời issue hoặc tham gia trò chuyện trên GitHub, Discord, Reddit hoặc các diễn đàn khác là cách hữu ích để đóng góp và kết nối với mọi người. Hãy nhớ rằng, dù nhỏ đến đâu, đóng góp của bạn vẫn tạo ra ảnh hưởng đáng kể và góp phần xây dựng môi trường cộng tác, hỗ trợ lẫn nhau cho tất cả mọi người!
Tại Ultralytics, chúng tôi đam mê thúc đẩy đổi mới trong cộng đồng mã nguồn mở. Hãy cập nhật những phát triển mới nhất của chúng tôi bằng cách truy cập repository GitHub. Tham gia cộng đồng sôi nổi của chúng tôi và khám phá cách chúng tôi tạo ảnh hưởng trong các ngành như nông nghiệp và sản xuất.
Được viết bởi
Bình luận
Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.










