Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins...
Transcript of Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins...
![Page 1: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/1.jpg)
Bits, Gates, Traces, and PinsCopyleft and Licensing in Open Hardware
Josh Triplett
Jessica Marz
![Page 2: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/2.jpg)
Disclaimers
● Josh is not a lawyer
● Jessica is not your lawyer
● Neither of us are speaking for our company
○ We’ll assume you aren’t either
● This is not legal advice
● Citations based primarily on US law
○ Portions applicable globally
○ International commentary/correction welcome
● Please feel free to ask questions at any time
![Page 3: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/3.jpg)
Software Architecture
![Page 4: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/4.jpg)
Code in the same source file
![Page 5: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/5.jpg)
Code in the same source file Linking object files or libraries
![Page 6: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/6.jpg)
Code in the same source file Linking object files or libraries
fork/exec
![Page 7: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/7.jpg)
Code in the same source file Linking object files or libraries
fork/exec Servers, RPC, Sockets
![Page 8: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/8.jpg)
Code in the same source file Linking object files or libraries
fork/exec Servers, RPC, Sockets
Shared memory
![Page 9: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/9.jpg)
Code in the same source file Linking object files or libraries
fork/exec Servers, RPC, Sockets
Shared memory Standard APIs
![Page 10: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/10.jpg)
Permissive licensing
![Page 11: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/11.jpg)
Copyleft
![Page 12: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/12.jpg)
Hardware Architecture
![Page 13: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/13.jpg)
Physical object
![Page 14: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/14.jpg)
Circuits on an ASIC
![Page 15: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/15.jpg)
Components on an SoC
![Page 16: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/16.jpg)
FPGA bitstream
![Page 17: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/17.jpg)
Chips on a board
![Page 18: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/18.jpg)
Printed circuit board (PCB)
![Page 19: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/19.jpg)
Connectors
![Page 20: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/20.jpg)
Forms of Hardware
![Page 21: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/21.jpg)
STL file Physical object
![Page 22: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/22.jpg)
Schematic Physical chip
Mask / Layout
![Page 23: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/23.jpg)
FPGA bitstream Programmed FPGA
![Page 24: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/24.jpg)
PCB layout Physical PCB
![Page 25: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/25.jpg)
Permissive licensing
![Page 26: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/26.jpg)
Copyleft
![Page 27: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/27.jpg)
Intent
![Page 28: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/28.jpg)
Copyleft & Hardware
● interesting and non-trivial
● permissive is easy, but does it give you what you want?
● copyleft goals
○ enable study of complete design in the form(s) preferred for making
modification
○ allow modification and distribution of modified design
○ ensure original licensor is able to benefit the same way licensee did
by having changes/derivatives made available under same license
○ ensure recognition/attribution of creative origin
○ expand the size of the “open commons”
+ additional hardware-specific goals
![Page 29: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/29.jpg)
Implementation: Exclusive Rights
![Page 30: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/30.jpg)
Exclusive Rights for Authors & Makers
● Copyright
● Patent
● Mask Work
● Trademark
![Page 31: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/31.jpg)
Copyright
● Exclusive rights to:
○ reproduce the work
○ distribute copies of the work to the public
○ perform the work publicly
○ display the work publicly
○ prepare derivative works based on the work
● Subject matter
○ literary works
○ pictorial, graphic, & sculptural works
○ other (musical, dramatic, pantomime and choreographic, motion
pictures and other audiovisual works, sound recordings, architectural
works)
17 U.S.C. § 101 et seq
![Page 32: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/32.jpg)
Patent
● Exclusive rights to:
○ make the invention
○ use the invention
○ sell the invention
○ import the invention
● Subject matter
○ process
○ machine
○ manufacture
○ composition of matter
35 U.S.C. § 100 et seq
Check out Frederik Questier’s talk “Protect your
freedom to operate with Open Patents: Hacking
the patent system” tomorrow @ 10:20 a.m.!
![Page 33: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/33.jpg)
Mask Work
● Exclusive rights to:
○ reproduce the mask work by optical, electronic, or any other means
○ import or distribute a semiconductor chip product in which the mask
work is embodied
○ induce or knowingly to cause another person to do any of the acts
above
● Subject matter
○ Mask work fixed in a semiconductor chip
17 U.S.C. §§ 901-914
![Page 34: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/34.jpg)
Trademark
● Exclusive rights to use the mark
○ Includes ability to prevent use of confusingly similar mark by
unauthorized party
● Subject matter
○ Word, name, symbol or device used to identify product
15 U.S.C. § 1051 et seq
![Page 35: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/35.jpg)
Protectable? Protected?Hardware & Forms, redux
![Page 36: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/36.jpg)
Printed Circuit Board
● schematic capture / logical circuit design
● layout / physical implementation
● manufactured board that embodies design
kicad_eeschema.png, by KiCad-pcb.org, CC BY 3.0
kicad_pcbnew.png, by KiCad-pcb.org, CC BY 3.0
https://github.com/fd0/hackrf-one-pictures/blob/
master/img_0009.jpg, public domain
![Page 37: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/37.jpg)
Silicon● Mask works
Semiconductor_photomask.jpg, by Peellden - Own work, CC BY-SA 3.0 Intel_CPU_Core_i7_2600K_Sandy_Bridge_top.jpg, by Eric Gaba, CC BY-SA 3.0
![Page 38: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/38.jpg)
Silicon, continued
● IP cores
○ Hard
○ Soft
○ Libraries
Adapted from IP Quality & Reuse.jpg, by Patrickyip - own work, Public Domain
FPGA bitstream Programmed FPGA
![Page 39: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/39.jpg)
Open Hardware, including “opened” FPGA!
https://gitlab.com/Folknology/mystorm/tree/master
![Page 40: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/40.jpg)
Enclosure
Original design, created in CAD tool vs. scan of existing object
● Useful vs. creative
● Separability analysis required to determine whether copyright applies
Intel Galileo enclosure by bubbasnow, CC BY-SA.
![Page 41: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/41.jpg)
State of Open Hardware Licensing
![Page 42: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/42.jpg)
LicenseSolderpad Hardware
LicenseCERN OHL TAPR OHL GPLv3
Our Ideal Hardware
LicenseSource availability requirement?
N Y Y Y Y
Derived works must remain under same license?
N Y Y Y, withexceptions
Y, with exceptions
Use for any purpose? Y Y N Y Y
Patent grant? Y Y Y Y Y
Treat physical hardware like “binaries”: require source?
N Y Y N Y
Compatible with copyleft SW license (i.e., GPLv3)?
Y N N Y Y
![Page 43: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/43.jpg)
License Compatibility
● Want to support copying between software, hardware, firmware,
documentation, specifications
● Boundaries will become fuzzier over time
● “Eating the world”
● Want compatible licenses for all of these ecosystems
○ Please do: account for hardware in new revisions of licenses
○ Please don’t: write your own license for hardware
![Page 44: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/44.jpg)
Open Hardware Ecosystem
● Early days of open hardware
● Most production designs still include proprietary components
● Similar to the early days of Free Software
● Proprietary parts libraries remain a major obstacle
○ Open hardware needs open part libraries!
![Page 45: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/45.jpg)
Recommendations
● For chips, use GPLv3 for copyleft
● For PCBs, use copyleft if desired (many will respect intent)
○ Likely ineffective for physical board
● Develop and contribute to open part libraries
● For drafters of future versions of established copyleft licenses
○ Allow for mask works and other applicable legal structures
○ Treat physical hardware like “binaries”: require source
![Page 46: Bits, Gates, Traces, and Pins - FOSDEM_Gates,_Traces,_and_Pins.pdf · Bits, Gates, Traces, and Pins ... schematic capture / logical circuit design ...](https://reader031.fdocuments.net/reader031/viewer/2022022604/5b6209717f8b9a54488cfec5/html5/thumbnails/46.jpg)
Questions?