Hôm nay mình sẽ chia sẻ cho các bạn về GitHub là gì cùng những thông tin bên lề như mô hình kinh doanh GitHub đang phổ biến hiện nay
GitHub là gì?
GitHub là gì? GitHub là nền tảng phát triển phần mềm lớn nhất thế giới được các công ty tên tuổi cũng như các cá nhân sử dụng để phát triển và chia sẻ mã. Tuy nhiên, trước khi chúng ta tìm hiểu về GitHub và mô hình kinh doanh của nó, chúng ta nên biết về “Git”.
Đúng, Git và GitHub là những thứ khác nhau và GitHub được xây dựng dựa trên Git. Sẽ không có GitHub nếu không có Git
Git là gì
Hầu hết mọi người đều biết đến Linux. Đối với những người mới bắt đầu, Linux là một hệ điều hành giống như Windows và macOS nhưng khác với hai hệ điều hành này là mã nguồn mở và miễn phí để sử dụng. Linux được Linus Torvald thành lập và phát hành năm 1991 dưới dạng phần mềm mã nguồn mở.
Nhân Linux (nhân là một mã trong hệ điều hành giúp kết nối phần cứng với phần mềm) được phát triển và duy trì bởi một nhóm lớn các nhà phát triển và lúc đầu, các thay đổi đối với nhân Linux chỉ được chuyển trực tuyến theo cách thủ công dưới dạng các bản vá và kho lưu trữ. Cách tiếp cận này được cho là quá rườm rà.
Vì vậy, vào năm 2002, quy trình này đã được chuyển sang một nhà cung cấp phần mềm kiểm soát phiên bản độc quyền (Hệ thống kiểm soát phiên bản, công cụ phần mềm là một loại giúp quản lí được các mã nguồn khi chúng thay đổi theo thời gian) được gọi là BitKeeper, vào thời điểm đó, miễn phí sử dụng.
Nhưng vào năm 2005, BitKeeper bắt đầu tính phí các dịch vụ của mình và do đó cộng đồng Linux đã bị bỏ lại mà không có VCS (Hệ thống kiểm soát phiên bản) thích hợp. Điều này đã thúc đẩy Torvald phát triển VCS của riêng họ và do đó, Git ra đời vào năm 2005 như một VCS mã nguồn mở.
GitHub là gì
GitHub là công ty cung cấp dịch vụ lưu trữ cho những người muốn sử dụng Git làm Hệ thống kiểm soát phiên bản (VCS) của họ. GitHub là một trang web lưu trữ nơi các nhà phát triển và lập trình viên có thể tải lên mã do họ tạo và cộng tác để cải thiện nó.
Một tính năng nổi bật của GitHub là hệ thống kiểm soát phiên bản mạnh mẽ của nó. Kiểm soát phiên bản cho phép người viết mã chỉnh sửa phần mềm có khả năng sửa lỗi hoặc cải thiện hiệu quả mà không ảnh hưởng đến bản thân phần mềm hoặc gây rủi ro cho trải nghiệm của bất kỳ người dùng hiện tại nào. Các thay đổi được đề xuất có thể dễ dàng được hợp nhất vào phần mềm trực tiếp sau khi các đề xuất được xem xét và phê duyệt.
GitHub có thể tích hợp đa nền tảng lớn và phổ biến hiện nay như Google hoặc Amazon, nó ở hữu hơn hai trăm ngôn ngữ lập trình, chính vì vậy mà đây là lí do có ngày càng nhiều sử dụng GitHub
Bạn có thể sử dụng Git cục bộ hoặc trên máy chủ của mình mà bạn có thể chia sẻ với nhóm của mình nhưng điều này mang lại nhiều chi phí như bảo trì máy chủ và đặc quyền truy cập. GitHub giúp cung cấp các chức năng cốt lõi của Git như:
Hệ thống kiểm soát phiên bản phân tán (DVCS). Bất kỳ ai cũng có thể làm việc trên bất kỳ kho lưu trữ nào (được phép) mà không phụ thuộc vào máy chủ trung tâm trực tuyến
Dự phòng phân nhánh và hợp nhất nâng cao.
Khu vực tổ chức để chạy các đoạn mã cụ thể. Cùng với các tính năng khác của họ được thêm vào trên nền tảng dựa trên web.
Sự ra đời của GitHub
GitHub được tạo ra bởi Tom Preston-Werner, Chris Wanstrath và PJ Hyett và ra mắt vào năm 2008. Chris và Tom đã bắt đầu làm việc dựa trên GitHub vào cuối năm 2007 khi Git chưa nổi tiếng.
GitHub có thể được coi là nơi lưu trữ mã trên đám mây, nơi bạn cũng có thể dễ dàng cộng tác, chia sẻ và khám phá mã của mình cũng như mã từ những người dùng khác.
Khi GitHub được ra mắt vào năm 2008, Sourceforge là tùy chọn mặc định cho nhiều người khi làm việc với các dự án mã nguồn mở. Nhưng người dùng bị làm phiền bởi những quảng cáo trên Sourceforge, khiến trải nghiệm của họ trên nền tảng này bị giảm sút một cách đáng kể
So với Sourceforge, GitHub có giao diện không có quảng cáo và quan trọng nhất là sạch sẽ với các tính năng mạnh mẽ và hữu ích mà nhà phát triển có thể tận dụng. Kể từ đó, GitHub đã trở thành nền tảng lưu trữ dành cho các dự án sử dụng Git.
Tính đến tháng 1 năm 2020, GitHub là máy chủ lưu trữ mã nguồn lớn nhất trên thế giới và có hơn 100 triệu kho phần mềm (trong đó 28 triệu là kho công khai) và hơn 40 triệu người dùng sử dụng nền tảng của nó.
Mô hình kinh doanh của GitHub là gì?
Các thành phần chính của GitHub
Cộng đồng nguồn mở
Cộng đồng nguồn mở là một thành phần chính của GitHub và các dịch vụ của nó. Điều này càng được nâng cao bởi thực tế là các nguyên tắc cơ bản của GitHub dựa trên Git mã nguồn mở. Một số dự án mã nguồn mở trên GitHub không chỉ có hàng nghìn người đóng góp mà còn là nguồn phụ thuộc chính cho hàng triệu kho lưu trữ khác.
Nhà phát triển công nghệ thông tin
Các nhà phát triển cá nhân và ngành công nghệ thông tin cũng là những người dùng chính của GitHub. Khá nhiều công ty tên tuổi lớn nhất trong ngành công nghệ thông tin và công nghệ như Google, Microsoft, Facebook và Twitter đều lưu trữ các dự án của họ trên GitHub.
GitHub Hoạt Động Như Thế Nào?
GitHub tuân theo mô hình freemium, nơi nó cho phép tạo các kho lưu trữ không giới hạn công cộng và riêng tư miễn phí. Bạn cần phải trả phí để có được các tính năng bổ sung như băng thông rộng hơn, nhiều bộ nhớ hơn, các công cụ tổ chức tốt hơn và các tùy chỉnh.
GitHub cung cấp các phiên bản được tối ưu hóa cho các tính năng của Git, những tính năng này được coi là fork, pull request và merge
Trong số nhiều tính năng được cung cấp bởi GitHub, ba trong số những tính năng quan trọng nhất đã được đưa ra ở trên. Forking một dự án tạo ra một bản sao cho phép bạn thử nghiệm tự do mà không ảnh hưởng đến dự án gốc.
Khi bạn hài lòng với những thay đổi mình đã thực hiện, bạn có thể gửi yêu cầu kéo. Yêu cầu kéo được gửi đến chủ sở hữu dự án, người có thể xem lại những thay đổi bạn đã thực hiện và đặt bất kỳ câu hỏi tiếp theo nào. Nếu chủ sở hữu dự án thích các thay đổi, họ sẽ hợp nhất yêu cầu kéo của bạn, áp dụng các thay đổi từ dự án đã chia nhỏ của bạn sang mã gốc.
Cách tiếp cận của GitHub để cung cấp nền tảng hệ thống kiểm soát phiên bản khá đơn giản. GitHub cho phép người dùng có thể:
Tạo kho lưu trữ của họ
Thực hiện cam kết – GitHub biệt ngữ để tải lên hoặc chỉnh sửa tệp
Tạo các nhánh của kho lưu trữ
Kho sao chép, tải xuống và fork
Lợi ích nguồn mở
Các dự án trên GitHub là một dạng mã nguồn mở. Được các cơ quan chính phủ như Bộ Quốc phòng thông qua, mã nguồn mở về cơ bản cho phép bất kỳ ai cũng có thể xem xét và đề xuất các thay đổi đối với mã.
Được cộng đồng đánh giá mã của bạn
GitHub hoạt động như một loại trang web truyền thông xã hội dành cho các nhà phát triển và lập trình viên. Nó cho phép tác phẩm của bạn xuất hiện trước công chúng. Nó là một trong những cộng đồng mã hóa lớn nhất xung quanh, vì vậy việc sử dụng nó có thể cung cấp khả năng hiển thị rộng rãi cho dự án của bạn. Bạn càng có nhiều người xem xét dự án của mình, thì càng có nhiều khả năng thu hút sự chú ý và sử dụng nó.
Ví dụ, hãy tưởng tượng rằng bạn có khung cơ bản cho một dự án. Dự án thực hiện những gì bạn muốn, nhưng bạn không phải lúc nào cũng chắc chắn về cách thức mà nhiều người sẽ thực hiện nó hoặc liệu nó có hiệu quả với tất cả mọi người hay không. Vì thế đây là một lợi ích khi bạn sử dụng GitHub cho mục đích của mình
Đây là nơi người dùng GitHub bước vào
Dự án của bạn khi được đăng lên GitHub, những người lập trình viên có sở thích hoặc hứng thú với chủ đề của bạn có thể xem và đánh giá trực tiếp công việc của bạn đang ở mức nào, có thiếu sót hay sai chỗ nào không. Khi dự án của bạn gặp vấn đề, họ có thể báo cho bạn về các vấn đề có thể xảy ra ví dụ như bản quyền hoặc có nội dung gây xung đột.Thậm chí họ còn có thể đề xuất các giải pháp cho vấn đề đó của bạn, nó giúp bạn tiết kiệm thời gian và tạo hiệu quả hơn cho công việc của bạn.
Theo dõi các thay đổi trên các phiên bản
GitHub theo dõi các thay đổi trong bảng thay đổi, vì vậy bạn có thể biết chính xác những gì được thay đổi mỗi lần. Tính năng này đặc biệt hữu ích để nhìn ngược thời gian và nhanh chóng xác định các thay đổi mà một cộng tác viên đã thực hiện.
Các dự án mã nguồn mở có xu hướng linh hoạt hơn vì chúng đáp ứng nhanh hơn nhu cầu thị trường. Các chương trình nguồn đóng có thể tồn tại trong bong bóng khi cố gắng thuyết phục thị trường mục tiêu về giá trị của nó, trái ngược với việc đáp ứng thực sự. GitHub cung cấp một cộng đồng nơi các lập trình viên không ngừng làm việc để giải quyết các vấn đề hiện tại và cung cấp các giải pháp cho công chúng.
Xây dựng và Thực hiện Chiến lược Quản lý
Bạn có thể có nhiều người làm việc trong các dự án cùng một lúc và nhiều người trong số họ có thể ở các địa điểm khác nhau — thậm chí có thể ở các quốc gia khác nhau. Bằng cách sử dụng hệ thống kiểm soát phiên bản như GitHub, các cộng tác viên có thể làm việc cùng nhau mà không cần dẫm chân lên nhau.
Ví dụ: bạn không muốn một cộng tác viên giải quyết vấn đề theo cách mâu thuẫn với cách tiếp cận của một cộng tác viên khác. GitHub giúp mọi người dễ dàng biết và xem mọi người khác đang làm gì và các dự án có thể được quản lý theo bất kỳ cách nào phù hợp nhất với nhân viên và nhu cầu của tổ chức bạn
GitHub kiếm tiền bằng cách nào
Gói đăng ký
GitHub cung cấp một loạt các gói đăng ký cao cấp cho phép người dùng truy cập vào các tùy chỉnh và lưu trữ đám mây gia tăng. Dưới đây là các gói GitHub khác nhau
GitHub Free
Gói GitHub Miễn phí cho phép người dùng có thể tạo các kho lưu trữ công khai cũng như riêng tư không giới hạn và chia sẻ nó với bất kỳ số lượng cộng tác viên nào. Gói GitHub Free cũng cung cấp cho người dùng 500 MB dung lượng lưu trữ cho các gói của họ và 2.000 phút hành động mỗi tháng.
Team GitHub
Gói GitHub Nhóm có giá 4 đô la cho mỗi người dùng / tháng và cung cấp mọi thứ mà GitHub Miễn phí cung cấp cùng với kiểm soát truy cập nhóm, 2GB bộ nhớ GitHub Packages, 3.000 phút hành động mỗi tháng, cố vấn bảo mật GitHub – cho phép tạo tư vấn bảo mật riêng tư để sửa chữa các lỗ hổng
GitHub Enterpris
Gói GitHub Enterprise có giá 21 đô la cho mỗi người dùng / tháng và đây là phiên bản có thể tùy chỉnh và làm theo đơn đặt hàng của gói GitHub Team cùng với 50GB bộ nhớ GitHub Packages, 50.000 phút hành động mỗi tháng và các điều khoản kiểm toán nâng cao trong số những người khác
Theo như biểu đồ, gói doanh nghiệp đem lại nguồn thu lớn nhất cho GitHub với hơn 50% số người sử dụng, xếp sau đó là các tổ chức và cá nhân sử dụng
GitHub One
Các kế hoạch GitHub One hướng đến các doanh nghiệp lớn hơn và là phiên bản làm theo đơn đặt hàng của gói GitHub Enterprise. Nó mang theo tất cả mọi thứ mà gói GitHub Enterprise cung cấp cùng với các tính năng bổ sung như bảo mật do cộng đồng hỗ trợ, hỗ trợ 24/7, các chỉ số có thể hành động và khả năng học hỏi liên tục.
GitHub Marketplace hiện nay
GitHub cũng cung cấp một dịch vụ độc lập gọi là Marketplace cho phép người dùng có thể tìm kiếm, mua và tải xuống các ứng dụng cũng như chia sẻ các ứng dụng của họ trên nền tảng này.
GitHub cắt giảm 25% mỗi lần bán hàng được thực hiện trên GitHub Marketplace.
Cửa hàng GitHub bán hàng hóa của GitHub, đóng góp vào nguồn doanh thu của nó.
GitHub có một mô hình kinh doanh đơn giản và dễ hiểu, nơi nó cung cấp dịch vụ lưu trữ cho Git cho đại chúng trên một dịch vụ dựa trên web gọn gàng. Hầu hết các dự án mã nguồn mở được liệt kê trên GitHub và các công ty hàng đầu như Google, Facebook, Microsoft và Twitter đều có các dự án trên GitHub – với hầu hết chúng là mã nguồn mở và công khai.
GitHub không chỉ khiến thế giới chuyển sang cách tiếp cận lấy nguồn mở làm trung tâm mà còn cho phép các nhà phát triển thể hiện tài năng của họ bằng cách có thể phát triển và chia sẻ mã dễ dàng. Cuối cùng, có thể khẳng định chắc chắn rằng cả Git và GitHub đều được hưởng lợi từ sự phát triển của nhau để trở thành nền tảng phát triển phần mềm hàng đầu thế giới.