Work-for-Hire Under 17 U.S.C. Β§ 101
In the United States, the work-for-hire doctrine is the primary mechanism for transferring copyright ownership from a contractor to a client. Section 101 of Title 17 (the federal copyright statute) provides that works created by independent contractors can be considered "works made for hire" if there is a written agreement stating so, and the work falls into one of nine enumerated categories.
For software development, the most relevant category is: "A contribution to a collective work; a part of a motion picture or other audiovisual work; a translation; a supplementary work; a compilation; an instructional text; a test; answer material for a test; or an atlas."
Software code generally does not fit neatly into these categories, which means work-for-hire status is uncertain for custom software unless explicitly negotiated. This is why most US developer agreements use assignment clauses instead.
IP Assignment vs Work-for-Hire Strategy
The safer approach in US contracts is IP assignment. Example language:
"Developer assigns all copyright, trade secret, patent, and other intellectual property rights in the deliverables to Client, effective upon completion and final payment. This assignment includes all source code, documentation, databases, and any related works."
Why assignment is often better: It's explicitly permitted under 17 U.S.C. Β§ 204 (a), which requires that transfers of copyright ownership be in writing and signed by the copyright owner. An assignment doesn't rely on the uncertain work-for-hire categories and is widely recognized as enforceable.
IRS Contractor vs Employee Classification: The 20-Factor Test
The IRS uses the "20-factor test" from Treasury Regulation Β§ 20.3121-2 to determine if someone is a contractor or employee. Key factors:
Behavioral control: Does the client control how the work is done (when, where, how to perform tasks)? Contractors have flexibility; employees take instruction.
Financial control: Does the contractor have financial risk? Can they profit or lose money on the engagement? Contractors invoice and may work for multiple clients.
Relationship type: Is there an expectation of ongoing relationship? Short-term projects support contractor status. Indefinite arrangements suggest employment.
Your agreement should reinforce contractor status: "Developer is an independent contractor and retains sole discretion over how services are performed, including methodology, schedule, and location. Developer may simultaneously work for other clients."
California AB5 & the ABC Test
California's Assembly Bill 5 (effective 2020) makes it very difficult to classify someone as a contractor. It imposes an "ABC test" where ALL three prongs must be satisfied:
A. Control: The hiring entity does not control the work (method, manner, means)
B. Business scope: The contractor performs work outside the hiring entity's usual business
C. Independence: The contractor is customarily engaged in an independently established business
For many tech companies, the "B" prong is problematic β developers writing code for a software company are arguably doing work within the company's usual business. California courts have been strict on this.
Protection strategy: If you hire California-based developers, use language emphasizing that:
- Developer controls work methods and schedule
- Developer can decline specific projects
- Developer works for other clients (multi-client engagement)
- Developer is an established development business with multiple clients and projects
Consider: California employment classification risk is real. Some companies budget for potential Super Guarantee (or California unemployment insurance) liability when hiring California-based contractors doing core business work.
GitHub & Source Code Ownership Upon Contract Termination
Practical issues around repository access and code ownership:
Best practices:
- Account ownership: Create GitHub accounts under your corporate account (company email, company name). Add contractor as collaborator, not owner.
- Immediate access removal: Remove contractor's GitHub access the day the contract ends. Change any credentials they had (API keys, webhooks, deploy tokens).
- Code export: Require contractor to provide a complete git clone of all work before final payment. Retain a backup copy.
- Private packages: If contractor created npm packages or other private dependencies, ensure you own the accounts or can transfer them. Contractor should not be sole owner of critical packages.
Include in agreement: "Developer shall not retain copies of source code after contract termination. All code shall be delivered to Client and securely removed from Developer's systems. Client owns all repositories and access credentials."
1099-NEC Reporting & Tax Implications
As a client, if you pay a contractor more than $600 in a calendar year, you must file IRS Form 1099-NEC. Your agreement should clarify:
Tax responsibility: "Developer is responsible for all self-employment taxes, federal and state income taxes, and statutory withholdings. Client will not withhold taxes. Client will issue Form 1099-NEC for payments exceeding $600."
W-9 requirement: Request a completed IRS Form W-9 from Developer providing their Tax ID (SSN or EIN). Store it securely for tax filing purposes.
Failure to obtain a W-9 or misfile 1099s can result in IRS penalties, so ensure your contractor provides proper documentation.
Post-Delivery Support & Bug Fix Obligations
Define warranty periods clearly. Most contracts include a 30-90 day "defects warranty" where the developer fixes bugs they introduced, at no charge.
Example: "Developer warrants that Deliverables will be free of material defects for 90 days post-delivery. Developer shall correct any bugs or defects reported by Client at no charge during this period. After 90 days, support is available at Developer's standard support rates."
Exclude: Bugs caused by Client's changes, third-party software updates, or environment issues are not Developer's responsibility.
Information to Prepare Before Generating
- Project scope: Description of work, deliverables, timeline
- Rate and payment: Fixed price, hourly rate, or milestone payments?
- IP ownership: Work-for-hire, IP assignment, or hybrid approach?
- GitHub/repository setup: Who owns accounts? Where is code stored?
- Warranty period: How long will Developer fix bugs for free?
- Termination terms: Can either party end early? Is there a termination fee?
- Developer location: If California-based, ensure compliance with AB5 ABC test
- Confidentiality: Any sensitive information to protect?
Official US Resources on Contractor Agreements & IP
These authoritative US government and legal sources cover the key laws that govern contractor agreements, worker classification, and intellectual property ownership:
- IRS: Independent Contractor vs Employee Classification β the IRS's official guidance on the behavioral, financial, and type-of-relationship tests that determine contractor status for tax purposes
- US Copyright Office: Title 17, Chapter 1 β the federal copyright statute governing work-for-hire doctrine (17 U.S.C. Β§ 101) and IP ownership in contractor engagements
- DOL: Fair Labor Standards Act β Department of Labor guidance on worker classification, relevant when determining whether your contractor arrangement complies with federal labor law