What applies to code.
WHAT PROTECTS SOFTWARE
Copyright, in the code as written.
WHAT IT DOES NOT PROTECT
The functionality The idea The general approach
WHAT THAT MEANS
Competitors may build something that does the same thing.
WHAT ELSE MIGHT PROTECT IT
Patents, in limited circumstances and jurisdictions Trade secrets, for what is not disclosed Contract terms, restricting what customers may do
WHAT TO ESTABLISH
Who owns each component.
WHAT COMPONENTS EXIST
Code written by employees Code written by contractors Open source libraries Purchased components Generated code
WHAT OPEN SOURCE REQUIRES
Compliance with each licence.
WHY IT MATTERS
Some licences require you to make your own code available in defined circumstances.
WHAT TO DO
Maintain a list of every dependency and its licence.
WHAT TO CHECK BEFORE INCLUDING ANYTHING
Whether the licence permits your intended use.
WHAT TO BE CAREFUL WITH
Copying code from public sources without checking terms.
WHAT TO PROTECT AS CONFIDENTIAL
Source code Architecture and internal documentation Algorithms not visible from the product
HOW
Access control, agreements, and departure procedures.
WHAT TO PUT IN CUSTOMER AGREEMENTS
What they may and may not do That ownership does not transfer
WHAT TO ESTABLISH ABOUT BESPOKE WORK
Who owns what you built for a customer.
WHY AGREE IT EXPLICITLY
Both parties usually assume they own it.