source code 100% thuộc về khách: sở hữu fork dự án, không nhầm với sở hữu cả npm registry
· Tác giả: Trường — Founder Webchốt
source code 100% thuộc về khách là cam kết điền vào hợp đồng để DN yên tâm không bị khóa trên vendor — nhưng cần phân tầng: phần bespoke viết cho bạn chuyển giao đầy đủ; phần OSS và SDK cloud vẫn thuộc tác giả gốc. Webchốt bàn giao repo, hướng dẫn chạy CI, và checklist rotate secret. Việc đọc phụ lục về boilerplate tái sử dụng giúp tránh tranh luận sau này. Trao đổi: dịch vụ, giá, liên hệ — 0905 151 701, hi@webchot.com.
Quyền sở hữu rõ ràng — giảm sợ bị khóa deploy | Nguồn: webchot.com
Phân lớp IP trong một repo Next.js điển hình
Thư mục app router bespoke thường là tài sản chính; package internal scope studio có thể private registry — cần điều khoản “sau bàn giao chuyển public artifact vào repo khách”. source code 100% thuộc về khách không xoá nghĩa vụ tuân MIT của lodash; vẫn cần file THIRD_PARTY_NOTICES. Với ảnh stock mua license, ghi rõ seat và khu vực sử dụng.
Font commercial cần license transfer đúng brand owner.
Checklist bàn giao kỹ thuật sau sprint cuối
Tránh “hoc patch cuối tuần” không commit.
- Điểm 1: Owner GitHub/GitLab về email khách.
- Điểm 2: PAT cũ revoke, tạo deploy key mới.
- Điểm 3: ENV prod copy vào vault khách.
- Điểm 4: Tag semver release cuối.
Bảng: work-for-hire vs license độc quyền
Tên pháp lý tuỳ luật áp dụng — bảng mang tính định hướng.
| Tiêu chí | Work-for-hire gọn | License độc quyền | Khuyên dùng |
|---|---|---|---|
| Quyền tái dùng studio | Thấp | Thương lượng | Nếu cần tái bán template |
| Chi phí lawyer | Thấp | Cao hơn | Dự án lớn nên invest |
| Thời gian ký | Nhanh | Chậm | Startup ưu tiên tốc độ |
| Rủi ro tranh chấp | Thấp nếu rõ | Thấp nếu rõ | Luôn ghi file đính kèm |
Đây không phải tư vấn pháp lý — hãy tham vấn luật sư khi deal trị giá cao.
Quy trình 5 bước nhận repo sạch
- Bước 1: Clone về máy dev nội bộ khách.
- Bước 2: Chạy lint/test pipeline.
- Bước 3: Deploy staging bằng secret mới.
- Bước 4: So khớp SBOM với policy công ty.
- Bước 5: Ký biên bản nghiệm thu IP.
Nếu fail bước 2, quay lại dev — đừng ký tay.
Đọc gói và phụ lục IP khi mua dịch vụ
Xem bảng giá; liên hệ để nhận phụ lục IP chuẩn. Template có thể có license riêng — hỏi trước.
Sai lầm phổ biến
Không đổi owner repo; lưu secret trong chat Zalo; fork nhưng không cập nhật license file.
- Sai lầm 1: Nghĩ “100% code” gồm cả data khách hàng trong DB — đó là dữ liệu, không phải IP code.
- Sai lầm 2: Dùng lại component có NDA của khách khác — vi phạm.
- Sai lầm 3: Không đọc AGPL dependency — bắt buộc disclose.
- Sai lầm 4: Quên trademark domain không chuyển.
Đọc kỹ license dependency và nghĩa vụ tái phân phối
source code 100% thuộc về khách không giải phóng bạn khỏi AGPL nếu bạn phân phối binary chứa component đó. Khi tích hợp SDK quảng cáo hoặc analytics, điều khoản thương mại của họ có thể cạnh tranh với cam kết IP — cần rà song song. Nếu dùng CI secret scan và phát hiện key lộ trong lịch sử Git, việc rotate key là ưu tiên zero — không tranh cãi thuộc warranty hay không.
Handoff kèm license list cho designer: font, stock photo, icon pack — tránh DN mua gói personal dùng cho thương mại. Với codebase lớn, có thể dùng SPDX headers — tốn công đầu nhưng audit M&A sau này nhanh hơn. Cuối cùng, ghi rõ quyền tái sử dụng đoạn code utilities—đôi khi studio giữ MIT package riêng để không bị kẹt tái phát triển.
Nếu khách tự deploy CI/CD fork, merge upstream định kỳ để nhận security patch — IP bàn giao không có nghĩa studio duy trì fork vô thời hạn. Với design asset Figma, export SVG icon phải optimize SVGO nhưng giữ license glyph. Legal nên review điều khoản không cạnh tranh nếu dev rời sang dự án tương tự ngành.
source code 100 thuộc về khách cần định nghĩa “deliverable” gồm repo, CI YAML, IaC, và secret template — không chỉ thư mục src. Nếu studio giữ package private registry, phải có plan transfer hoặc mirror trong 30 ngày. IP third-party: ffmpeg, font commercial, UI kit phải có entitlement list đính kèm ZIP handoff.
Git history: có thể squash trước bàn giao nhưng không xoá commit chứng minh license attribution. Khách fork nên bật branch protection và secret scanning trước khi invite contractor ngoài. Khi có module AI-generated snippet, ghi rõ guideline nội bộ studio — tránh grey area bản quyền downstream.
Điều khoản escrow source có thể dùng lawyer light cho startup — milestone thanh toán gắn tag release semver. Nếu khách không thanh toán đợt cuối, license fallback theo hợp đồng phải rõ (thường revoke production, giữ dev copy). Documentation API versioned cùng OpenAPI file — postman collection không đủ cho team 10 người.
Khi source đi kèm mobile app shell, license SDK (map, push, analytics) phải tách khỏi license web — tránh buyer tưởng gộp. Contract chỉnh sửa sau handoff: định nghĩa “nhỏ” vs “lớn” theo story point cap. Binary asset — font web, icon font — cần checksum SHA trong manifest để phát hiện file corrupt khi clone.
Nếu khách dùng self-hosted Git, backup bare repo sang object storage immutable. Pen-test trước go-live public repo fork có thể lộ secret cũ trong history — dùng trufflehog. Bàn giao nên có diagram C4 context để kỹ sư mới hiểu ranh giới hệ thống trong hai giờ đầu.
Legal escrow: nếu dùng luật sư bên thứ ba giữ milestone, đính kèm hash commit SHA đối chiếu từng đợt nhả tiền. Khách outsource penetration test sau handoff phải có NDA với lab; báo cáo raw chỉ share qua SFTP TTL ngắn. Monorepo vs polyrepo quyết định license scan — mỗi pattern có tool riêng, document lựa chọn lúc bàn giao để audit sau này không mất 40 giờ điều tra.
Handoff cuối nên kèm file NOTICES cho OSS theo chuẩn SPDX hoặc tương đương; luật sư khách dễ import vào Black Duck. Nếu có submodule git private, ghi rõ ai trả phí GitHub seat sau ngày bàn giao. Container image đi kèm phải list digest sha256 trong appendix — tránh “latest” không tái hiện được build. Cuối cùng, checklist xoá collaborator khỏi repo, npm org, và Vercel team — automation IaC giúp không sót account ghost.
FAQ — source code 100% thuộc về khách
Có được publish repo public không?
Tuỳ NDA và bí mật kinh doanh — hỏi pháp chế nội bộ.
AI codegen có vấn đề IP không?
Cần policy công ty về license output — ghi trong repo CONTRIBUTING.
Vẫn cần Webchốt deploy không?
Tách quyền code và vận hành — có thể mua retainer riêng.
Database schema có thuộc IP không?
Thường là phần derivative work — ghi trong hợp đồng.
Cần hỗ trợ handoff khẩn?
0905 151 701 — ưu tiên gói enterprise.
Liên Hệ Webchốt
source code 100% thuộc về khách là bàn đạp để bạn tự chủ đường ray sản phẩm — Webchốt làm đúng thủ tục Git và giấy tờ kèm theo. Gọi 0905 151 701, Zalo 0905151701, hi@webchot.com.
- Hotline / Zalo: 0905 151 701 — gặp anh Trường (founder/dev).
- Chat Zalo: zalo.me/0905151701 — phản hồi nhanh.
- Email: hi@webchot.com — phản hồi <12h làm việc.
- Studio: 262/1/93 Phan Anh, Phường Phú Thạnh, TP.HCM (T2–T7, 9h–18h).
Tham khảo thêm: 17 template Next.js · 10 dịch vụ web chuyên sâu · bảng giá Webchốt 2026 · 12 công cụ kế toán/tài chính miễn phí.
Reference: Next.js docs · web.dev Core Web Vitals.