Mã nguồn (source code) là bản viết của phần mềm bằng ngôn ngữ lập trình, thứ duy nhất cho phép sửa lỗi, thêm tính năng hoặc chuyển cho đơn vị khác làm tiếp. Theo Luật Sở hữu trí tuệ của Việt Nam, chương trình máy tính được bảo hộ như tác phẩm văn học, và tổ chức giao kết hợp đồng với tác giả là chủ sở hữu quyền tác giả, trừ khi các bên thoả thuận khác. Chính cụm "trừ khi thoả thuận khác" làm cho điều khoản hợp đồng quyết định phần lớn. Và sở hữu trên giấy chỉ có nghĩa khi mã nguồn, tài liệu, tài khoản thật sự nằm trong tay doanh nghiệp.
Mã nguồn khác phần mềm đang chạy thế nào
Phần mềm đang chạy trên máy chủ hay trên điện thoại là bản đã được dịch hoặc đóng gói từ mã nguồn. Có bản chạy mà không có mã nguồn thì giống có một chiếc xe mà không có quyền mở nắp máy: dùng được cho tới khi hỏng hoặc cần đổi. Vì thế câu "chúng tôi sẽ cài phần mềm cho anh" khác hẳn câu "chúng tôi bàn giao mã nguồn".
Mã nguồn đầy đủ gồm cả những thứ đi kèm để dựng lại được phần mềm: tệp cấu hình mẫu, kịch bản tạo cơ sở dữ liệu, hướng dẫn cài đặt, danh sách thư viện bên thứ ba và giấy phép của chúng. Thiếu các thứ đó, một đơn vị khác nhận mã cũng mất nhiều tuần mới chạy lại được.
Luật nói gì
Luật Sở hữu trí tuệ số 50/2005/QH11 đã được sửa đổi nhiều lần, gần nhất bằng Luật số 131/2025/QH15 được Quốc hội thông qua ngày 10/12/2025, có hiệu lực từ 01/04/2026 (tra ngày 26/09/2026). Hai điểm liên quan trực tiếp tới người thuê làm phần mềm:
- Điều 22: chương trình máy tính được bảo hộ như tác phẩm văn học, dù thể hiện dưới dạng mã nguồn hay mã máy.
- Điều 39: tổ chức, cá nhân giao nhiệm vụ cho tác giả hoặc giao kết hợp đồng với tác giả là chủ sở hữu quyền tác giả, trừ trường hợp có thoả thuận khác.
Một điểm hay bị hiểu lầm: "tác giả" là người trực tiếp viết mã, thường là nhân viên của công ty phần mềm. Quan hệ giữa người viết mã và công ty phần mềm, rồi giữa công ty phần mềm và doanh nghiệp thuê, là hai lớp. Hợp đồng giữa doanh nghiệp và công ty phần mềm cần ghi rõ quyền được chuyển cho bên thuê, không nên chỉ dựa vào quy định chung. Chi tiết áp dụng cho từng hợp đồng nên hỏi luật sư; bài này không thay tư vấn pháp lý.

Bốn câu trong hợp đồng quyết định sở hữu
| Câu trong hợp đồng | Hệ quả với bên thuê |
|---|---|
| Mã nguồn và tài liệu thuộc sở hữu của bên thuê sau khi thanh toán đủ | Có toàn quyền sửa, phát triển, chuyển cho đơn vị khác |
| Bên làm cấp quyền sử dụng phần mềm cho bên thuê | Chỉ được dùng; sở hữu vẫn ở bên làm |
| Bên làm được tái sử dụng thành phần dùng chung không chứa nghiệp vụ riêng | Hợp lý, miễn là phần nghiệp vụ riêng thuộc bên thuê |
| Không nhắc tới mã nguồn | Mặc định pháp lý áp dụng, nhưng trên thực tế thường không được bàn giao |
Điều khoản dịch vụ của ALODEV (mục 4) viết theo dòng đầu và dòng ba: sau khi khách thanh toán đầy đủ, mã nguồn được bàn giao toàn bộ, khách có toàn quyền sử dụng, chỉnh sửa và phát triển tiếp; tệp thiết kế, hình minh hoạ, nội dung chữ thuộc về khách; ALODEV giữ quyền tái sử dụng các thành phần nội bộ không chứa thông tin nghiệp vụ riêng của khách, và chỉ dùng tên dự án, ảnh chụp màn hình trong hồ sơ năng lực khi khách đồng ý.
Sở hữu trên giấy và sở hữu thật
Hợp đồng ghi đúng mà mã nguồn vẫn nằm trên máy của bên làm thì doanh nghiệp chỉ sở hữu trên giấy. Sở hữu thật là khi:

- Mã nguồn nằm trên kho (GitHub, GitLab) của doanh nghiệp, có lịch sử thay đổi, không chỉ là một tệp nén gửi lúc cuối.
- Tài khoản máy chủ, tên miền, cơ sở dữ liệu, tài khoản cửa hàng ứng dụng đứng tên doanh nghiệp.
- Có tài liệu đủ để một đơn vị khác dựng lại hệ thống.
- Có tài khoản quản trị gốc của hệ thống đã bàn giao.
Trang Cam kết mã nguồn của ALODEV liệt kê đúng các mục đó, mỗi mục dẫn về điều khoản gốc: mã nguồn đặt trên kho GitHub hoặc GitLab của doanh nghiệp, cơ sở dữ liệu và tên miền đứng tên doanh nghiệp, tài liệu kỹ thuật, sổ tay, tài khoản quản trị gốc.

Khi nào sở hữu mã nguồn không quan trọng lắm
Với phần mềm thuê bao (SaaS) dùng chung cho nhiều khách, không ai được sở hữu mã nguồn, và điều đó bình thường. Thứ cần sở hữu khi đó là dữ liệu: quyền xuất toàn bộ dữ liệu ra định dạng đọc được, bất cứ lúc nào, kể cả khi ngừng thuê. Sở hữu mã nguồn chỉ là câu hỏi sống còn khi doanh nghiệp trả tiền để làm một phần mềm riêng.
Kiểm quyền sở hữu ngay trong lúc làm
Không cần đợi tới ngày bàn giao mới biết mã có về tay mình không. Từ tuần đầu, xin quyền xem kho mã và nhìn vào lịch sử thay đổi: mã được đẩy lên đều đặn là dấu hiệu tốt, cả tháng không có thay đổi nào mà vẫn báo tiến độ là dấu hiệu cần hỏi. Người không biết lập trình vẫn đọc được ngày và mô tả của từng lần thay đổi. Bài quy trình Git cho nhóm: nhánh, commit, review trên blog Trần Công Thắng giải thích một kho mã được làm việc đều trông như thế nào.
Câu hỏi thường gặp
Source code là gì?
Source code (mã nguồn) là phần mềm viết bằng ngôn ngữ lập trình mà con người đọc và sửa được. Có mã nguồn mới sửa lỗi, thêm tính năng hoặc chuyển cho đơn vị khác làm tiếp.
Thuê làm phần mềm thì mã nguồn thuộc về ai?
Theo Điều 39 Luật Sở hữu trí tuệ, bên giao kết hợp đồng với tác giả là chủ sở hữu quyền tác giả trừ khi có thoả thuận khác. Hợp đồng nên ghi rõ mã nguồn thuộc bên thuê sau khi thanh toán đủ.
Công ty phần mềm có được dùng lại mã đã làm cho tôi không?
Tuỳ hợp đồng. Thường chấp nhận được việc dùng lại thành phần chung không chứa nghiệp vụ riêng; phần nghiệp vụ riêng và dữ liệu thì không.
Bàn giao mã nguồn gồm những gì?
Mã nguồn trên kho của doanh nghiệp kèm lịch sử, tệp cấu hình mẫu, kịch bản cơ sở dữ liệu, hướng dẫn cài đặt, danh sách thư viện và giấy phép, cùng tài liệu kiến trúc.
Mua phần mềm SaaS có được mã nguồn không?
Không, vì mã dùng chung cho nhiều khách. Với SaaS, cần đòi quyền xuất dữ liệu đầy đủ bất cứ lúc nào.





