you don't need to be a developer to contribute
TRANSCRIPT
About Me● Nathan Handler
● [email protected] / @nathanhandler
● Ubuntu/Debian Developer and freenode staff (nhandler)
● Site Reliability Engineer at Yelp
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● 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.● 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. "
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● 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
"Thirsty Lady Bugs" by John Fowler is licensed under CC BY 2.0
Triaging Bugs
"Monarch Butterfly" by Peter Miller is licensed under CC BY-NC-ND 2.0
Triaging Bugs
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● 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● 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
Leadership● Approving new MOTUs and Contributing Developers
○ Granting root access to millions of machines
○ No is not really No
● Conflict Resolution
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