SlideShare a Scribd company logo
1 of 42
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From 'Consumer' to 'Creator’ {
–– Max Cobb
introduction.swift what_is_oss.swift
}
A Guide to iOS Open Source
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
🧗 Climbing
🏜 Nomad
🥑 Developer Advocacy
🤖 AI
🥽 Augmented Reality
🐙 Open Source
public struct Max {
introduction.swift what_is_oss.swift
From Consumer to Creator – Max Cobb
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
🥑 Developer Advocacy @ Agora.io
🤖 AI @ Greyparrot.ai
🥽 Augmented Reality @ Blippar
🐙 Open Source @ maxxfrazer
public struct Max {
introduction.swift what_is_oss.swift
}
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
01-02
Understanding the Basics
What is Open Source 🔎
03-05
Process of Giving Back
Making a Contribution 👷
06-07
Showcasing your Contributions
Build Your Portfolio 🪄
Open Source Journey
introduction.swift what_is_oss.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
01
Understanding
Open Source
Exploring the Foundations
introduction.swift what_is_oss.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define ‘Open Source’;
● Collaborative Development
● Transparency and Accessibility
● Licensing Freedom
● Community-driven
● No Cost Barrier
From Consumer to Creator – Max Cobb
what_is_oss.swift contributing.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Copies need the
same license
Short, permissive,
without warranty
MIT GNU (GPL)
LGPL, BSD, MPL, EPL
Similar to MIT,
with patent use
Apache Others
LICENSE.md
what_is_oss.swift contributing.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
02
Why Open Source
Community and Collaboration
From Consumer to Creator – Max Cobb
what_is_oss.swift contributing.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Industry-standard tools, CI/CD, linters, testing,
docs, code reviews, and async collaboration.
Broaden global connections, expand your
network, possible future opportunities
Networking
Real-world projects that only support the
latest iOS. (Macros, SwiftUI, Vision!)
Use the Latest Features
New Technologies and Habits
Boost Your Career & Skills
From Consumer to Creator – Max Cobb
what_is_oss.swift contributing.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Git, VS Code, Homebrew,
React Native, Flutter,
iOS and macOS are
rooted in Linux
Open Source Ecosystem {
}
Linux Fully OSS
And of course…
Firebase, Postman,
Vercel
Partially OSS
The most popular
OSS in the room
From Consumer to Creator – Max Cobb
what_is_oss.swift contributing.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Swift!
● Open Source since 2015 – swift.org
● Apache License
● Multiple Platforms
● Vibrant Community
● Swift Evolution Process
From Consumer to Creator – Max Cobb
what_is_oss.swift contributing.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Developed by Dave Verwer and Sven A. Schmit
Firebase, Fastlane, Realm, Alamofire, SwiftLint,
RxSwift, SnapKit…
Swift Packages
Streamlining dependency management for iOS
developers since 2011
CocoaPods
Swift Package Index
Common Open Source Tools for iOS
From Consumer to Creator – Max Cobb
what_is_oss.swift contributing.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
03
Engaging with Open Source
Expand Your Impact
From Consumer to Creator – Max Cobb
what_is_oss.swift contributing.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Your Strengths and
Interests
Self-Reflection
Twitter (or X?),
Mastodon etc.
Social Media
Trending, Search,
Follow
Explore GitHub
iOSDevWeekly,
SwiftLee Weekly
Newsletters
Recent updates, search
by tags, podcast
Swift Package Index
Or Bing if you’re
into that
Google
Find a Project
From Consumer to Creator – Max Cobb
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Stars, recent commits,
issues, PRs
Activity
Main contributors
still active
Contributors
Overview, details,
images
README
Builds, their state,
comprehensiveness
CI/CD
Number open, response
times, comments,
Issues + PRs
LICENSE.md,
CONTRIBUTIONS.md
Other Files
Evaluate the Project Health
From Consumer to Creator – Max Cobb
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
If you’re having problems, check the
project’s issues
Check for an example project, or search for
projects using it… or make one!
Example Project
Inline, README, external links, deployed via
Pages, check the Wiki
Find and read the docs
Open or Closed Issues
Understanding a new Codebase
From Consumer to Creator – Max Cobb
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
04
Making a Contribution
From Consumer to Creator – Max Cobb
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Having trouble?
Make An Issue!
From Consumer to Creator – Max Cobb
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
01
Bug, Feature requests,
documentation, and more
Issue types
02
Low effort issue, low
effort responses
Detail
03
Be patient and remember
open source etiquette
And Then We Wait
Make An Issue
From Consumer to Creator – Max Cobb
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
No patience?
Make A Pull Request!
From Consumer to Creator – Max Cobb
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
01
Your own copy of the
project
Fork it
02
Use your SWE skills to
squash the bug
Debug it
03
Add tests, CI/CD, follow
style guides
Follow Guides and CI
Make A Pull Request
From Consumer to Creator – Max Cobb
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
Make A Pull Request
From Consumer to Creator – Max Cobb
01
Your own copy of the
project
Fork it
02
Use your SWE skills to
squash the bug
Debug it
03
Add tests, CI/CD, follow
style guides
Follow Guides and
CI
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
04
Brief title, detailed
description
Add Details
05
Related issues in the repo,
external references
Link Issues
06
Check for unwanted files,
submit, and wait
Review and Submit
Make A Pull Request
From Consumer to Creator – Max Cobb
01
Your own copy of the
project
Fork it
02
Use your SWE skills to
squash the bug
Debug it
03
Add tests, CI/CD, follow
style guides
Follow Guides and
CI
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Got an Idea?
Build it!
From Consumer to Creator – Max Cobb
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
01
Isolate the issue, search for
solutions, understand audience
Identify and Research
02
Main features, dependencies,
assumptions
Plan the Scope
03
MVP first, stability and
functionality
Start Small
Build it
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
01
Isolate the issue, search for
solutions, understand audience
Identify and Research
02
Main features, dependencies,
assumptions
Plan the Scope
03
MVP first, stability and
functionality
Start Small
Build it
04
README, installation, examples,
inline docs (DocC), CONTRIBUTING
Document Everything
05
Developer forums, social
media, at a conference!
Share and Promote
06
Respond to feedback, issues,
PRs, upgrade + maintain
Stay Engaged
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
05
Overcoming Challenges
And things to remember
contributing.swift portfolio.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Give at least a week,
then politely
follow-up
They are volunteers with
other commitments
Patience is Key Try Again
A polite nudge
often works
Reach out through
other channels
Seek Help Check Socials
No Response
contributing.swift portfolio.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Work on my Machine Do it yourself
Your Code Sucks Useless feature
Bad Responses
Doesn’t work Fix, I need it now
contributing.swift portfolio.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Work on my Machine Do it yourself
Your Code Sucks Useless feature
Bad Responses
Doesn’t work Fix, I need it now
Not worth your time
contributing.swift portfolio.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
06
Build Your Portfolio
Showcasing Your Contributions
contributing.swift portfolio.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
01
Show your learning curve,
adaptability, evolution
Growth Over Time
02
New connections, collaborations,
and skill refinement
Networking and Feedback
03
Reflect, achieve, propel
Motivation Booster
The Power of Portfolios
portfolio.swift packages.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
01
From simple scripts, to
complex applications
Diverse Projects
02
Software that people know,
and respect
Open Source Contributions
03
Show off your creativity
and passion
Unique Solutions
What To Showcase
portfolio.swift packages.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
From Consumer to Creator – Max Cobb
Swift.org Packages Page
portfolio.swift packages.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
07
Let’s See Some!
Some of my favourite Swift OSS
portfolio.swift packages.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
realm/SwiftLint
packages.swift fin.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
KaneCheshire/ShowTime
iOS Taps and Gestures for Demos
Easy to install
Simple, but effective
packages.swift fin.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
lucaswkuipers/ViewKit
Swift Package to build UIKit in a
functional manner
packages.swift fin.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Oliver-Binns/Conferences
An app for managing talk submissions to
iOS conferences
• Conventional Commits
• Fastlane CI
• Active
• Relevant!
packages.swift fin.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
maxxfrazer/RealityUI
Familiar UI Elements and animations in
RealityKit
packages.swift fin.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
- Steve Jobs, 1994
Everything around you that you call
life was made up by people that
were no smarter than you. And you
can change it, you can influence
it, you can build your own things
that other people can use.
packages.swift fin.swift
From Consumer to Creator – Max Cobb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SwiftLint Swift Package Index
Swift Evolution Max Cobb
Resources
packages.swift fin.swift
From Consumer to Creator – Max Cobb

More Related Content

Similar to From Consumer to Creator, A Guide to iOS Open Source

New Rules of The Responsive Web
New Rules of The Responsive WebNew Rules of The Responsive Web
New Rules of The Responsive Web
Matt Carver
 
Nvc2012 it module4_avig
Nvc2012 it module4_avigNvc2012 it module4_avig
Nvc2012 it module4_avig
CU_NVC
 
Lean UX и дизайн-спринты: как построить ведущий продукт на рынке за пять дней
Lean UX и дизайн-спринты: как построить ведущий продукт на рынке за пять днейLean UX и дизайн-спринты: как построить ведущий продукт на рынке за пять дней
Lean UX и дизайн-спринты: как построить ведущий продукт на рынке за пять дней
CEE-SEC(R)
 

Similar to From Consumer to Creator, A Guide to iOS Open Source (20)

An Exploration of Cross-product App Experiences
An Exploration of Cross-product App ExperiencesAn Exploration of Cross-product App Experiences
An Exploration of Cross-product App Experiences
 
Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...Lean engineering for lean/balanced teams: lessons learned (and still learning...
Lean engineering for lean/balanced teams: lessons learned (and still learning...
 
New Rules of The Responsive Web
New Rules of The Responsive WebNew Rules of The Responsive Web
New Rules of The Responsive Web
 
Lean UX + DevOps
Lean UX + DevOpsLean UX + DevOps
Lean UX + DevOps
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
SV.CO’s iterative product development
SV.CO’s iterative product developmentSV.CO’s iterative product development
SV.CO’s iterative product development
 
Experience Session - Hari
Experience Session - HariExperience Session - Hari
Experience Session - Hari
 
Nvc2012 it module4_avig
Nvc2012 it module4_avigNvc2012 it module4_avig
Nvc2012 it module4_avig
 
StackEngine Problem Space Demo
StackEngine Problem Space DemoStackEngine Problem Space Demo
StackEngine Problem Space Demo
 
Monktoberfest Fast Delivery
Monktoberfest Fast DeliveryMonktoberfest Fast Delivery
Monktoberfest Fast Delivery
 
Maintaining lean and agile principles in a fixed date/budget/scope project
Maintaining lean and agile principles in a fixed date/budget/scope projectMaintaining lean and agile principles in a fixed date/budget/scope project
Maintaining lean and agile principles in a fixed date/budget/scope project
 
DevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh CityDevOps Training - Ho Chi Minh City
DevOps Training - Ho Chi Minh City
 
DevDay 2013 - Building Startups and Minimum Viable Products
DevDay 2013 - Building Startups and Minimum Viable ProductsDevDay 2013 - Building Startups and Minimum Viable Products
DevDay 2013 - Building Startups and Minimum Viable Products
 
Fast Delivery DevOps Israel
Fast Delivery DevOps IsraelFast Delivery DevOps Israel
Fast Delivery DevOps Israel
 
AWS re:Invent 2016: Open-Source Resources (DCS201)
AWS re:Invent 2016: Open-Source Resources (DCS201)AWS re:Invent 2016: Open-Source Resources (DCS201)
AWS re:Invent 2016: Open-Source Resources (DCS201)
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changes
 
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
Introduction to GraphQL (or How I Learned to Stop Worrying about REST APIs)
 
Building Your App SDK with Swift
Building Your App SDK with SwiftBuilding Your App SDK with Swift
Building Your App SDK with Swift
 
Lean UX и дизайн-спринты: как построить ведущий продукт на рынке за пять дней
Lean UX и дизайн-спринты: как построить ведущий продукт на рынке за пять днейLean UX и дизайн-спринты: как построить ведущий продукт на рынке за пять дней
Lean UX и дизайн-спринты: как построить ведущий продукт на рынке за пять дней
 
Boilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development ProcessBoilerplates: Step up your Web Development Process
Boilerplates: Step up your Web Development Process
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

From Consumer to Creator, A Guide to iOS Open Source