INTELLECTUAL
PROPERTY OPTIONS FOR
EMBEDDED SOFTWARE
VINITA A PALANIVELOO PHD
COMPUTER SCIENCE & ENGINEERING
EMBEDDED SOFTWARE COMPONENTS
RTOS - LINUX
• Boot Loader
• Kernel
• Driver
• Application Module
BAREMETAL
• Bootloader
• Driver
INTELLECTUAL PROPERTY
Patent Copyright Trade Secret
PATENT
• Published information to increase technological knowledge available to public
• Twenty years monopoly for time and effort to create
• Software – protect features of program
• Novel Ideas
• Systems
• Methods
• Algorithms
• Functions
• UI - Menu arrangements
• Infringement - Penalty
COPYRIGHT
• Form of expressing ideas
• Source code
• Unique UI components
• Exclusive rights to create derivative
• Automatic upon creation of original work
• Unlikely to create identical code without copying
• No protection to ideas, programs and concepts
TRADE SECRET
• Formula, Process, Tool or Mechanism – Not known or Discoverable by others
• Competitive advantage
• Features of Software (e.g,) Algorithm to detect image in Luminosity
• Not extended to elements reproducible by reverse engineering
• Cannot be subject to infringement
• Prove that trade secret is not known to the market
BOOTLOADER – IP?
• Bootloader is the image for bringing up kernel
• Vendor- proprietary image
• Can be customized
• Unless there is a patent / copyright, the customization is not IP as it is knowledge not a
trade secret
KERNEL – IP?
• Board Support Package
• File System
• Configuration options to build kernel
• Unless there is a patent / copyright, the configuration of kernel is not IP as it is knowledge
not a trade secret
DEVICE DRIVER – IP ?
Processor
P1
Processor
P2
Device
D1
Device
D3
Processor
P1
Device
D2
DR1 - Driver – C
programming
CROSS/ NATIVE
COMPILER
(Vendor)
DR1 Cannot be reused for D2
Unless the specifications for D1 & D2 are identical
DR1 Cannot be reused for P2
The Address Maps vary with vendor
CROSS/ NATIVE
COMPILER
(Vendor)
Only novel algorithms in driver can be IP,
Driver code itself is knowledge not a patent
/ copyright or trade secret
APPLICATION SOFTWARE – IP?
• Be Agile & Market fast
• Document everything to protect by copyright
• Track access permissions and code checkout and access status
• Encrypt IP of Novel algorithms and functions
• Consult IP expert
• User Interface – Layout , design
• Label source with metadata & watermarks
POPULAR MYTHS
• Code reviews make my code vulnerable to copying
• Central repository expose my code to unauthorized copying
• Requirements and bug tracking tool expose my IP
• Version control tools are not safe
METHODS OF PROTECTING SOURCE CODE
• NDA with ownership and copyright well defined – legal implications
• Metadata / Watermarks
• Encryption
• Copyright headline
• Code obfuscation
• Code splitting / APIs
• Protect novel algorithms / Functions with patent/ copyright
• Track code checkout and commits
• Build trust in the team

Protecting Embedded software IP

  • 1.
    INTELLECTUAL PROPERTY OPTIONS FOR EMBEDDEDSOFTWARE VINITA A PALANIVELOO PHD COMPUTER SCIENCE & ENGINEERING
  • 2.
    EMBEDDED SOFTWARE COMPONENTS RTOS- LINUX • Boot Loader • Kernel • Driver • Application Module BAREMETAL • Bootloader • Driver
  • 3.
  • 4.
    PATENT • Published informationto increase technological knowledge available to public • Twenty years monopoly for time and effort to create • Software – protect features of program • Novel Ideas • Systems • Methods • Algorithms • Functions • UI - Menu arrangements • Infringement - Penalty
  • 5.
    COPYRIGHT • Form ofexpressing ideas • Source code • Unique UI components • Exclusive rights to create derivative • Automatic upon creation of original work • Unlikely to create identical code without copying • No protection to ideas, programs and concepts
  • 6.
    TRADE SECRET • Formula,Process, Tool or Mechanism – Not known or Discoverable by others • Competitive advantage • Features of Software (e.g,) Algorithm to detect image in Luminosity • Not extended to elements reproducible by reverse engineering • Cannot be subject to infringement • Prove that trade secret is not known to the market
  • 7.
    BOOTLOADER – IP? •Bootloader is the image for bringing up kernel • Vendor- proprietary image • Can be customized • Unless there is a patent / copyright, the customization is not IP as it is knowledge not a trade secret
  • 8.
    KERNEL – IP? •Board Support Package • File System • Configuration options to build kernel • Unless there is a patent / copyright, the configuration of kernel is not IP as it is knowledge not a trade secret
  • 9.
    DEVICE DRIVER –IP ? Processor P1 Processor P2 Device D1 Device D3 Processor P1 Device D2 DR1 - Driver – C programming CROSS/ NATIVE COMPILER (Vendor) DR1 Cannot be reused for D2 Unless the specifications for D1 & D2 are identical DR1 Cannot be reused for P2 The Address Maps vary with vendor CROSS/ NATIVE COMPILER (Vendor) Only novel algorithms in driver can be IP, Driver code itself is knowledge not a patent / copyright or trade secret
  • 10.
    APPLICATION SOFTWARE –IP? • Be Agile & Market fast • Document everything to protect by copyright • Track access permissions and code checkout and access status • Encrypt IP of Novel algorithms and functions • Consult IP expert • User Interface – Layout , design • Label source with metadata & watermarks
  • 11.
    POPULAR MYTHS • Codereviews make my code vulnerable to copying • Central repository expose my code to unauthorized copying • Requirements and bug tracking tool expose my IP • Version control tools are not safe
  • 12.
    METHODS OF PROTECTINGSOURCE CODE • NDA with ownership and copyright well defined – legal implications • Metadata / Watermarks • Encryption • Copyright headline • Code obfuscation • Code splitting / APIs • Protect novel algorithms / Functions with patent/ copyright • Track code checkout and commits • Build trust in the team