BOLO Insights & Legal Updates

Software Development Agreements: Who Owns Custom Code, Integrations, and Deliverables?

A business may pay a developer to build a platform and assume that payment means it owns the finished software. That assumption can be expensive. The agreement may grant only a limited license, reserve ownership of reusable components, or fail to address the source code and integrations necessary to operate the system.

Separate background IP from new deliverables

Developers often use preexisting frameworks, libraries, tools, templates, and code. The client may reasonably expect ownership of specially commissioned deliverables without owning every underlying component. Define background intellectual property, project-specific work product, third-party materials, and the licenses needed to use each element.

Do not rely on the phrase “work made for hire” alone

Under federal copyright law, the work-made-for-hire doctrine has specific requirements. A commissioned independent-contractor work qualifies only in designated categories and under the required written agreement. Software development does not automatically satisfy those conditions merely because the customer paid for it. A written assignment of applicable rights may be needed. See 17 U.S.C. § 101 and 17 U.S.C. § 201.

Specify what must be delivered

A usable handoff may require source code, repositories, build instructions, deployment scripts, documentation, API credentials, database schemas, test suites, and third-party license inventories. A compiled application without these materials may leave the customer dependent on the original developer. Identify delivery milestones and acceptance criteria.

Plan for open-source and third-party code

Third-party licenses can impose conditions on redistribution, attribution, modification, or distribution of derivative works. Require a software bill of materials or suitable inventory where risk warrants it. An agreement should allocate responsibility for obtaining necessary licenses and remediating unauthorized components. Do not assume all open-source licenses have identical obligations.

Test functionality before final acceptance

Define performance requirements, security requirements, compatibility, defect severity, cure periods, and the process for rejecting nonconforming deliverables. Link payments to objectively verifiable milestones when commercially feasible. If scope changes, require a written change-order mechanism addressing cost and schedule.

Address confidentiality, security, and data rights

Developers may access customer records, production credentials, or proprietary systems. Define permitted access, security safeguards, incident reporting, subcontractor restrictions, and return of information. Healthcare or educational projects may require additional sector-specific agreements and controls.

Design the exit and dispute process

What happens if the developer misses a milestone or the relationship ends before completion? The customer may need a license to work in progress, access to repositories, and cooperation with a successor developer. The developer may need protection for unpaid fees and proprietary tools. Termination terms should balance those interests and avoid using essential customer data as leverage.

BOLO Health Law advises technology companies and business customers on technology and software agreements. Request a contract review.

Authorities: 17 U.S.C. §§ 101, 201, 204; the agreement’s governing state contract law.

Illustration: payment does not answer the ownership question

Suppose a company pays $150,000 for a custom scheduling platform. The developer uses its existing authentication module, a third-party charting library, and new code written specifically for the customer. If the contract merely says “all deliverables belong to client,” the parties may disagree about the developer’s reusable components, third-party restrictions, and whether the customer can modify the source code without further fees.

A more precise agreement defines newly created work, preexisting materials, open-source components, and third-party licenses separately. It grants the customer the ownership or license rights necessary to operate, maintain, and transfer the product, while preserving rights the developer legitimately retains.

Use a signed assignment where appropriate

Under 17 U.S.C. § 204, a transfer of copyright ownership generally requires a writing signed by the owner or authorized agent, subject to statutory exceptions. A vague invoice or payment record may not provide the clarity the customer expects. The agreement should identify the rights being assigned, the timing of assignment, and any conditions tied to payment.

Copyright ownership is also different from ownership of physical hardware, domain registrations, trademarks, customer data, and patents. Those assets may require separate contractual treatment.

Specify repository and credential control

Determine who owns or administers the source-code repository, cloud hosting account, app-store account, domain, API keys, and deployment pipeline. A company may technically own code yet remain unable to deploy it because the vendor controls credentials or documentation. Establish access rights, backup procedures, and handoff obligations before a dispute arises.

For sensitive systems, production credentials should not be shared casually. Role-based access, logging, credential rotation, and secure transfer should be incorporated into the transition plan.

Acceptance should be objective

Define testing scenarios, critical defects, supported environments, performance thresholds, and the period for identifying nonconformities. Silence should not automatically count as acceptance unless the parties deliberately agree to that mechanism. A change-control process should distinguish bug fixes from new features, and each change order should address price, scope, and schedule.

Plan for a failed implementation

Consider what happens when the developer misses a milestone, abandons the project, or cannot satisfy a security requirement. Can the customer obtain work in progress? Must the developer assist a replacement provider? Which fees remain payable? Does the customer receive a license to partially completed code? These questions should be answered while the parties are cooperative.

Security and regulated data

Where software handles patient, student, financial, or employee information, contract provisions should align with applicable legal requirements and the actual architecture. Security testing, vulnerability remediation, subcontractor access, and incident notification may require more specificity than a generic confidentiality clause. A software contract should not promise regulatory compliance without defining the parties’ respective responsibilities.

Clear ownership, acceptance, and transition terms reduce the risk that a failed development relationship becomes a business shutdown.

Related BOLO analysis: For connected software-vendor risks, see AI and SaaS contracting terms for data use, indemnification, and exit.

General information, not legal advice. No attorney-client relationship is formed by reading this article or submitting an inquiry. Do not include confidential or protected information in an initial web form.

Need counsel for the facts behind the issue?

General legal education cannot assess the records, contract terms, procedural posture or deadlines in your own matter. BOLO reviews select matters involving healthcare providers, regulated businesses and individuals, subject to conflicts, scope and jurisdiction.

Read how BOLO researches and reviews legal content. Do not send confidential records through public inquiry forms. Contact alone does not establish representation or extend any deadline.