Talk gave at Hacking Camp 2011.
- 1.Get your FLOSS problems solvedRex Tsai email@example.com Hacking Camp @ 2011-07-16 Sponsored by OSSF / OSSACC 1
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 patch2 3. Software sucks / Questions / Bugs / Missed featuresHow to get your problem solved?3 4. Solutions Talk to the developer directly (irc, email, IM) File a bug report Submit a patchAsk right question in right place4 5. Guidelines Be specific. ( ) Be verbose. ( ) Be careful of pronouns. ( ) Read what you wrote. ( ) Follow RFC 1855 - Netiquette Guidelines ( ) 5 6. Be specific."It doesnt work." 6 7. Be verboseEvery information counts.7 8. Pronouns8 9. NetiquetteFollow the protocol(s).9 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/Introduction 10http://www.catb.org/~esr/faqs/smart-questions.html 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 reportedand/or fixed Use tools to collect info (reportbug, apport) Describe the problem so that the developercan reproduce it Be kind and willing to help11 12. How to ask questions (2) Dont send heated messages (flames) Be specific on subject. Mail should have a subjectheading which reflects the content of the message. Be careful with addressing mail. Dont expect immediate response, you talk to globaldevelopers Be especially careful with sarcasm for different cultures Know whom to contact for help.12 13. How to ask questions (3) Check message layout, no more then 65 charsone line. Send subscribe and unsubscribe messages tothe appropriate address. Dont cross post your questions.13 14. How to ask questions (4) Try to find an answer by searching the archives of theforum 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 youre a programmer, try to find an answer byreading the source code. http://www.catb.org/~esr/faqs/smart-questions.html 14 15. Other questions Support requests, feature and policydiscussions, and development ideas all havetheir own dedicated mailing lists or forums. 15 16. Software vulnerability / SecurityIssues Coordinated Vulnerability Disclosure akaresponsible disclosure. report to the vendor privately, or to a privateservice that will likewise report to the vendorprivately. Do not distribute exploits.16 17. How the open source projects cooperate with others? Governance, Foundations, Organizations, Commercial entity, Projects, Distributions? 17 18. DistrosA Linux distribution is a member of the family of Unix-likeoperating systems built on top of the Linux kernel. Suchdistributions (often called distros for short) are Operatingsystems including a large collection of softwareapplications such as word processors, spreadsheets, mediaplayers, and database applications. The operating systemwill consist of the Linux kernel and, usually, a set oflibraries and utilities from the GNU project, with graphicssupport from the X Window System. http://en.wikipedia.org/wiki/Linux_distribution http://distrowatch.com/18 19. Upstream and distros Distros integrate upstream software projectslike GNOME, KDE, Linux Kernel, Xorg, Standardization, Quality Assurance 19 20. Child distrosUpstream projects Upstream projects (GNOME, KDE, Xorg)(GNOME, KDE, Xorg)20http://www.debian.org/misc/children-distros 21. Tools for support the usercommunity IRC Forum Issue trackers Crash reporter (like Bug Buddy, Ubuntuapport, Mozilla breakpad) 21 22. IRC Instant response But developers may not available for you.22 23. User communities 17k Questions 31k Answers 19k User 21k Visits/Day 81% of questionshave acceptedanswershttp://andrewsomething.wordpress.com/2011/07/14/can-i-haz-answers/ 23 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... 24 25. Issue trackers Launchpad (Ubuntu) Debian BTS (Debian) Bugzilla (fedora, redhat, gnome) Google Code Sourceforge Github OSSF 25 26. Where to report bug ? File the bug in upstream project File the bug in upstream distro File bug in distros issue tracker 26 27. distro work with upstream bugreportshttps://edge.launchpad.net/ubuntu/+upstreamreport27https://wiki.ubuntu.com/Bugs/Upstream/UpstreamReport 28. 28 29. Do you homework first 29https://lkml.org/lkml/2011/3/16/172 30. Good issue reportsimprove software qualityITP: jidanni -- a natural intelligence to find many bugshttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576184http://code.google.com/p/smartquestions/wiki/QuestionsNotToAsk 30http://code.google.com/p/smartquestions/wiki/GoodandBadQuestions 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. 31 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 solvedhttp://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 32