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.5k
5
Share
Effective Use of Open Source Software
Ash Furrow
September 10, 2013
More Decks by Ash Furrow
See All by Ash Furrow
Migrating to React Native: A Long-Term Retrospective
ashfurrow
0
300
How Artsy Automates Team Culture
ashfurrow
0
3.3k
Building Custom TSLint Rules
ashfurrow
0
480
Circumventing Fear of the Unknown
ashfurrow
1
580
Building Better Software by Building Better Teams
ashfurrow
1
660
Building Open Source Communities
ashfurrow
0
970
Comparative Asynchronous Programming
ashfurrow
2
9.7k
Building Compassionate Software
ashfurrow
0
540
Swift, Briskly
ashfurrow
0
190
Other Decks in Programming
See All in Programming
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
370
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
230
継続的な負荷検証を目指して
pyama86
3
1.5k
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
250
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
140
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
200
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
180
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
320
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
160
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
530
Agent Skills を社内で育てる仕組み作り
jackchuka
1
2.4k
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
270
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Navigating Team Friction
lara
192
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Designing Powerful Visuals for Engaging Learning
tmiket
1
380
Rails Girls Zürich Keynote
gr2m
96
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
790
BBQ
matthewcrist
89
10k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Claude Code のすすめ
schroneko
67
220k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
190
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!