$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Effective Use of Open Source Software
Search
Ash Furrow
September 10, 2013
Programming
5
5.5k
Effective Use of Open Source Software
Ash Furrow
September 10, 2013
Tweet
Share
More Decks by Ash Furrow
See All by Ash Furrow
Migrating to React Native: A Long-Term Retrospective
ashfurrow
0
250
How Artsy Automates Team Culture
ashfurrow
0
3.2k
Building Custom TSLint Rules
ashfurrow
0
440
Circumventing Fear of the Unknown
ashfurrow
1
530
Building Better Software by Building Better Teams
ashfurrow
1
580
Building Open Source Communities
ashfurrow
0
880
Comparative Asynchronous Programming
ashfurrow
2
9.6k
Building Compassionate Software
ashfurrow
0
460
Swift, Briskly
ashfurrow
0
150
Other Decks in Programming
See All in Programming
Graviton と Nitro と私
maroon1st
0
140
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
190
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
620
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
120
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
120
tparseでgo testの出力を見やすくする
utgwkk
2
280
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.7k
開発に寄りそう自動テストの実現
goyoki
2
1.4k
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
640
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
150
Navigating Dependency Injection with Metro
l2hyunwoo
1
180
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
340
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
KATA
mclloyd
PRO
33
15k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
99
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
0
300
Scaling GitHub
holman
464
140k
Reality Check: Gamification 10 Years Later
codingconduct
0
1.9k
Building AI with AI
inesmontani
PRO
1
570
Optimising Largest Contentful Paint
csswizardry
37
3.5k
My Coaching Mixtape
mlcsv
0
13
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
92
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!