8 điểm bởi GN⁺ 2024-09-10 | 8 bình luận | Chia sẻ qua WhatsApp
  • Có thể tóm gọn lý do GitHub chiến thắng thành hai điểm
    1. Khởi đầu vào đúng thời điểm
    2. Có gu tốt

Bối cảnh ban đầu

  • Khoảng năm 2005, đa số lập trình viên phần mềm vẫn sử dụng các hệ thống quản lý phiên bản tập trung như Subversion
  • Đây cũng là thời điểm Git và Mercurial có commit đầu tiên, còn việc đóng góp cho mã nguồn mở vẫn phức tạp và kém hiệu quả
  • Số lượng dự án mã nguồn mở vào năm 2005 còn rất ít, và nhìn chung các hệ thống tập trung không phù hợp với việc đóng góp cho mã nguồn mở

Sự xuất hiện của Git

  • Git là hệ thống quản lý phiên bản do Linus Torvalds phát triển vì vấn đề giấy phép của BitKeeper trước đó
  • Những ưu điểm chính của Git:
    • Việc branch và merge cực kỳ dễ dàng. Tốc độ nhanh, quản lý quyền hạn đơn giản
    • Cấu trúc phân tán giúp dễ tạo fork của riêng mình và việc pull request cũng trở nên dễ hơn
    Quảng cáo

Sự xuất hiện của GitHub

  • Những nhà sáng lập GitHub đã phát triển GitHub để giải quyết sự khó khăn trong việc host Git
  • Cách tiếp cận lấy người dùng làm trung tâm đã tạo khác biệt với phương thức host cũ vốn lấy dự án làm trung tâm
    • Giới thiệu namespace lấy người dùng làm trung tâm và mô hình pull
  • "Không xấu" được xem như một tính năng cốt lõi
  • Cộng đồng Ruby thời kỳ đầu nhanh chóng đón nhận GitHub, tạo nền tảng cho tăng trưởng

Chiến thắng của Git

  • Một trong những lý do Git thành công là nhờ hiệu ứng PR từ Linus Torvalds và cộng đồng Linux
  • GitHub có được hiệu quả quảng bá nhờ mối liên kết mạnh với cộng đồng Ruby, và điều này góp phần vào sự phát triển của Git
  • So với các hệ thống quản lý phiên bản phân tán khác, khả năng branch/merge vượt trội của Git và dịch vụ hosting tập trung vào trải nghiệm người dùng là những lợi thế lớn
Quảng cáo

Sự sụp đổ của cạnh tranh

  • Năm 2011, khi Google Code và BitBucket hỗ trợ Git, thất bại của Mercurial gần như đã được định đoạt
  • Không ai có thể bắt kịp đà tăng trưởng của GitHub
  • Năm 2015, Google Code đóng cửa dịch vụ và khuyến nghị chuyển sang GitHub

Vì sao Google Code không thể chiến thắng

  • Các dịch vụ hosting lớn hiện có tập trung vào mô hình doanh thu và phân phối, trong khi GitHub ưu tiên trải nghiệm lập trình viên lên hàng đầu
  • Google Code, BitBucket và những dịch vụ khác thiếu “chất” so với GitHub, và không thực sự hiểu đúng workflow của lập trình viên
  • GitHub vẫn thành công dù không có hỗ trợ vốn ở giai đoạn khởi nghiệp, và đó là kết quả của trải nghiệm người dùng cùng sự hậu thuẫn từ cộng đồng

Vì sao GitHub chiến thắng

  • GitHub xuất hiện đúng lúc khi một mô hình mới đang hình thành, và cách tiếp cận đặt trải nghiệm lập trình viên lên hàng đầu là yếu tố then chốt dẫn tới thành công
  • Khi cộng đồng mã nguồn mở chuyển sang quản lý phiên bản phân tán, GitHub tập trung vào việc cải thiện trải nghiệm lập trình viên
  • Câu hỏi cho tương lai là sự thay đổi tiếp theo trong workflow của lập trình viên sẽ là gì, và công ty nào sẽ có đủ “chất” để hiện thực hóa nó thành công

Tổng kết của GN⁺

  • GitHub chiến thắng nhờ đúng thời điểm và có gu tốt
  • Tính chất phân tán của Git kết hợp với cách tiếp cận lấy người dùng làm trung tâm của GitHub đã dẫn tới thành công
  • Mối quan hệ chặt chẽ với cộng đồng mã nguồn mở đã giúp GitHub trở nên phổ biến hơn
  • Các dịch vụ cạnh tranh thiếu sự quan tâm đúng mức tới trải nghiệm lập trình viên
  • Thành công của GitHub cho thấy tầm quan trọng của cách tiếp cận coi trọng trải nghiệm lập trình viên

8 bình luận

 
princox 2024-09-11

Lúc đầu khi nhìn thấy một dịch vụ lưu trữ Git hỗ trợ UI dạng web, tôi đã có cảm giác rất rõ rằng thứ này sẽ thành công trên thị trường. Bản thân tôi cũng đã dùng GitHub từ khá sớm, và tôi vẫn nhớ là ngay cả thời điểm đó nó đã được hoàn thiện cực kỳ tốt rồi.

 
[Bình luận này đã bị ẩn.]
 
pcj9024 2024-09-10

Cá nhân tôi vốn thích GitLab hơn GitHub khá nhiều, nên việc nó bị lép vế trong cạnh tranh thị trường khiến tôi vừa khó hiểu vừa tiếc nuối.
Từ quản lý issue của dự án, quản lý mã nguồn, CI/CD, wiki cho đến quản lý hạ tầng, đây thực sự là một dịch vụ xuất sắc khi cung cấp tất cả trong một và còn được tích hợp rất hài hòa, vậy mà...
GitHub đúng là đã tận dụng lợi thế người đi trước một cách cực kỳ khôn ngoan, nhưng tôi chưa từng tưởng tượng rằng điều đó lại trở thành điểm quyết định trong cuộc cạnh tranh.

 
roxie 2024-09-24

Mong là GitLab sẽ trở nên phổ biến hơn T_T

 
ilotoki0804 2024-09-10

Đây là cảm nhận cá nhân của tôi, nhưng GitHub dường như hiểu rằng các dự án mã nguồn mở và những người đóng góp là khách hàng quan trọng của mình, và họ đối xử với họ rất tốt.

 
dodok8 2024-09-10

Nghĩ lại thì những trang như SourceForge giờ thật sự đã bị bỏ lại phía sau rồi.

 
bungker 2024-09-10

Wow, SourceForge đầy hoài niệm

 
GN⁺ 2024-09-10
Ý kiến trên Hacker News
  • Google Code được khởi động để ngăn chặn văn hóa độc quyền của SourceForge

    • Google Code không nhằm mục đích kiếm tiền
    • Sau khi đạt được mục tiêu, họ đã phối hợp với GitHub và Bitbucket để cung cấp công cụ di chuyển
    • Do mọi người không đặt câu hỏi nên đã nảy sinh hiểu lầm
  • SourceForge từng một thời phân phối kèm phần mềm độc hại

    • Nhiều lập trình viên không biết rằng kho lưu trữ từ xa của GitHub có thể dùng chỉ với kết nối SSH
    • GitHub tạo doanh thu thông qua kho riêng tư
  • Danh tiếng của Linus đã góp phần vào chiến thắng của Git

    • GitHub được nhìn nhận là giao diện thân thiện của Git
    • GitHub tập trung vào Git ngay từ đầu
    • GitHub mang tính độc quyền với vai trò là dịch vụ lưu trữ mã nguồn mở
  • GitHub thành công nhờ chiến thắng của Git

    • Các đối thủ của GitHub chậm chạp trong việc chấp nhận Git
    • Các lập trình viên rất nhiệt thành với lựa chọn DVCS
  • "Gu" là yếu tố quan trọng trong việc thống trị thị trường giai đoạn đầu

    • Nhiều dự án đã chuyển sang GitHub
    • "Product-market fit" của GitHub là yếu tố thành công
    • Sự chuyển dịch sang điện toán đám mây và Web 2.0 đã diễn ra đúng thời điểm
  • Trong kinh doanh không có người chiến thắng thực sự

    • GitHub rồi cũng có thể bị thay thế
    • Cần có dịch vụ kho Git được mã hóa
    • SourceHut không được ưa chuộng vì các vấn đề với quản trị viên
  • Subversion tốt hơn FTP, nhưng Git là phương án thay thế tốt hơn

    • Git vẫn có thể gây rối rắm
    • Nếu không có GitHub thì Git có lẽ đã không thể thành công
  • Google Code dành cho các dự án mã nguồn mở của Google

    • Google dùng công cụ nội bộ của riêng mình
    • Văn hóa frontend của Google khá yếu
  • GitHub có UX rất tốt

    • BitBucket khó sử dụng
    • GitHub không cung cấp hosting cá nhân miễn phí
  • Git được tạo ra vào năm 2005

    • Git tạo cảm giác như một công nghệ đã cũ