10 điểm bởi GN⁺ 2024-02-15 | 6 bình luận | Chia sẻ qua WhatsApp

Đóng góp phi mã là bí quyết cho thành công của mã nguồn mở

  • Sarah Rainsberger, một giáo viên toán, ban đầu không chủ định trở thành người đóng góp tự nguyện cho mã nguồn mở, nhưng đã bắt đầu học JavaScript và phát triển web khi xây dựng lại trang web của dàn hợp xướng mà cô tham gia.
  • Trong quá trình sử dụng Astro, một framework frontend, cô đã đóng góp một mẩu mã nhỏ là tệp cấu hình cho dự án, tham gia vào cộng đồng và đảm nhận vai trò hỗ trợ những người dùng Astro mới.
  • Hiện nay Rainsberger là thành viên của nhóm bảo trì cốt lõi của Astro, nhưng không tham gia nhiều vào codebase mà chủ yếu phụ trách tài liệu và giúp người khác học Astro.

Những công việc phi mã quan trọng trong dự án mã nguồn mở

  • Ngoài việc viết mã, các dự án mã nguồn mở còn cần tài liệu hóa, bản địa hóa, marketing, thiết kế đồ họa, kiểm thử, quản lý cộng đồng và quản lý phát hành.
  • Tầm quan trọng của đóng góp phi mã là rất lớn; dự án càng phức tạp thì càng cần nhiều tài liệu, hướng dẫn và hỗ trợ hơn để biến mã thành thứ thực sự hữu ích.
  • Thiết kế đồ họa, xây dựng thương hiệu và hoạt động tiếp cận đóng vai trò như tín hiệu cho thấy mức độ lành mạnh và nghiêm túc của dự án, từ đó giúp các dự án hoặc công ty khác có thể sử dụng nó như một dependency.

Vì sao nên bắt đầu đóng góp phi mã

  • Đóng góp phi mã mang đến cơ hội xây dựng portfolio cho những người quan tâm tới các vai trò không bao gồm lập trình như truyền thông kỹ thuật, thiết kế đồ họa và thiết kế trải nghiệm người dùng.
  • Các lập trình viên cũng được hưởng lợi khi rèn luyện kỹ năng viết và giao tiếp, điều này có thể giúp họ chuyển sang các vai trò như developer relations hoặc quản lý sản phẩm.
  • Các dự án mã nguồn mở mang đến cơ hội tham gia cho người ở mọi trình độ kỹ năng, và nếu không hiểu sâu về dự án thì rất khó đưa ra những đóng góp mã có ý nghĩa.

Tìm người đóng góp phi mã và thể hiện sự trân trọng

  • Cách tốt nhất để các maintainer tìm người đóng góp là yêu cầu những công việc cụ thể; việc xây dựng cộng đồng và tạo issue được gắn nhãn "yêu cầu trợ giúp" và "issue đầu tiên phù hợp" cũng rất hữu ích.
  • Mentorship là một trong những cách tốt nhất để dẫn dắt người đóng góp đến thành công, và việc đánh giá cao cũng như ghi nhận những người đóng góp phi mã giúp tạo động lực cho người đóng góp hiện tại và thu hút người mới.

Ý kiến của GN⁺

  • Điều quan trọng là thành công của dự án mã nguồn mở cần nhiều dạng đóng góp đa dạng vượt ra ngoài việc chỉ viết mã. Đây là yếu tố thiết yếu cho tính bền vững và tăng trưởng của dự án.
  • Đóng góp phi mã mở ra cơ hội để cả những người không thiên về kỹ thuật cũng có thể tham gia vào mã nguồn mở, đồng thời còn giúp phát triển năng lực kỹ thuật.
  • Bài viết này có thể truyền cảm hứng cho những người quan tâm đến cộng đồng mã nguồn mở và giúp họ tìm ra cách tận dụng kỹ năng của mình để đóng góp cho cộng đồng.

6 bình luận

 
secret3056 2024-02-15

Đây là một câu chuyện hơi khác, nhưng cách đây không lâu có người đăng một bài hướng dẫn về việc tạo PR cho file README của Express.js, nên đã xuất hiện hàng trăm PR vô nghĩa.

Pull requests · expressjs/express

 
mdisprgm 2024-02-16

Phiền phức quá.. hu hu

 
edunga1 2024-02-15

Hơn 100 PR luôn đó, ghê thật

 
sagee 2024-02-15

Mình đã hơi bối rối một chút về việc tham gia bằng “bar code” như thế nào.. haha
Nhưng tài liệu quá chi tiết thì theo một góc nhìn nào đó cũng có thể là con dao hai lưỡi.
Cũng có thể xảy ra trường hợp tài liệu và ảnh chụp màn hình trở nên quá chi tiết đến mức nhà phát triển không tự tin cập nhật tài liệu nữa, rồi từ bỏ luôn việc phát triển cải tiến..

 
cosine20 2024-02-16

(đây là mã "phi")

 
GN⁺ 2024-02-15
Ý kiến trên Hacker News
  • Với tư cách là tác giả/người duy trì của các thư viện nhỏ, có thể khẳng định rằng nếu không có các đóng góp từ bên ngoài thì tài liệu hướng dẫn đã không thể tốt như hiện tại. Tài liệu đóng góp rất lớn vào tính dễ sử dụng của dự án.

    • Với tư cách là người dùng mới của libcurl, nhờ có tutorial và tài liệu API mà đã có thể nhanh chóng triển khai tải lên FTP và điều chỉnh cho phù hợp với một trường hợp sử dụng cụ thể.
    • Thông qua tài liệu, có thể nhận ra phiên bản cũ thiếu tính an toàn luồng và cảnh báo nhóm nên cập nhật.
    • Tài liệu cũng quan trọng ngang với mã nguồn và bộ kiểm thử.
  • Những điều mong muốn ở một dự án mã nguồn mở:

    • Nhiều ảnh chụp màn hình
    • README.md thật dài và chi tiết
    • Tutorial, tài liệu tham chiếu, tài liệu thiết kế, sơ đồ kiến trúc
    • Tài liệu về mô hình tư duy giải thích cách tác giả suy nghĩ
  • Trong mã nguồn mở, tài liệu, tài nguyên và các yếu tố tương tự đều quan trọng, nhưng cũng có thể trao quá nhiều quyền cho người không phải nhà phát triển và làm hỏng dự án.

    • Có thể gây hại cho tính ổn định, chức năng và mức độ chấp nhận, chẳng hạn như làm lại UX ở mỗi bản phát hành.
    • Dễ thu hút những người quá quan tâm đến chính trị, và dễ xảy ra hiện tượng 'bikeshedding' trong những lĩnh vực mà ai cũng nghĩ mình có thể tham gia.
  • Để xây dựng cộng đồng, nên dùng các nền tảng chat như Discord, Gitter và Slack.

    • Điều đó khiến mọi người bớt ngần ngại khi đặt câu hỏi trong repository.
    • Việc đặt câu hỏi trên GitHub hoặc tạo pull request để giải quyết vấn đề thường mang lại cảm giác vô nghĩa một cách không cần thiết.
    • Trong số những người tạo dự án trên GitHub, thái độ kiểu "tôi đã công khai mã nguồn rồi nên không nợ ai thêm gì nữa" đang khá phổ biến.
  • Dựa trên kinh nghiệm hoạt động trong cộng đồng WordPress, có thể thấy tài liệu hóa từ giai đoạn đầu và hệ thống tài liệu mạnh mẽ của Codex đã đóng góp rất lớn cho sự phát triển của WordPress.

    • Vào thời điểm Joomla, Drupal và WordPress có quy mô cài đặt tương đương nhau, WordPress dễ bắt đầu hơn nhờ tài liệu phong phú.
  • Điều mong muốn lớn nhất ở một dự án mã nguồn mở là mọi người thực sự sử dụng nó và để lại ghi chép dưới bất kỳ hình thức nào về những gì họ đã dùng.

    • Để lại tin nhắn trên kênh Discord của dự án, hoặc tweet, tin nhắn ngắn, ảnh chụp màn hình, gist, repository GitHub công khai, video YouTube hay TikTok đều là những đóng góp rất có giá trị cho dự án.
  • Không chắc đóng góp phi mã nguồn có phải là bí quyết thành công của một dự án hay không, nhưng đồng ý rằng chúng cực kỳ quan trọng.

    • Ví dụ, Eclipse Foundation cũng nhắc người dùng rằng báo cáo lỗi là một đóng góp có giá trị.
  • Trong quá trình bắt đầu một dự án mã nguồn mở, có dự đoán rằng số kỹ sư sẽ sử dụng phần mềm thực tế nhiều gấp 10 lần số kỹ sư sẽ trực tiếp viết mã.

    • Người dùng cần có thể đóng góp bằng cách cải thiện tài liệu.
    • Khi dùng trình tạo website tĩnh như Hugo để tạo tài liệu (hướng dẫn sử dụng), cần có cách để người dùng gửi chỉnh sửa/cập nhật cho tài liệu mà không cần tạo GitHub issue.
  • Nếu những người không có chuyên môn kỹ thuật vẫn có thể hiểu dự án và thấy được giá trị của nó, đó là một chỉ dấu tốt cho thấy dự án có khả năng thành công.

  • Tài liệu hóa trở nên quan trọng khi sản phẩm chuyển từ giai đoạn chỉ được một nhóm fan biết đến và sử dụng sang giai đoạn cần tìm thêm nhiều người dùng hơn.

    • Nếu không có tài liệu tốt thì rất khó vượt qua giai đoạn này.
    • Điều này nhắc nhở rằng cần viết hướng dẫn sử dụng cho Neural Amp Modeller.