Bàn giao mã nguồn: vì sao phải đòi cho bằng được

Điều khoản ngắn nhất trong hợp đồng nhưng quyết định bạn tự do hay bị khoá lại trong nhiều năm sau đó.

Bàn giao mã nguồn: vì sao phải đòi cho bằng được

Trong hợp đồng gia công phần mềm, có một điều khoản ngắn mà phần lớn khách hàng đọc lướt qua: quyền sở hữu mã nguồn. Nó thường nằm ở cuối, viết vài dòng, không có con số nào nên không ai chú ý. Nhưng đây là điều khoản quyết định bạn có tự do hay bị khoá lại trong nhiều năm sau đó.

Mã nguồn là gì, nói cho dễ hiểu

Mã nguồn là toàn bộ phần chữ mà lập trình viên viết ra để tạo nên phần mềm. Cái bạn nhìn thấy trên màn hình là kết quả; mã nguồn là bản gốc. Không có bản gốc thì không ai sửa được gì, kể cả một lập trình viên giỏi hơn.

So sánh gần đúng: bạn thuê thiết kế một bộ nhận diện thương hiệu và chỉ nhận về file ảnh đã xuất, không có file gốc. Muốn đổi màu một chữ cũng phải quay lại đúng người đã làm.

Chuyện gì xảy ra khi bạn không giữ mã nguồn

Bạn mất quyền thương lượng

Mọi thay đổi về sau, dù nhỏ tới đâu, đều phải qua đúng một nơi. Họ báo giá bao nhiêu bạn cũng khó từ chối, vì đi nơi khác nghĩa là làm lại từ đầu.

Bạn phụ thuộc vào sự tồn tại của họ

Công ty gia công ngừng hoạt động, đổi hướng kinh doanh, hoặc đơn giản là người phụ trách nghỉ việc — phần mềm của bạn thành mồ côi trong khi vẫn đang chạy nghiệp vụ hằng ngày.

Bạn không kiểm tra được vấn đề bảo mật

Không có mã nguồn thì không đơn vị thứ ba nào rà soát được. Bạn chỉ có thể tin lời bên làm, kể cả khi hệ thống đang giữ dữ liệu khách hàng.

Bàn giao đầy đủ gồm những gì

Nhận được một thư mục chứa mã nguồn chưa chắc là đã bàn giao xong. Một bàn giao đúng nghĩa gồm:

  • Toàn bộ mã nguồn, bao gồm cả phần quản trị, không chỉ phần người dùng nhìn thấy.
  • Cấu trúc và dữ liệu cơ sở dữ liệu, dạng file có thể phục hồi lại được.
  • Tài liệu triển khai: cần môi trường gì, cài đặt theo các bước nào để dựng lại hệ thống trên một máy chủ mới.
  • Tài khoản quản trị của mọi dịch vụ liên quan: tên miền, máy chủ, kho ứng dụng, dịch vụ bên thứ ba.
  • Danh sách thư viện bên ngoài mà phần mềm phụ thuộc vào, kèm phiên bản.

Cách kiểm tra bàn giao có thật hay không

Có một phép thử đơn giản và bạn không cần biết kỹ thuật để thực hiện: nhờ một lập trình viên độc lập dựng lại hệ thống từ bộ bàn giao, trên một máy chủ mới, mà không hỏi bên gia công câu nào. Nếu dựng lên chạy được, bàn giao là thật. Nếu phải quay lại hỏi, bộ bàn giao còn thiếu.

Nên đưa phép thử này thành điều kiện nghiệm thu trong hợp đồng, thay vì phát hiện thiếu sót một năm sau.

Khi nào bên gia công có lý do giữ lại một phần

Cũng cần công bằng: nếu phần mềm của bạn được xây trên một nền tảng dùng chung do bên gia công tự phát triển và dùng cho nhiều khách hàng, thì phần lõi đó thường không được bàn giao dưới dạng sở hữu. Điều này chấp nhận được, nhưng phải nói rõ ngay từ đầu, và bạn cần biết mình đang ở đâu trên bản đồ đó.

Câu hỏi cần đặt trong trường hợp này là: nếu ngày mai tôi không hợp tác với các anh nữa, hệ thống của tôi có tiếp tục chạy được không, và ai duy trì được nó?

Kết

Đừng đợi tới lúc mâu thuẫn mới đọc lại điều khoản này. Lúc còn đang vui vẻ ký hợp đồng chính là lúc dễ thoả thuận nhất. Một câu ngắn trong hợp đồng — “toàn bộ mã nguồn và dữ liệu thuộc quyền sở hữu của bên A sau khi thanh toán đủ” — tiết kiệm cho bạn rất nhiều rắc rối về sau.

0344 218 136
Zalo