Tại sao một số ứng dụng nguồn mở lại nhận được nhiều bản cập nhật mỗi ngày?

Tác giả Starlink, T.Mười 31, 2025, 09:00:12 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cập nhật thường xuyên cũng giống như con dao hai lưỡi.

Bạn đã bao giờ tự hỏi tại sao một số ứng dụng nguồn mở lại nhận được nhiều bản cập nhật trong ngày chưa? Có nhiều lý do, nhưng tất cả đều nhờ vào một cộng đồng nguồn mở mạnh mẽ.


1. Mã nguồn mở thường được cập nhật trong suốt cả ngày

Với các ứng dụng nguồn đóng, người dùng cuối không bao giờ thấy được tần suất cập nhật mã. Phần lớn thời gian, mã được cập nhật nhiều lần mỗi ngày, và đôi khi nhiều bản dựng được phát hành trong cùng một ngày—nhưng tất cả chỉ giới hạn ở quyền truy cập nội bộ.

Khi nói đến ứng dụng và mã nguồn mở, các bản cập nhật cũng thường xuyên (nếu không muốn nói là hơn), nhưng công chúng vẫn có thể xem tất cả. Chỉ cần truy cập một trang web như GitHub và duyệt qua một số dự án đang hoạt động, rất có thể bạn sẽ thấy nhiều lần commit mã mỗi ngày. Ví dụ điển hình là GitHub cho vim hiển thị nhiều thẻ được cập nhật mỗi ngày.

Trong khi một số nhà phát triển đẩy thẳng lên GitHub, những người khác sẽ sử dụng các công cụ như Jira và Jenkins, thu thập tất cả các cam kết trong ngày và thực hiện một lần đẩy duy nhất vào thời điểm cụ thể.

Bất kể dự án nguồn mở bạn sử dụng theo hướng nào, mã vẫn thường xuyên được chỉnh sửa, thậm chí nhiều lần mỗi ngày.

Do mã thay đổi liên tục trong ngày, một số nhà phát triển muốn cung cấp các tính năng hoặc chức năng mới cho người dùng càng sớm càng tốt, điều này đòi hỏi phải phát hành các bản cập nhật nhiều lần trong ngày—đặc biệt là nếu có lỗi phá vỡ ứng dụng lọt vào mã và cần phải sửa ngay lập tức.

2. Một số ứng dụng có hành động gây ra hiện tượng dựng giữa ngày

Một số dự án mã hóa sử dụng trình kích hoạt build thủ công và chỉ sử dụng các dịch vụ như GitHub làm kho lưu trữ code. Các ứng dụng này yêu cầu build phải được biên dịch, tải lên hoặc phát hành thủ công.

GitHub cung cấp một dịch vụ gọi là GitHub Actions, có thể tự động tiếp nhận và biên dịch mã của bạn dựa trên một số kích hoạt. Một trong những kích hoạt đó là commit mã. Tôi sử dụng dịch vụ này để biên dịch lại trang web máy chủ Minecraft của mình.

Đối với các nhà phát triển sử dụng GitHub Actions (hoặc bất kỳ nền tảng xây dựng dựa trên trigger nào khác), việc tạo nhiều bản dựng mỗi ngày rất dễ dàng vì hoàn toàn không cần động tay vào. Nhà phát triển chỉ cần đẩy mã và bản dựng sẽ được bắt đầu.

Nghe thì có vẻ hay, nhưng chắc chắn có một số nhược điểm và điều cần lưu ý. Giả sử một lập trình viên đẩy mã đã được kiểm tra hoàn toàn tốt trên máy cục bộ, nhưng ngay trước khi commit, phím xóa lùi bị nhấn và dấu phẩy bị xóa. Điều này nghe có vẻ nhỏ nhặt, nhưng nó có thể làm hỏng toàn bộ phần mềm.

Nếu nhà phát triển không phát hiện ra điều này trước khi bản dựng được kích hoạt và bạn tải xuống phiên bản mới nhất và tuyệt vời nhất của ứng dụng yêu thích vừa hoàn tất quá trình biên dịch, thì bạn sẽ phải đối mặt với một ứng dụng không hoạt động.

Điều này không thường xuyên xảy ra, vì hầu hết các nhà phát triển sẽ đẩy các thay đổi mã nhanh sang các nhánh không ổn định và chỉ xây dựng một nhánh ổn định khi có nhiều tính năng hoặc bản sửa lỗi cần triển khai. Tuy nhiên, chắc chắn rất đáng xem nếu bạn muốn trải nghiệm những điều mới mẻ.

3. Nhiều bản phát hành mỗi ngày cho phép mọi người sống trên bờ vực của sự bùng nổ

Như tôi vừa đề cập, có một số người thích dùng những thứ mới nhất và tuyệt vời nhất, ngay cả khi đi kèm với rủi ro về tính năng hoặc phần mềm bị lỗi. Tôi từng là một trong số những người như vậy, mặc dù tôi đã giảm bớt thói quen này khi lớn tuổi hơn.

Hồi còn trẻ, tôi từng điều hành một nhóm phát triển ROM Android. Chúng tôi đã thu hút được khá nhiều người ủng hộ, và có những người rất thích sử dụng các tính năng mới nhất trong quá trình tích hợp chúng. Nhóm của tôi có một hệ thống tự động, tự động tiếp nhận tất cả các thay đổi đã được phê duyệt (và hầu hết đều đã được kiểm tra), và chạy bản dựng vào lúc nửa đêm. Nếu bản dựng thành công (không phải lúc nào cũng vậy), thì nó sẽ tải ROM lên máy chủ của chúng tôi.

Mỗi sáng thức dậy, một trong những việc đầu tiên tôi làm là tải bản dựng mới nhất từ đêm qua và flash nó. Đôi khi nó flash hoàn toàn bình thường và chạy tốt, nhưng cũng có lúc gặp vấn đề cần gỡ lỗi. Vì vậy, tôi luôn sao lưu trước khi flash.

Vì tôi là nhà phát triển của dự án, nên đây là cách để tôi kiểm tra những gì các nhà phát triển khác đã hợp nhất. Đây cũng là cách để tôi kéo một tệp bị lỗi nếu tệp đó không cài đặt hoặc khởi động đúng cách.

Dù sao đi nữa, tôi đã sống một cuộc sống đầy thử thách, và nhiều người khác cũng vậy. Dạo này, tôi có thể chạy phiên bản beta của phần mềm, nhưng tôi hiếm khi chạy phiên bản alpha hoặc bản phát hành hàng đêm. Có quá nhiều lỗi để tôi làm điều đó vào lúc này.

Bạn đang tìm kiếm phần mềm nguồn mở chất lượng để sử dụng trên máy tính Mac, Linux hoặc Windows? Có rất nhiều ứng dụng để bạn lựa chọn.

Ví dụ, có những ứng dụng Mac nguồn mở được chuyên gia Mac của chúng tôi sử dụng hàng ngày. Với những ai mới làm quen với hệ sinh thái Linux, việc tìm kiếm các ứng dụng thay thế cho phần mềm hàng ngày bạn đang sử dụng giờ đây không còn khó khăn như trước nữa. Còn với những người khác, hãy xem qua những ứng dụng Windows nguồn mở này mà bạn chắc chắn nên sử dụng ngay bây giờ.