Back home

Điều thực sự đi vào mô hình nguồn mở đầu tiên là vấn đề chuỗi cung ứng.

Sau khi trọng số được công khai, việc phân phối, cập nhật và phần phụ thuộc trước tiên sẽ trở thành trọng tâm.

Một khi chủ đề như vậy được viết là “niêm phong”, sự chú ý sẽ đổ dồn vào một bức tranh quá ấn tượng. Những thay đổi phổ biến hơn trong dự án ít kịch tính hơn: nguồn tải xuống công khai trở nên không ổn định, các trang nhân bản bắt đầu bật lên, một phiên bản nhất định bị xóa khỏi kệ, nhịp cập nhật liên tục bị gián đoạn và chuỗi lý luận trong tay nhóm đột nhiên phải giữ vững.

Lớp hosting chịu áp lực đầu tiên

Mô hình nguồn mở càng được thảo luận nhiều thì càng dễ thấy rõ một điều: những gì có thể bị ảnh hưởng trực tiếp bởi các chính sách, kiểm soát xuất khẩu và quy tắc nền tảng thường không phải là các tài liệu có trọng số đã được phân phối mà là lưu trữ công cộng, suy luận trực tuyến, phân phối phiên bản và các lối vào mặc định.

Điều này có nghĩa là mặc dù có cảm giác như bị “đóng kín” nhưng con đường thực sự bị cắt đứt thường là con đường dễ dàng nhất. Những gì từng là một quy trình đơn giản bao gồm lấy URL, thiết lập giao diện lưu trữ và gọi nó một lần đột nhiên thay đổi thành tìm hình ảnh, thêm chữ ký, kiểm tra hàm băm, kiểm tra giấy phép và xác nhận phiên bản khôi phục. Các hành động tưởng chừng nhỏ nhưng khi kết nối với nhau sẽ tạo thành một chuỗi cung ứng hoàn chỉnh.

Sau khi phiên bản được phân nhánh, tên đó không còn giải thích được vấn đề nữa.

Phần khó nhất của mô hình nguồn mở không bao giờ là “liệu ​​có một cái hay không”. Khi sức nặng lan rộng đến nhiều hình ảnh, nhiều kho tổ chức và nhiều nhánh tinh chỉnh, các hành vi khác nhau sẽ phát triển dưới cùng một tên.

Lúc này, chỉ bàn luận “mô hình có còn ở đó” hay không thôi cũng chưa đủ. Câu hỏi rắc rối hơn là: cái nào là đường chính, cái nào chỉ là hình ảnh phản chiếu, cái nào đã được huấn luyện hai lần và cái nào vẫn giữ nguyên hành vi suy luận ban đầu. Tên vẫn có thể trỏ đến cùng một dự án, nhưng kết quả đầu ra đã bắt đầu khác nhau. Lúc này, nếu các đội vẫn coi “cùng tên” là “cùng một thứ” thì kết quả trực tuyến sớm muộn gì cũng sẽ sai lệch.

Đây cũng là điểm khác biệt lớn nhất giữa mô hình nguồn mở và API nguồn đóng. API nguồn đóng bị ngắt kết nối và hiệu suất rất đơn giản; mô hình nguồn mở được phân nhánh và bề ngoài thì dịch vụ vẫn đang chạy, nhưng đằng sau hậu trường, phiên bản, các phần phụ thuộc và ranh giới hành vi đã được thay đổi. Điều thực sự đáng lo ngại thường không phải là thất bại mà là “có vẻ như nó vẫn hoạt động được”.

Điều thực sự cần khắc phục là tình trạng tái phát nguồn, khôi phục và ngoại tuyến.

Khi loại thay đổi này xảy ra với dự án, điều đầu tiên cần bù đắp không phải là cảm xúc mà là ba thứ: nguồn, khôi phục và tái diễn ngoại tuyến.

Nguồn phải được truy xuất đến các kho cụ thể, các hồ sơ nộp cụ thể và các tài liệu có trọng lượng cụ thể. Việc khôi phục phải có khả năng quay lại phiên bản hành vi trước đó chứ không chỉ là tên. Tái tạo ngoại tuyến phải có khả năng chạy lại cùng một vòng thử nghiệm khi mạng bị giật, máy nhân bản bị mất hoặc gói ngược dòng bị xóa.

Nhiều đội thường cảm thấy những điều này còn rất xa vời với họ. Phải đến một ngày, bản cập nhật ngược dòng thay đổi kiểu đầu ra hoặc quá trình đồng bộ hóa hình ảnh nhất định bị chậm, họ mới phát hiện ra rằng vấn đề hoàn toàn không nằm ở khả năng của mô hình mà là ở chuỗi phụ thuộc không được quản lý như một công dân hạng nhất. Mô hình nguồn càng mở thì điều này càng rõ ràng. Bởi vì những gì nguồn mở mang lại không phải là một “lối vào miễn phí” luôn ổn định mà là một chuỗi cung ứng ngày càng dài hơn.

Phần cơ thể nhất thường không phải là cơ thể của người mẫu.

Khi nói đến môi trường sản xuất, nơi có nhiều khả năng xảy ra sai sót nhất thường không phải là bản thể luận trọng lượng mà là mục nhập mặc định, cập nhật tự động và các phần phụ thuộc tiềm ẩn.

Nếu một nhóm coi một cổng trực tuyến nhất định là nguồn duy nhất, nhóm đó vẫn có thể gọi nó hôm nay, nhưng có thể phải tạm thời tìm cổng thay thế vào ngày mai; nếu coi trạm gương là sự thật mặc định, phiên bản trôi dạt sẽ lặng lẽ lẻn vào huấn luyện và đánh giá; nếu nhịp độ cập nhật quá chặt chẽ, tính ổn định hoạt động của ngày hôm nay không rõ ràng và phiên bản mới ngày mai sẽ trực tuyến.

Vì vậy, loại vấn đề này trông giống như chính trị quốc tế, nhưng khi nói đến kỹ thuật, nó giống quản trị chuỗi cung ứng hơn. Ai kiểm soát mục nhập, ai chịu trách nhiệm ký, ai xác định khôi phục, ai lưu phiên bản cũ và ai có thể xây dựng lại ngoại tuyến, đây là những ranh giới sẽ tiếp tục ảnh hưởng đến việc phân phối. Sau khi mô hình được công bố rộng rãi, không gian còn lại cho các hành động bên ngoài sẽ trở nên nhỏ hơn; khoảng trống để nhóm tự soạn bài sẽ ngày càng lớn hơn.

Liệu mô hình nguồn mở có được “niêm phong” hay không vẫn còn là một câu hỏi hạn hẹp. Một nhận định thực tế hơn là: nguồn càng mở thì càng khó giữ nó bằng một hành động; nhưng càng có nhiều nguồn mở thì càng cần quản lý các phiên bản, nguồn, khôi phục và lặp lại ngoại tuyến. Nếu chuỗi cung ứng này không được kiểm soát, mọi biến động bên ngoài sẽ được khuếch đại thành một vụ tai nạn giống như một “tai nạn mẫu”.