Chia sẻ kinh nghiệm để đóng góp hiệu quả cho project Open Source

Mình muốn tham gia open source nhưng khổ nổi khi đọc code mình không thể nào hiểu được chủ nhân project muốn viết gì. 1 là codebase quá lớn, 2 là không có document. Xin hỏi bạn nào tham gia open source rồi chia sẻ kinh nghiệm để đóng góp hiệu quả vào 1 project không ?

3 Likes

Mình cũng mới bắt đầu làm 1 số opensource share trên github chứ cũng chưa thật sự tham gia “Contribute” cho opensource “thật sự” nào. Nhưng nếu bạn muốn tham gia 1 cái nào đó thì ít nhất cũng phải đáp ứng 1 số điều kiện:

  • opensource đó phải giúp ích gì đó cho bạn, nếu nó ko đáp ứng yêu cầu của bạn thì làm sao có tinh thần hay hứng thú mà đóng góp.
  • [Quan trọng] đủ trình để hiểu opensource đó, khi đã hiểu thì
  • Thấy thiếu sót -> report or tự làm rồi contribute cho họ
  • Thấy bug -> report or fix rồi contribute
2 Likes

Theo mình, dùng open-source trước sau đó trở thành contributor.
Để đóng góp cho một dự án mã mở (ko biết có hiệu quả ko) theo cách bất kỳ ai cũng có thể làm:

  1. Giới thiệu opensource đó cho mọi người. Việc dễ nhưng là việc quan trọng.
  2. Viết một bài giới thiệu cách cài đặt , sử dụng … đại loại thế.
  3. Bug report.
  4. Đóng góp về mặt tính năng, ý tưởng…

Sau đó sẽ có các cấp độ cao hơn, bạn cần tìn hiểu về Coding Standard, như PHP thì có thể xem http://www.php-fig.org/psr/psr-1/,
Hay một số nhóm có các quy tắc , tổ chức làm việc Project Governance như JavaScript I/O IOJS


Đó là những gì mình biết nhưng chưa từng làm. Thực sự mình không biết code.
Nhưng nếu để chọn 1 project để tham gia thì bạn nên xem xét vào , mụch đích của bạn , và mức náo nhiệt của project.
Khi project càng náo nhiệt thì các nhu cầu về dogcument ,issues opened càng nhiều để bạn thử sức.

Bạn nên hỏi thêm ý kiến từ những người nhiều kn như anh @laptrinhio

3 Likes

Muốn tham gia phát triển thì:

  1. Phải hiểu được cái project đó là project gì, concept ra sao…
  2. Đọc code là phải hiểu, mà không hiểu thì … tức là chả biết gì về nó.
  3. Document của các project OSS thường là test, test chính là document.
  4. Code sử dụng project đó thật nhiều.
3 Likes

Chào anh,

Em ko tính tham gia OpenCV open source nhưng muốn lấy OpenCV làm ví dụ đi. Trong OpenCV code base rất là lớn, khoảng vài trăm cái class từ C/C++. Vậy cho em hỏi có cách nào để có thể hình dung được tổ chức của code 1 cách khoa học nhất không ?

Cấu trúc thư mục, file cmakelist.

Github: https://github.com/Itseez/opencv

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?