Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Effective Use of Open Source Software
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
280
How Artsy Automates Team Culture
ashfurrow
0
3.3k
Building Custom TSLint Rules
ashfurrow
0
460
Circumventing Fear of the Unknown
ashfurrow
1
560
Building Better Software by Building Better Teams
ashfurrow
1
620
Building Open Source Communities
ashfurrow
0
920
Comparative Asynchronous Programming
ashfurrow
2
9.7k
Building Compassionate Software
ashfurrow
0
500
Swift, Briskly
ashfurrow
0
170
Other Decks in Programming
See All in Programming
「抽象に依存せよ」が分からなかった新卒1年目の私が Goのインターフェースと和解するまで
kurogenki
0
100
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
240
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
160
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
240
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
410
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
270
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1k
CSC307 Lecture 15
javiergs
PRO
0
240
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
140
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
130
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
1
200
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.6k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
170
Un-Boring Meetings
codingconduct
0
220
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
380
We Are The Robots
honzajavorek
0
190
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
130
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
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!