Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Do you really want to delete this prezi?
Neither you, nor the coeditors you shared it with will be able to recover it again.
Make your likes visible on Facebook?
Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.
Open Sourcing Hardware with GitHub
Transcript of Open Sourcing Hardware with GitHub
Why open source at all?
Open Source 101:
The Passive Approach
Testing is hard
Engineers are expensive
Users are engineers
It gives us
OPEN SOURCE WORKS.
Revenue at year end
Employee count at year end
Open source by habit
Open source by strategy
Download Source Code
one way street
a perpetually unsolved problem
neither to SparkFun nor anyone else
Change = new version
Hardware change: new "version" every time
(most of the time )
Board changes: new version
Schematic changes, board does not: new subversion
E.g. v14.1 = version 14, subversion 1.
Either way, different board, kind of...
Firmware changes: well...
Big new feature: probably a new subversion
Bug fixes, small features: same version
Changes happen on a continuous spectrum!
Buy an OpenLog v2.5
v3.0 hits with Arduino support
Which version do I have?*
Can I put 3.0 on my 2.5 board?
*a much bigger problem than it may seem.
versioning can be really hard.
The Active Approach
two way street
Slick and modern
Extensive help available online
Many ways to go upstream
Of course, it's not perfect.
Binaries have opaque changes
No hardware previews
Consistency is tough
Not so simple anymore
A product can have one or more repositories
A repository can have one or more products
One repo, two products
Serial 7-Segment Display
Two repos, five products
GitHub for Windows (v1.0)
Git is most powerful via command line.
But this is supposed to be easy, right?
Lead users through all methods.
No multiple remotes
"Sync" = pull + push
Rebase? Cherry Pick?
Repo naming conventions
Private to public
I can grab a zip file
Levels of Involvement
I can get a local copy of the original source
I can keep my local copy up to date
with the original source
I can keep my local changes under
I can make a remote copy of the
I can make my local changes
public on my remote copy
I can send my changes back to the original source
to be reviewed and, hopefully, merged
Clear tutorials for all
Code review is for everybody
Positive feedback loop
all users who commit upstream
users granted merge access
able to manage
Growing the community base
More responsive review
MORE OPEN SOURCE STUFF
Director of IT