Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Effective Use of Open Source Software
Search
Ash Furrow
September 10, 2013
Programming
5.6k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Effective Use of Open Source Software
Ash Furrow
September 10, 2013
More Decks by Ash Furrow
See All by Ash Furrow
My Slow Return to a Swift Career
ashfurrow
0
29
Migrating to React Native: A Long-Term Retrospective
ashfurrow
0
360
How Artsy Automates Team Culture
ashfurrow
0
3.4k
Building Custom TSLint Rules
ashfurrow
0
540
Circumventing Fear of the Unknown
ashfurrow
1
610
Building Better Software by Building Better Teams
ashfurrow
1
710
Building Open Source Communities
ashfurrow
0
1k
Comparative Asynchronous Programming
ashfurrow
2
9.9k
Building Compassionate Software
ashfurrow
0
610
Other Decks in Programming
See All in Programming
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
300
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
140
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.5k
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.6k
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
270
Workers Cache を知る
syumai
0
360
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
390
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
Featured
See All Featured
Accessibility Awareness
sabderemane
1
250
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
410
Optimising Largest Contentful Paint
csswizardry
37
4k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The SEO identity crisis: Don't let AI make you average
varn
0
590
Agile that works and the tools we love
rasmusluckow
331
22k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Skip the Path - Find Your Career Trail
mkilby
1
260
Google's AI Overviews - The New Search
badams
0
1.6k
Transcript
Effective Use of Open Source Software Ash Furrow, Teehan+Lax @ashfurrow
None
Agenda 1. How to Choose a Library 2. Traditional library
management sucks 3. CocoaPods is the new hotness 4. Getting started is easy 3
Premise: using open source is good (more like “promise” amirite)
Why?
Why? • Build applications faster • Write less code •
Build better applications • Expose yourself to other devs’ code 6
“Library”?
None
None
None
File Management
None
This is a bad idea.
A Bad Idea • Dependency management Hell • Lack of
separation of code • No versioning of libraries • Per-file compiler flags 14
Git Submodules
Git Submodules • A submodule is like a pointer to
another repo • Another repo at a specific point in its history • Checks out code into your directory • Submodule interface is not mature • Still have to specify per-file flags • Requires command-line interface 16
None
None
Git Subtree I don’t even.
Git Subtree
CocoaPods
CocoaPods • Manages versions and dependencies • Solves a lot
of problems with file-management • Easy to use 22
CocoaPods is to Objective-C as RubyGems is to Ruby
What is a CocoaPod
CocoaPods • A CocoaPod is a file that specifies a
library • Name, dependencies, version, etc • CocoaPods is a tool to manage these specs 25
How does this work?
GitHub
None
Getting Started
None
None
None
None
None
None
None
None
None
None
Best Practices • Don’t check in your Pods directory •
Use .gitignore • Specify explicit version numbers • Inhibit pod warnings 40
Demo
Creating a Library
Creating a Library • Specify a license • Write a
good README • Include screenshots • Include sample library usage • Keep files organized 43
None
None
None
Agenda 1. How to Choose a Library 2. Traditional library
management sucks 3. CocoaPods is the new hotness, submodules are OK too 4. Getting started is easy 47
Ash Furrow @ashfurrow Thanks!