32
1 Get your FLOSS problems solved Rex Tsai [email protected] Hacking Camp @ 宜蘭縣 頭城 大溪國小 2011-07-16 Sponsored by OSSF / OSSACC

Get your FLOSS problems solved

Embed Size (px)

DESCRIPTION

Talk gave at Hacking Camp 2011.

Citation preview

Page 1: Get your FLOSS problems solved

1

Get your FLOSS problems solved

Rex [email protected]

Hacking Camp @ 宜蘭縣 頭城 大溪國小2011-07-16

Sponsored by OSSF / OSSACC

Page 2: Get your FLOSS problems solved

2

Agenda

● Fix your issue effectively with the developer● What kind of questions do hackers expect ?● How to ask a questions ?

● Understand the projects and distributions● Upstream and downstream, release cycle,

● Learn how project manage issues● Mailing lists, net news, issue tracker, irc● Example of good and bad bug reports ● Tips to submit a patch

Page 3: Get your FLOSS problems solved

3

Software sucks

● 使用問題 / Questions● 回報臭蟲 / Bugs● 期待新功能 / Missed features

How to get your problem solved?How to get your problem solved?

Page 4: Get your FLOSS problems solved

4

Solutions

● Talk to the developer directly (irc, email, IM)● File a bug report● Submit a patch

Ask right question in right placeAsk right question in right place

Page 5: Get your FLOSS problems solved

5

Guidelines

● Be specific. ( 要明確 )● Be verbose. ( 要詳細 )● Be careful of pronouns. ( 注意代名詞 )● Read what you wrote. ( 注意措辭 )● Follow RFC 1855 - Netiquette Guidelines ( 有禮

節 )

Page 6: Get your FLOSS problems solved

6

Be specific.

"It doesn't work."

Page 7: Get your FLOSS problems solved

7

Be verbose

Every information counts.

Page 8: Get your FLOSS problems solved

8

Pronouns

你告訴我的這個在他說得那個上不能用

Page 9: Get your FLOSS problems solved

9

Netiquette

Follow the protocol(s).

Page 10: Get your FLOSS problems solved

10

What developer expect?

● hackers actually like hard problems and good, thought-provoking questions about them. 駭客們喜愛有挑戰性的問題,或者能激發他們思維的好問題。

● Despite this, hackers have a reputation for meeting simple questions with what looks like hostility or arrogance 蔑視–不願思考或在發問前不作功課的人。

● Hacker 're (largely) volunteers. 在很大程度上屬於志願者,從繁忙的生活中抽出自己的時間來解惑答。

● most of us would love nothing more than to deal with you as an equal and welcome you into our culture 大多數人非常樂意與用心的人平等地交流。

http://code.google.com/p/smartquestions/wiki/Introductionhttp://www.catb.org/~esr/faqs/smart-questions.html

Page 11: Get your FLOSS problems solved

11

How to ask questions (1)

● Try to reproduce the bug● Do your best to identify the faulty package● Verify that the bug is not already reported

and/or fixed● Use tools to collect info (reportbug, apport)● Describe the problem so that the developer

can reproduce it● Be kind and willing to help

Page 12: Get your FLOSS problems solved

12

How to ask questions (2)

● Don't send heated messages (flames)● Be specific on subject. Mail should have a subject

heading which reflects the content of the message. ● Be careful with addressing mail.● Don't expect immediate response, you talk to global

developers● Be especially careful with sarcasm for different cultures● Know whom to contact for help.

Page 13: Get your FLOSS problems solved

13

How to ask questions (3)

● Check message layout, no more then 65 chars one line.

● Send subscribe and unsubscribe messages to the appropriate address.

● Don't cross post your questions.

Page 14: Get your FLOSS problems solved

14

How to ask questions (4)

● Try to find an answer by searching the archives of the forum you plan to post to.

● Try to find an answer by searching the Web.● Try to find an answer by reading the manual.● Try to find an answer by reading a FAQ.● Try to find an answer by inspection or experimentation.● Try to find an answer by asking a skilled friend.● If you're a programmer, try to find an answer by

reading the source code.

http://www.catb.org/~esr/faqs/smart-questions.html

爬文

Page 15: Get your FLOSS problems solved

15

Other questions

● Support requests, feature and policy discussions, and development ideas all have their own dedicated mailing lists or forums.

Page 16: Get your FLOSS problems solved

16

Software vulnerability / Security Issues

● Coordinated Vulnerability Disclosure aka responsible disclosure.

● report to the vendor privately, or to a private service that will likewise report to the vendor privately.

● Do not distribute exploits.

Page 17: Get your FLOSS problems solved

17

How the open source projects cooperate with others?

Governance, Foundations, Organizations, Commercial entity, Projects, Distributions?

Page 18: Get your FLOSS problems solved

18

Distros

A Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions (often called distros for short) are Operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications. The operating system will consist of the Linux kernel and, usually, a set of libraries and utilities from the GNU project, with graphics support from the X Window System.

http://en.wikipedia.org/wiki/Linux_distributionhttp://distrowatch.com/

Page 19: Get your FLOSS problems solved

19

Upstream and distros

● Distros integrate upstream software projects like GNOME, KDE, Linux Kernel, Xorg, …

● Standardization, Quality Assurance

Page 20: Get your FLOSS problems solved

20

Child distros

Upstream projects(GNOME, KDE, Xorg)

Upstream projects(GNOME, KDE, Xorg)

http://www.debian.org/misc/children-distros

Page 21: Get your FLOSS problems solved

21

Tools for support the user community

● IRC● Forum● Issue trackers● Crash reporter (like Bug Buddy, Ubuntu

apport, Mozilla breakpad)

Page 22: Get your FLOSS problems solved

22

IRC

● Instant response● But developers may not available for you.

Page 23: Get your FLOSS problems solved

23

User communities

● 17k Questions● 31k Answers● 19k User● 21k Visits/Day● 81% of questions

have accepted answers

http://andrewsomething.wordpress.com/2011/07/14/can-i-haz-answers/

Page 24: Get your FLOSS problems solved

24

Local User Communities

● tw.bbs.comp.linux aka ptt linux 版● Ubuntu-TW http://www.ubuntu-tw.org/● Ubuntu-CN http://www.ubuntu.org.cn/● MOTO http://moto.debian.org.tw/● So on...

阿鬼,講中文好嗎

Page 25: Get your FLOSS problems solved

25

Issue trackers

● Launchpad (Ubuntu)● Debian BTS (Debian)● Bugzilla (fedora, redhat, gnome)● Google Code● Sourceforge● Github● OSSF

Page 26: Get your FLOSS problems solved

26

Where to report bug ?

● File the bug in upstream project● File the bug in upstream distro● File bug in distro's issue tracker

Page 27: Get your FLOSS problems solved

27

distro work with upstream bug reports

https://edge.launchpad.net/ubuntu/+upstreamreporthttps://wiki.ubuntu.com/Bugs/Upstream/UpstreamReport

Page 28: Get your FLOSS problems solved

28

Page 29: Get your FLOSS problems solved

29

Do you homework first

https://lkml.org/lkml/2011/3/16/172

Page 30: Get your FLOSS problems solved

30

Good issue reports improve software quality

ITP: jidanni -- a natural intelligence to find many bugs

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576184

http://code.google.com/p/smartquestions/wiki/QuestionsNotToAskhttp://code.google.com/p/smartquestions/wiki/GoodandBadQuestions

Page 31: Get your FLOSS problems solved

31

Submit a good patch

● Send patch, not tarball.● Delete the auto-generated files.

● Works on development branch● Send one feature/bug fix in one patch● Be careful the license and copyright● Follow the coding style

● Include (useful) comments and explanations● Read guidelines

● Build and test before you send.

Page 32: Get your FLOSS problems solved

32

References● How To Ask Questions The Smart Way http://www.catb.org/~esr/faqs/smart-questions.html

● 提問的智慧 http://code.google.com/p/smartquestions/wiki/Introduction

● 7 tips to file useful Debian bug reports and get your problem solved http://raphaelhertzog.com/2011/07/11/7-tips-to-file-useful-debian-bug-reports-and-get-your-problem-solved/

● How to Report Bugs Effectively http://www.chiark.greenend.org.uk/~sgtatham/bugs.htmlhttp://www.chiark.greenend.org.uk/~sgtatham/bugs-tw.html

● 如何有效地報告錯誤 http://www.chiark.greenend.org.uk/~sgtatham/bugs-tw.html

● Netiquette Guidelines http://www.dtcc.edu/cs/rfc1855.html

● Software Release Practice HOWTO http://en.tldp.org/HOWTO/Software-Release-Practice-HOWTO/index.html

● How to piss off a kernel subsystem maintainer

● http://www.kroah.com/log/linux/maintainer.html

● http://www.kroah.com/log/linux/maintainer-02.html

● http://www.kroah.com/log/linux/maintainer-03.html

● http://www.kroah.com/log/linux/maintainer-04.html

● http://www.kroah.com/log/linux/maintainer-05.html