you don't need to be a developer to contribute

37
You Don't Need to be a Developer to Contribute Nathan Handler @nathanhandler

Upload: nathan-handler

Post on 12-Apr-2017

146 views

Category:

Technology


3 download

TRANSCRIPT

You Don't Need to be a Developer to Contribute

Nathan Handler

@nathanhandler

About Me● Nathan Handler

[email protected] / @nathanhandler

● Ubuntu/Debian Developer and freenode staff (nhandler)

● Site Reliability Engineer at Yelp

Contributing is not a race

Contributing is not a race● You are not competing against other people

● There is no one size fits all

● The end should not be in sight

Before you can be a contributor, you need to be a user

Before you can be a contributor, you need to be a user● Become familiar with the project and how it works

● A passion for the project or a desire to make it better serve as

great motivation

● Necessary in order to test your changes

Have questions?The community

has answers.

Have questions? The community has answers.● There are many resources for help

○ Forum, IRC, Wiki, Documentation, etc.

● People are not born knowing how everything works

● Don't be afraid to ask questions

Ubuntu Beginners Team / Unanswered Posts Team● "The Ubuntu Beginners Team exists to enhance the initial

experience of new Ubuntu users and to guide existing Ubuntu

users to become part of the global Ubuntu community."

● "The team goal is to try to answer as many unanswered posts

on the forums as possible. The less empty topics there are,

the better. We don't want users to go away from the forums

thinking that no one cares about their topic or problem. "

Take some time to get to know the people behind the

usernames

SOURCE

Open Source● Selling point of Linux is that it is Open Source and you can customize it

● Customizations not limited to visual (i.e. Conky and Compiz)

● Search for "Develop for Ubuntu"

Packaging and Patches

Packaging and Patches● A package is an application (i.e. Firefox) plus additional files

that describe how to install the program, dependencies,

copyright, etc.

● First bug fix involved adding a 'Suggested' package (1 line,

many hours)

● Bug was labeled 'bitesize' and Emmet Hikory (persia) offered

mentorship

○ He could have easily fixed the bug in a few minutes

○ Mentoring led to a new Ubuntu Developer

Feedback (Reviewing)● Helped new contributors learn

● Exposed me to many new packages/bugs

○ Became better at reviewing by paying attention to reviews

left by other people

● Saves time for people doing sponsoring

Triaging Bugs● Many bugs lack details

○ Hard to locate while searching

○ Difficult to understand

○ Tough to resolve

● Waste the limited time of developers

● Goal of triaging is to turn the mess of bugs into beautiful bugs

● Triaged bugs are designed to be immediately actionable by a developer

Membership● Became an Ubuntu Contributing Developer in July 2008

● Recognition of significant and sustained contributions

● Motivation to contribute more

Meetups

Meetups● Ubuntu Local Teams (LoCos) organize meetups

● Put faces to names

● Certain events can't be done virtually (i.e. install fests)

● Require organizing and planning

Ubuntu Classroom● Documentation quickly becomes outdated

● Virtual IRC classroom with text-based presentations

○ Fills in the gaps and updates documentation

○ Requires coordination and teachers

● ClassBot

News● Important to stay up-to-date

● Impossible to read everything

● Fridge

○ Blog with important news and announcements

● Ubuntu Weekly Newsletter

○ Weekly email with summaries of the news

● Team Reports

○ Per-team monthly activity summaries

Moderation● IRC

○ Allows for realtime communication

○ Logging provides a permanent and searchable archive

● Mailing Lists

○ Great for sharing longer thoughts/ideas asynchronously

● Freedom of speech is great; spam and trolls are not

● Need moderators to help keep discussions on topic

Upload Access

Upload Access● Master Of The Universe (MOTU)

○ Upload access to the universe/multiverse repositories

○ Still required a sponsor for main/restricted

● Extra caution due to lack of safety net

● Sponsorship

○ Ultimately responsible for any issues

○ Helping to train the next batch of contributors

Approved

Leadership

Leadership● Approving new MOTUs and Contributing Developers

○ Granting root access to millions of machines

○ No is not really No

● Conflict Resolution

Moving Upstream

Moving Upstream● Each package represents an open source project

● Each developer is likely involved in at least one other project

● Debian GNU/Linux

● freenode IRC network

Burnout● Impossible to do everything at the same time

● Performing the same task for an extended duration is tiring

● Need change to keep things fresh and interesting

● Remember to gracefully step down and transition duties