Ký quỹ mã nguồn, thường gọi theo thuật ngữ tiếng Anh là software escrow, tồn tại để trả lời một nỗi lo chính đáng: nhà cung cấp đã xây dựng và đang vận hành hệ thống trọng yếu của bạn biến mất khỏi thị trường, còn bạn ở lại với một thứ mà bạn phụ thuộc vào nhưng không thể bảo trì. Hợp đồng ký quỹ giao mã nguồn cho một bên thứ ba, bên này sẽ trao lại cho bạn nếu điều đó xảy ra.
Nỗi lo là có thật. Còn công cụ thì thường bị hiểu sai, và khoảng cách giữa hai điều đó sinh ra những hợp đồng tốn tiền mỗi năm mà lại không giúp được gì đúng vào ngày cần đến.
Câu hỏi khó chịu cần đặt ra trước khi ký: nếu mã nguồn được trao cho bạn vào ngày mai, liệu có ai chạy nổi nó không? Một bản ký quỹ mã nguồn không có hướng dẫn biên dịch, không có định nghĩa hạ tầng, không có thông tin đăng nhập cho các dịch vụ bên ngoài mà nó gọi tới và không có dữ liệu thì không phải là kế hoạch duy trì hoạt động. Đó chỉ là một thư mục. Những hợp đồng ký quỹ chưa bao giờ được kiểm chứng vẫn thường xuyên bàn giao đúng thứ như vậy.
Ký quỹ mã nguồn bao gồm những gì
Một hợp đồng ba bên giữa bạn, nhà cung cấp và đơn vị nhận ký quỹ. Nhà cung cấp gửi tài liệu cho đơn vị nhận ký quỹ, đơn vị này giữ tài liệu, và các điều kiện bàn giao đã định sẵn quyết định khi nào bạn nhận được.
Điều kiện bàn giao mới là phần đáng đàm phán. Mất khả năng thanh toán là trường hợp hiển nhiên và dễ chứng minh nhất. Những trường hợp khác lại quan trọng hơn trong thực tế: nhà cung cấp ngừng bảo trì sản phẩm, không hoàn thành nghĩa vụ hỗ trợ, hoặc bị một đối thủ của bạn mua lại. Danh sách điều kiện kích hoạt quá hẹp có nghĩa là đơn vị nhận ký quỹ sẽ từ chối bàn giao đúng trong những tình huống mập mờ mà bạn cần tài liệu nhất.
Bản thân phần ký quỹ phải nhiều hơn mã nguồn. Tối thiểu: hướng dẫn biên dịch đủ cụ thể để tạo ra một hệ thống chạy được, phiên bản của các thư viện phụ thuộc, cấu hình hạ tầng, tài liệu về các dịch vụ bên ngoài kèm nơi lưu thông tin đăng nhập, và một đầu mối kỹ thuật được nêu tên. Thiếu những thứ đó, mã nguồn gần như vô giá trị.
Và phần ký quỹ phải được cập nhật. Bản sao lấy lúc ký hợp đồng rồi không bao giờ làm mới là bản ghi chính xác của một phần mềm không còn ai chạy nữa.
Vì sao phần lớn hợp đồng ký quỹ thất bại khi bàn giao
Vì không ai kiểm tra cả.
Hợp đồng mẫu là một văn bản pháp lý mặc định rằng phần nội dung kỹ thuật vốn đã ổn. Các đơn vị nhận ký quỹ có dịch vụ kiểm chứng, từ mức xác nhận rằng phương tiện lưu trữ đọc được cho tới mức biên dịch bản ký quỹ và chạy nó trong một môi trường sạch. Mức rẻ chứng minh được gần như không có gì. Mức đắt là phiên bản duy nhất trả lời đúng câu hỏi mà bạn thực sự đang đặt ra.
Những phát hiện thường gặp khi một bản ký quỹ được kiểm chứng tử tế: nó không biên dịch được nếu thiếu một công cụ mà không ai ghi lại, nó phụ thuộc vào một kho gói riêng sẽ không còn tồn tại sau khi nhà cung cấp biến mất, nó cần thông tin đăng nhập cho những dịch vụ chưa từng được liệt kê, hoặc đơn giản là một phiên bản cũ hơn bản đang chạy thật.
Nếu bạn đã trả tiền cho ký quỹ, hãy trả tiền cho phần kiểm chứng. Một hợp đồng không được kiểm chứng chuyển giao cảm giác về rủi ro mà không chuyển giao rủi ro, và chênh lệch chi phí nhỏ hơn cái giá của việc phát hiện ra sự thật vào thời điểm tệ nhất.
Vấn đề của SaaS
Ký quỹ truyền thống giả định rằng bạn sẽ tự vận hành phần mềm. Với phần mềm chạy trên hạ tầng của nhà cung cấp, giả định đó thường không đúng.
Nhận mã nguồn của một nền tảng mà bạn vẫn truy cập qua Internet để lại cho bạn nhu cầu về hạ tầng, công cụ triển khai, kiến thức vận hành và dữ liệu của chính bạn, và phần lớn những thứ đó không nằm trong bản ký quỹ. Ngay cả với một gói đầy đủ, việc dựng nó lên vẫn mất nhiều tuần mà một doanh nghiệp phụ thuộc vào hệ thống hiếm khi có.
Vì thế các biện pháp bảo vệ hữu ích cho phần mềm dạng dịch vụ lại khác hẳn. Quyền trích xuất dữ liệu quan trọng hơn mã nguồn: quyền theo hợp đồng để lấy bản xuất đầy đủ ở định dạng có tài liệu mô tả, được thực hiện đều đặn chứ không chỉ hứa suông. Cam kết duy trì dịch vụ, theo đó nhà cung cấp đồng ý vận hành dịch vụ thêm một thời hạn xác định sau khi chấm dứt hợp đồng, mua cho bạn khoảng thời gian chuyển đổi mà chỉ riêng mã nguồn không mang lại. Một bản xuất đã kiểm chứng và bạn đã thực sự thử đáng giá hơn bất kỳ bản ký quỹ nào bạn chưa từng thử.
Với phần lớn phần mềm dạng dịch vụ, hợp đồng ký quỹ là công cụ sai, được mua theo thói quen, và số tiền đó dùng tốt hơn cho những bản xuất định kỳ mà bạn đã chứng minh được là mình đọc được.
Chi phí bao nhiêu và phù hợp với ai
Ký quỹ là khoản chi hằng năm, thường từ vài trăm đến vài nghìn bảng Anh mỗi năm tùy theo dung lượng ký quỹ, số bên thụ hưởng và mức độ kiểm chứng. Phần kiểm chứng được tính phí riêng, và đó mới là khoản chi có ý nghĩa.
Nó thực sự phù hợp với: những hệ thống mà gián đoạn sẽ gây thiệt hại rõ rệt cho doanh nghiệp, những nhà cung cấp đủ nhỏ để việc phá sản là khả năng có thật, phần mềm cài tại chỗ hoặc tự lưu trữ được mà bạn có thể vận hành một cách hợp lý, và những trường hợp cơ quan quản lý hay hợp đồng với khách hàng bắt buộc phải có.
Nó ít phù hợp hơn với: phần mềm dạng dịch vụ mà dù sao bạn cũng không vận hành mã nguồn, những hệ thống phổ thông dễ thay thế, và những nhà cung cấp nhỏ mà chi phí hằng năm chiếm một phần thấy rõ trong giá trị hợp đồng.
Phương án đáng cân nhắc trước tiên đơn giản là sở hữu mã nguồn. Nếu công việc là phát triển riêng và do bạn đặt hàng, hãy đàm phán chuyển giao quyền sở hữu trí tuệ cùng một bản sao kho mã ở mỗi lần phát hành. Điều đó loại bỏ nhu cầu về một bên trung gian, và các điểm trong hướng dẫn thẩm định kỹ thuật của chúng tôi cũng chính là những điểm khiến một cuộc bàn giao như vậy dùng được.
Làm sao để nó có ích nếu bạn vẫn mua
Hãy đàm phán điều kiện kích hoạt bàn giao thay vì chấp nhận danh sách mẫu, và thêm cả việc nhà cung cấp bỏ rơi sản phẩm bên cạnh mất khả năng thanh toán.
Hãy ghi rõ nội dung ký quỹ trong hợp đồng, không phải trong phụ lục không ai đọc: hướng dẫn biên dịch, định nghĩa hạ tầng, danh mục thư viện phụ thuộc, bản kiểm kê dịch vụ bên ngoài và một đầu mối nêu tên.
Hãy yêu cầu cập nhật theo chu kỳ xác định hoặc ở mỗi bản phát hành lớn, kèm bằng chứng rằng việc đó đã diễn ra.
Hãy trả tiền cho mức kiểm chứng mà bên nhận ký quỹ biên dịch và chạy tài liệu, rồi đọc báo cáo. Một lần kiểm chứng tìm ra vấn đề là đang làm đúng việc.
Và hãy thử mức sẵn sàng của chính bạn. Nếu tài liệu về vào ngày mai, ai sẽ nhận, và làm gì đầu tiên? Hợp đồng ký quỹ không có người phụ trách nội bộ là hóa đơn, không phải kế hoạch. Hướng dẫn khôi phục sau thảm họa áp dụng trực tiếp.
Mecanik vừa gửi mã nguồn vào ký quỹ, vừa giúp khách hàng đánh giá xem họ có thực sự cần hay không, trong công việc phát triển phần mềm của chúng tôi. Câu trả lời trung thực thường là số tiền ấy mua được nhiều bảo vệ hơn nếu chi cho bản sao lưu đã kiểm chứng và quyền sở hữu trí tuệ rõ ràng.
Câu hỏi thường gặp
Ký quỹ mã nguồn là gì? Một hợp đồng ba bên giữa khách hàng, nhà cung cấp phần mềm và đơn vị nhận ký quỹ. Nhà cung cấp gửi mã nguồn và tài liệu kèm theo cho đơn vị nhận ký quỹ, đơn vị này bàn giao cho khách hàng khi các điều kiện đã định được đáp ứng, phổ biến nhất là nhà cung cấp mất khả năng thanh toán hoặc ngừng bảo trì sản phẩm.
Vì sao hợp đồng ký quỹ thất bại khi bàn giao? Vì bản ký quỹ chưa bao giờ được kiểm chứng. Những phát hiện thường gặp là tài liệu không biên dịch được nếu thiếu một công cụ không được ghi lại, phụ thuộc vào kho gói riêng biến mất cùng nhà cung cấp, thiếu thông tin đăng nhập cho dịch vụ bên ngoài, hoặc một phiên bản cũ hơn bản đang chạy thật. Chỉ có mức kiểm chứng biên dịch và chạy bản ký quỹ mới trả lời được câu hỏi thật sự.
Ký quỹ mã nguồn có hiệu quả với SaaS không? Kém. Nhận mã nguồn của một nền tảng chạy trên hạ tầng nhà cung cấp vẫn để lại cho bạn nhu cầu về hạ tầng, công cụ triển khai, kiến thức vận hành và dữ liệu của bạn, và việc dựng nó lên mất nhiều tuần. Quyền trích xuất dữ liệu, một thời hạn duy trì dịch vụ theo hợp đồng sau khi chấm dứt, và các bản xuất được thử định kỳ bảo vệ một dịch vụ trực tuyến tốt hơn nhiều so với một bản ký quỹ mã nguồn.
Ký quỹ mã nguồn tốn bao nhiêu? Thường từ vài trăm đến vài nghìn bảng Anh mỗi năm tùy theo dung lượng ký quỹ, số bên thụ hưởng và mức độ kiểm chứng, phần kiểm chứng tính phí riêng. Khoản chi có ý nghĩa nằm ở phần kiểm chứng, và một hợp đồng thiếu nó chỉ chuyển giao cảm giác về rủi ro chứ không chuyển giao rủi ro.
Có phương án thay thế cho ký quỹ không? Với công việc phát triển riêng do bạn đặt hàng, việc đàm phán chuyển giao quyền sở hữu trí tuệ cùng một bản sao kho mã ở mỗi lần phát hành loại bỏ hoàn toàn nhu cầu về bên trung gian. Với phần mềm dạng dịch vụ, một bản xuất có tài liệu mô tả mà bạn đã thực sự thử đọc thường đáng giá hơn bất kỳ bản ký quỹ nào bạn chưa thử.
Bình luận