On the Importance of Upstreaming · AboutMe I AKohaDeveloper I AtCatalystIT I...

Post on 21-Jul-2020

0 views 0 download

Transcript of On the Importance of Upstreaming · AboutMe I AKohaDeveloper I AtCatalystIT I...

On the Importance of Upstreaming

Robin Sheat<robin@catalyst.net.nz>// 5th November 2014

AboutMe

I AKohaDeveloperI At Catalyst ITI Spoilt by company policy

AboutMe

I AKohaDeveloper

I At Catalyst ITI Spoilt by company policy

AboutMe

I AKohaDeveloperI At Catalyst IT

I Spoilt by company policy

AboutMe

I AKohaDeveloperI At Catalyst ITI Spoilt by company policy

Where’d this talk come from?

I A few years ago, I ran a Kohaworkshop inMalaysia...

Where’d this talk come from?

I A few years ago, I ran a Kohaworkshop inMalaysia...

Where’d this talk come from?

I People were stuck on very old versions

I They no longer had an upgrade path

Where’d this talk come from?

I People were stuck on very old versionsI They no longer had an upgrade path

What is upstreaming?

What is upstreaming?

I Getting fixes/improvements into the original project

I Not just throwing them over the wallI Shepherding them through the process

What is upstreaming?

I Getting fixes/improvements into the original projectI Not just throwing them over the wall

I Shepherding them through the process

What is upstreaming?

I Getting fixes/improvements into the original projectI Not just throwing them over the wallI Shepherding them through the process

Why should you upstream?

Why should you upstream?

Stop having tomaintain your own patches!

Why should you upstream?Stop having tomaintain your own patches

I Maintaining your own patches can be a lot of work

I Losing patches is easy to doI Let upstream take care of it

Why should you upstream?Stop having tomaintain your own patches

I Maintaining your own patches can be a lot of workI Losing patches is easy to do

I Let upstream take care of it

Why should you upstream?Stop having tomaintain your own patches

I Maintaining your own patches can be a lot of workI Losing patches is easy to doI Let upstream take care of it

Why should you upstream?

Contribute to the betterness of the world!

Why should you upstream?Contribute to the betterness of theworld

I Give people something they find useful

I Maybe they’ll improve on it

Why should you upstream?Contribute to the betterness of theworld

I Give people something they find usefulI Maybe they’ll improve on it

Why should you upstream?

Become upstream!

Why should you upstream?Become upstream

I Become a core developer, releasemaintainer, etc.

I Help guide the future of the project

Why should you upstream?Become upstream

I Become a core developer, releasemaintainer, etc.I Help guide the future of the project

Why should you upstream?

Vanity!

Why should you upstream?Vanity

I It’s nice to see people using things youmade

I Get your name in the projectI Get your company’s name out there

Why should you upstream?Vanity

I It’s nice to see people using things youmadeI Get your name in the project

I Get your company’s name out there

Why should you upstream?Vanity

I It’s nice to see people using things youmadeI Get your name in the projectI Get your company’s name out there

Why shouldn’t you upstream?

Why shouldn’t you upstream?

It is a lot of work!

Why shouldn’t you upstream?It is a lot of work

I Getting things acceptedmay be time consumingI Especially on big projects

I Matching coding guidelines, test coverage, make it notimpact other use cases, etc., etc.

Why shouldn’t you upstream?It is a lot of work

I Getting things acceptedmay be time consumingI Especially on big projects

I Matching coding guidelines, test coverage, make it notimpact other use cases, etc., etc.

Why shouldn’t you upstream?

Fear!

Why shouldn’t you upstream?Fear!

I Legal liability

I Competitive advantageI Trade secrets

Why shouldn’t you upstream?Fear!

I Legal liabilityI Competitive advantage

I Trade secrets

Why shouldn’t you upstream?Fear!

I Legal liabilityI Competitive advantageI Trade secrets

Why shouldn’t you upstream?Fear!

I Are the claims valid?

I Could it be solvedwith education?

Why shouldn’t you upstream?Fear!

I Are the claims valid?I Could it be solvedwith education?

Why shouldn’t you upstream?

Totally local customisations!

Why shouldn’t you upstream?Totally local customisations

I Can they be generalised?

I Might be able to reduce overheadI Sometimes you can’t

Why shouldn’t you upstream?Totally local customisations

I Can they be generalised?I Might be able to reduce overhead

I Sometimes you can’t

Why shouldn’t you upstream?Totally local customisations

I Can they be generalised?I Might be able to reduce overheadI Sometimes you can’t

How can youmake it easy forcontributors?

How can youmake it easy for contributors?

Small projects

How can youmake it easy for contributors?Small projects

I Use a public trackerI Gitorious, Github, etc.

I Keep an eye on issues and pull requests

How can youmake it easy for contributors?Small projects

I Use a public trackerI Gitorious, Github, etc.

I Keep an eye on issues and pull requests

How can youmake it easy for contributors?

Large projects

How can youmake it easy for contributors?Large projects

I Have awell documented process

I Guides for setting up developer environmentsI Guides for submitting a patch

How can youmake it easy for contributors?Large projects

I Have awell documented processI Guides for setting up developer environments

I Guides for submitting a patch

How can youmake it easy for contributors?Large projects

I Have awell documented processI Guides for setting up developer environmentsI Guides for submitting a patch

How can youmake it easy for contributors?Large projects

I Help newcomers

I Let them bypass parts of the processI Fix the smaller issues

I Rather than just rejecting it

How can youmake it easy for contributors?Large projects

I Help newcomersI Let them bypass parts of the process

I Fix the smaller issuesI Rather than just rejecting it

How can youmake it easy for contributors?Large projects

I Help newcomersI Let them bypass parts of the processI Fix the smaller issues

I Rather than just rejecting it

How can youmake it easy for contributors?Large projects

I Be nice

I Handhold where you can

How can youmake it easy for contributors?Large projects

I Be niceI Handhold where you can

How can youmake it easy for contributors?Large projects

I Recognise people for their contribution

I Entice people back by giving them a good experience

How can youmake it easy for contributors?Large projects

I Recognise people for their contributionI Entice people back by giving them a good experience