33 điểm bởi xguru 2021-11-15 | 2 bình luận | Chia sẻ qua WhatsApp

"Hiệu ứng mạng lưới: càng có nhiều người tìm đến, càng có nhiều người dùng hơn, tham gia nhiều hơn, tính năng tốt hơn, và nhờ đó ngày càng nổi tiếng hơn"

Làm thế nào để trở nên phổ biến?

#1. README được thiết kế tốt

  • Hãy giải thích ngắn gọn ngay từ đầu

→ Nó dùng để làm gì?

→ Nó có giải quyết vấn đề của tôi không?

→ Nó có giải quyết vấn đề của tôi tốt hơn đối thủ không?

→ Cài đặt thế nào?

→ Những lệnh cơ bản tôi cần biết là gì?

→ Tôi nên đi đâu để nhận trợ giúp?

1.1 Tạo phần đầu để tóm tắt dự án

→ Logo: có thể tạo GIF logo bằng Canva hoặc công cụ tương tự

→ Slogan: mô tả dự án trong một dòng. Áp dụng vào phần mô tả trên GitHub

⇨ Phải thật bắt mắt

⇨ Vì sao người dùng cần nó

⇨ Vì sao nó tốt hơn những thứ khác

⇨ Dễ hiểu

⇨ Ví dụ) hugo: The world’s fastest framework for building websites

→ Badge: những hình ảnh/liên kết nhỏ dùng để mô tả dự án

⇨ số hoạt động gần đây, số lượt tải, số người trong phòng chat, các phiên bản đang dùng, giấy phép... v.v.

→ Cài đặt nhanh: hiển thị ngay lệnh cài đặt đơn giản và nhanh chóng

⇨ Để những người đã biết trước có thể dùng thử ngay

⇨ Những thứ như có thể cài bằng một dòng Docker/PIP nên được đưa lên càng sớm càng tốt

⇨ docker run -it --rm remnux/ciphey

→ Các liên kết nhanh (không bắt buộc)

⇨ website, diễn đàn, tài liệu, hướng dẫn cài đặt, hướng dẫn đóng góp, Twitter, v.v.

1.2 "What is This?" Mô tả dự án thật ngắn gọn

→ Mô tả ngắn + GIF cho thấy dự án hoạt động thế nào + các tính năng cốt lõi mà mọi người muốn xem

→ Ví dụ) Starship: hai cột, bên trái giới thiệu các tính năng chính, bên phải là GIF hoạt động

→ Không cần cho thấy mọi tính năng. Chỉ liệt kê những gì người dùng muốn xem và giải thích sao cho dễ hiểu

1.3 "X vs Y" So sánh với đối thủ

→ Cần cho thấy vì sao nên chọn dự án này thay vì đối thủ

→ Hãy để ưu điểm có thể được nhìn ra ngay

→ Điều này giống như trong Lean Startup: nên tìm "early adopter" trước thay vì "người dùng trung bình"

⇨ Nếu bạn có tính năng tốt hơn, hãy nhắm đến những người không ngại chuyển sang công cụ mới

→ Chỉ khi hoàn toàn không có đối thủ, hoặc các giải pháp hiện tại quá phức tạp so với của bạn, thì mới nên nhắm đến "người dùng trung bình"

→ Cách dễ nhất là tạo bảng so sánh các tính năng chính

⇨ Hãy thể hiện bằng số liệu thay vì lời nói

⇨ Cũng tốt nếu so sánh bằng GIF để cho thấy cách hoạt động

1.4 Tạo tài liệu thật tốt

→ Không cần nhét mọi tài liệu vào README. Việc đó khiến khó cập nhật, khó tìm kiếm và README trở nên khó đọc

→ Vì phần cài đặt đã có ở trên, những gì nên bổ sung là

⇨ Cách chạy nó

⇨ Có thể tìm tài liệu ở đâu

⇨ Có thể nhận hỗ trợ thế nào

→ Cũng tốt nếu dùng GIF để cho thấy cách chạy

1.5 Cách đóng góp, gửi lời cảm ơn và chào đón người đóng góp

→ Cách đóng góp cho dự án

→ Cảm ơn những người đã đóng góp trước đây

→ Dùng bot như all-contributors

#2. Hãy tạo thứ mà mọi người muốn

→ README tốt sẽ thu hút sự chú ý, còn dự án "giải quyết vấn đề" của họ sẽ khiến mọi người bàn tán về nó

2.1 Vấn đề đi trước, sản phẩm đi sau

→ Đừng làm gì đó chỉ để tạo ra một sản phẩm, hãy giải quyết một vấn đề

→ "Tiến bộ không chỉ đến từ những cú nhảy vọt lớn, mà còn từ hàng trăm bước nhỏ"

2.2 Sống cùng vấn đề

→ Nếu không có vấn đề, bạn không thể giải quyết nó một cách hiệu quả

→ Thay vì ngẫu nhiên nghĩ ý tưởng, việc quan sát những vấn đề đang tồn tại trong chính cuộc sống của mình dễ hơn rất nhiều

→ Khi nhận ra có một vấn đề, bạn biết được hai điều: nó thực sự tồn tại, và người khác cũng có vấn đề đó.

2.3 Tìm vấn đề trong cộng đồng

→ Khi quan sát cộng đồng, bạn sẽ thấy mọi người tự bộc lộ những vấn đề họ đang gặp phải

→ Càng có nhiều người, càng lắng nghe nhiều, bạn càng có thể nảy ra nhiều ý tưởng hơn so với chỉ tự suy nghĩ một mình

→ Hãy thử tạo một MVP (Minimum Viable Product) để giải quyết vấn đề mà cộng đồng đang có

→ Chia sẻ với cộng đồng, đo lường hiệu quả, học cách làm tốt hơn, rồi làm lại hoặc bổ sung để tiếp tục cải thiện

#3. Hãy nói ra ngoài

→ Dù làm tốt đến đâu, nếu không công khai thì sẽ không ai thấy

→ Nếu trước đó đã tận dụng cộng đồng thì thật may, họ đã biết và sẽ dùng nó

→ Tăng GitHub Star từ 0 lên 1 là khó, nhưng từ 10 lên 100 thì dễ hơn

3.1 Chia sẻ với cộng đồng

→ Vòng lặp Build, Measure, Learn

→ Khi có bản phát hành thực sự đầu tiên, hãy chắc chắn cộng đồng biết đến nó. Họ sẽ chia sẻ với bạn bè của mình

3.2 News Aggregators

→ Subreddit phù hợp

→ HackerNews (ghi chú của người biên tập: GeekNews cũng vậy!)

→ Lobste.rs

3.3 Awesome List

→ Tìm các danh sách liên quan đến chủ đề và gửi PR

2 bình luận

 
alstjr7375 2021-11-15

Câu chuyện thu hút 500 sao GitHub chỉ trong một ngày

https://black7375.tumblr.com/post/653140399088631808/

Đây là bài viết tôi từng viết trước đây.

Tôi đã viết với trọng tâm là chiến lược quảng bá.

Trong đó tôi có viết về cách và thời điểm đăng bài quảng bá, cũng như phương pháp xác định định hướng phát triển và thời điểm chốt hạn.

 
xguru 2021-11-15

Đây là điều khá hiển nhiên, nhưng README của một dự án mã nguồn mở thực sự rất quan trọng.

Ngay cả khi đó là một dự án giải quyết một vấn đề mà không ai giải được/không ai muốn giải, hoặc có những tính năng đáng kinh ngạc vượt xa đối thủ, thì kết quả vẫn có thể khác đi tùy vào cách bạn viết README.

Mong rằng sẽ có ngày càng nhiều dự án mã nguồn mở được biết đến không chỉ trong nước mà cả ở nước ngoài.

Hãy thử tham khảo phần GitHub About và README của các dự án mã nguồn mở do những lập trình viên Hàn Quốc nổi tiếng nhất hiện nay tạo ra.

swc : "Make the web (development) faster." swc is a super-fast compiler written in rust; producing widely-supported javascript from modern standards and typescript.

fzf : fzf is a general-purpose command-line fuzzy finder.