Download - Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Transcript
Page 1: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Homebrew Features and Funding

Mike McQuaid

Page 2: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Mike McQuaid https://github.com/MikeMcQuaid https://twitter.com/MikeMcQuaid

A

Page 3: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Features

Page 4: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

new features 📰

Page 5: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

who doesn’t love ❤ new features 📰

Page 6: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

who doesn’t love ❤ new features 📰

(that are broken 💔)

Page 7: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Homebrew <1.0

🍺 brew update ==

git fetch git checkout -B master \

origin/master

Page 8: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Homebrew >1.0 (some people) 🍺 brew update

== git fetch

git checkout -B master \ origin/master

Page 9: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Homebrew >1.0 (most people) 🍺 brew update

== git fetch --tags

git checkout $(git tag \ --sort=-version:refname | head -n1)

Page 10: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

🤔 wait am I

“some people”

Page 11: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Most Software:

Page 12: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

do you want to use

the βeta?

Page 13: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

do you love

bugs? 🦟

Page 14: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

do you hate

yourself? 🤬

Page 15: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Homebrew

Page 16: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

does Mike hate me?

Page 17: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(kinda) 🙊

Page 18: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

but why tho?

Page 19: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(you are

special)

Page 20: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(you are

curious)

Page 21: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(you are

helpful)

Page 22: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

COMMANDS

and

DEVELOPER COMMANDS

Page 23: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

COMMANDS

==

🍺 brew install wget

Page 24: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

🍺 brew edit wget

==

DEVELOPER COMMANDS

Page 25: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

~99.9%

and

~0.1%

Page 26: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

stable (latest tag)

and

master

Page 27: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

🥺 but

why tho?

Page 28: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

COMMANDS

==

“I ran brew install and it didn’t work”

Page 29: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

“Here’s a reproducible test case for a brew install edge case”

==

DEVELOPER COMMANDS

Page 30: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

“Here’s a working, green pull request for a brew install edge case”

==

DEVELOPER COMMANDS

Page 31: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

NO MIKE STOP THIS RIGHT

NOW 😖

Page 32: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

export HOMEBREW_UPDATE_TO_TAG=1

Page 33: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

YES MIKE START THIS RIGHT NOW

🤪

Page 34: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

export HOMEBREW_DEVELOPER=1

Page 35: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Feature flags

Page 36: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Would you like to try my new

feature

Page 37: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Would you like to try my new

feature (it is completely

broken) 💔

Page 38: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

does Mike hate me?

Page 39: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(not yet) ⏳

Page 40: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

export HOMEBREW_GIMME_DAT_BROKEN_FEATURE=1

Page 41: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

if ENV[“HOMEBREW_GIMME_DAT_BROKEN_FEATURE”]

Page 42: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

if HOMEBREW_DEVELOPER=1

Page 43: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

if HOMEBREW_DEV_CMD_RUN=1

Page 44: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

stable

Page 45: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Mike 🙅 then

CI 🤖 then

Maintainers 👮 then

Beta Users 🕵 then

Everyone 👩💻

Page 46: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Would you like to try my new

feature (it is completely

broken) 💔

Page 47: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Would you like to have new features

(not completely broken) 🌤

Page 48: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(blatant employer plug)

A

Page 49: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Mike then

Mike’s team then

GitHub staff then (sometimes)

Maintainers then (sometimes)

Beta Users then

Everyone

Page 50: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Funding

Page 51: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Would you like to have new features

(is open source broken) 💔

Page 52: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(like a database but

EVEN BETTER) 🗯

Page 53: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(I wrote the code but now I want a

Tesla) 🏎

Page 54: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(VCs: As long as you give us unsustainable growth

forever: here’s millions of $$$)

🤑

Page 55: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(Amazon won’t give us

money it’s so

unfair!!!!1) 🤒

Page 56: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

is open source

broken? 💔

Page 57: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

are open source companies broken? 💔

Page 58: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(I don’t care and neither should

you) 🙉

Page 59: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

what does your project need money for?

💸

Page 60: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(I wrote the code but now I want a

Tesla) 🏎

Page 61: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(I wrote the code but now I want a

binary host) 🏘

Page 62: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(I wrote the code but now I want a

“cloud”) ⛅

Page 63: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

(I wrote the code but now I want a

CI system) 🤖

Page 64: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2013: Kickstarter

Page 65: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2013: £14,859

Page 66: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2013: 4 Mac minis

Page 67: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2016: SFC

Page 68: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2016: legal entity

Page 69: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2016: USA 501c3

Page 70: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2016: PayPal

Page 71: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2016: Bank

Page 72: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2017: Patreon

Page 73: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2017: README

Page 74: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2018: Twitter

Page 75: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2019: brew

Page 76: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

would you like to donate

Page 77: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master
Page 78: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

2019: GitHub Sponsors

Page 79: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

sell your user data!

Page 80: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

would you like to donate would you like to donate would you like to donate would you like to donate would you like to donate would you like to donate would you like to donate would you like to donate would you like to donate would you like to donate

Page 81: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Homebrew Pro™®©

Page 82: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Homebrew SOLD OUT!!!!111

Page 83: Homebrew - Features and Funding · 2020-02-02 · Homebrew >1.0 (some people) $ brew update git fetch git checkout -B master \ origin/master

Homebrew Still Quite Good™