Putting It All Together
IP Assignment and Work-for-Hire
Who owns the code you write — as an employee, contractor, or founder — and how to protect side projects.
The Work-for-Hire Doctrine
Under U.S. copyright law, certain works created by employees in the scope of their employment are automatically owned by the employer — not the employee. This is the "work-for-hire" doctrine.
Key conditions for work-for-hire (employees):
- Created by an employee (not an independent contractor)
- Created within the scope of employment (part of job duties, during work hours, using company resources)
- The work falls within one of the statutory categories (software qualifies)
Practical implication: Code you write at work, using company computers, during work hours, as part of your job responsibilities — belongs to your employer. Even if it's for a feature you proposed.
IP Assignment Clauses in Employment Agreements
Most tech company employment agreements include an IP assignment clause that goes beyond work-for-hire. These clauses typically state:
*"Employee hereby assigns to Company all right, title, and interest in all inventions, works, discoveries, and developments conceived or made by Employee, alone or with others, during the period of employment."*
Narrow vs. Broad Versions
Narrow (employee-friendly):
"Applies to inventions related to the Company's current or reasonably anticipated business, created during work hours or using Company resources."
Broad (employer-friendly):
"Applies to all inventions created during the period of employment, regardless of time, location, or resources used."
The broad version can theoretically claim your weekend side projects, open-source contributions, and personal learning projects. Whether this is enforceable varies by state.
Protecting Your Side Projects (5 Ways)
- Build it on your own time — Don't use work hours, work computers, or work resources for side projects
- Make sure it's unrelated to your employer's business — A developer at a healthcare SaaS building a personal finance app is safer than building another healthcare tool
- Create a prior inventions exhibit — Ask your employer to sign an exhibit listing pre-existing projects you are explicitly carving out from the assignment
- Know your state's protections — Several states have employee-protective IP laws (see below)
- Assign it to your LLC — If you have a personal LLC, formally assign the IP to the LLC and document it
State Protections for Employees
Four states have statutes that specifically protect employee IP for side projects:
| State | Law | Protection |
|---|---|---|
| California | Labor Code § 2870 | Protects IP developed entirely on your own time, without employer resources, unrelated to employer's business |
| Washington | RCW 49.44.140 | Same scope as CA — entirely own time, own resources, unrelated to employer |
| Minnesota | Minn. Stat. § 181.78 | Same as CA/WA |
| Illinois | 765 ILCS 1060/2 (IEPA) | Same as CA/WA/MN |
Even in these states, your protection depends on strict compliance — own time, own resources, unrelated to employer.
Freelancer IP Rules
When you work as an independent contractor without a written agreement:
Default rule: The contractor (you) owns the IP. The client paid for the work, but they do not own the copyright without a written assignment.
With a written assignment clause: The client owns the IP as specified.
The practical problem: Most clients assume they own work they paid for. Most contractors assume they own work they created. Without a written agreement, this ambiguity leads to disputes.
Best practice: Every contractor engagement should have a written agreement specifying:
- Whether IP is assigned to the client (and when — on delivery, on payment, or immediately)
- Whether you retain a license to use the work in your portfolio
- What pre-existing tools or code libraries you are using and retaining
Assigning IP to Your Own LLC
If you create IP and want to protect it through an LLC:
- Before the LLC is formed: You own the IP personally. Transfer it to the LLC with a written IP assignment agreement after formation.
- After LLC formation: Create work as the LLC (sign contracts as the LLC, use LLC resources). The LLC owns it from creation.
- Document it: Use a formal IP Assignment Agreement. Your operating agreement should reference contributed IP.
Example
// IP ownership determination framework
type EmploymentStatus = 'employee' | 'contractor' | 'founder';
interface WorkContext {
employmentStatus: EmploymentStatus;
createdDuringWorkHours: boolean;
usedEmployerResources: boolean;
relatedToEmployerBusiness: boolean;
writtenIPAssignment: boolean;
state: string;
}
function determineIPOwnership(context: WorkContext): {
owner: string;
confidence: 'high' | 'medium' | 'low';
notes: string[];
} {
const notes: string[] = [];
if (context.employmentStatus === 'employee') {
const statesWithProtection = ['CA', 'WA', 'MN', 'IL'];
const hasStateProtection = statesWithProtection.includes(context.state);
if (context.createdDuringWorkHours || context.usedEmployerResources || context.relatedToEmployerBusiness) {
return {
owner: 'Employer',
confidence: 'high',
notes: ['Work-for-hire doctrine applies', 'IP assignment clause likely applies'],
};
}
if (hasStateProtection && !context.createdDuringWorkHours && !context.usedEmployerResources && !context.relatedToEmployerBusiness) {
notes.push(`${context.state} statute protects employee IP created on own time with own resources`);
return { owner: 'Employee', confidence: 'high', notes };
}
if (context.writtenIPAssignment) {
notes.push('IP assignment clause in employment agreement may apply even without work hours or resources');
return { owner: 'Disputed — consult attorney', confidence: 'low', notes };
}
}
if (context.employmentStatus === 'contractor') {
if (context.writtenIPAssignment) {
return { owner: 'Client (per written assignment)', confidence: 'high', notes: ['Written assignment transfers ownership'] };
}
return { owner: 'Contractor', confidence: 'high', notes: ['No written assignment — contractor owns by default'] };
}
return { owner: 'Founder / LLC', confidence: 'high', notes: ['Document the assignment formally in operating agreement'] };
}