O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Get your FLOSS problems solved

10.857 visualizações

Publicada em

Talk gave at Hacking Camp 2011.

Publicada em: Tecnologia
  • Follow the link, new dating source: ❶❶❶ http://bit.ly/2F7hN3u ❶❶❶
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Dating direct: ❤❤❤ http://bit.ly/2F7hN3u ❤❤❤
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Seja a primeira pessoa a gostar disto

Get your FLOSS problems solved

  1. 1. Get your FLOSS problems solved Rex Tsai chihchun@kalug.linux.org.tw Hacking Camp @ 宜蘭縣 頭城 大溪國小 2011-07-16 Sponsored by OSSF / OSSACC 1
  2. 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 2
  3. 3. Software sucks● 使用問題 / Questions● 回報臭蟲 / Bugs● 期待新功能 / Missed features How to get your problem solved? 3
  4. 4. Solutions● Talk to the developer directly (irc, email, IM)● File a bug report● Submit a patch Ask right question in right place 4
  5. 5. Guidelines● Be specific. ( 要明確 )● Be verbose. ( 要詳細 )● Be careful of pronouns. ( 注意代名詞 )● Read what you wrote. ( 注意措辭 )● Follow RFC 1855 - Netiquette Guidelines ( 有禮 節) 5
  6. 6. Be specific."It doesnt work." 6
  7. 7. Be verboseEvery information counts. 7
  8. 8. Pronouns你告訴我的這個在他說得那個上不能用 8
  9. 9. NetiquetteFollow the protocol(s). 9
  10. 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. 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 11
  12. 12. How to ask questions (2)● Dont 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.● Dont expect immediate response, you talk to global developers● Be especially careful with sarcasm for different cultures● Know whom to contact for help. 12
  13. 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.● Dont cross post your questions. 13
  14. 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 youre a programmer, try to find an answer by reading the source code. 爬文http://www.catb.org/~esr/faqs/smart-questions.html 14
  15. 15. Other questions● Support requests, feature and policy discussions, and development ideas all have their own dedicated mailing lists or forums. 15
  16. 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. 16
  17. 17. How the open source projects cooperate with others? Governance, Foundations, Organizations, Commercial entity, Projects, Distributions? 17
  18. 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. 19. Upstream and distros● Distros integrate upstream software projects like GNOME, KDE, Linux Kernel, Xorg, …● Standardization, Quality Assurance 19
  20. 20. Child distros Upstream projects Upstream projects (GNOME, KDE, Xorg) (GNOME, KDE, Xorg) 20http://www.debian.org/misc/children-distros
  21. 21. Tools for support the user community● IRC● Forum● Issue trackers● Crash reporter (like Bug Buddy, Ubuntu apport, Mozilla breakpad) 21
  22. 22. IRC● Instant response● But developers may not available for you. 22
  23. 23. User communities ● 17k Questions ● 31k Answers ● 19k User ● 21k Visits/Day ● 81% of questions have accepted answershttp://andrewsomething.wordpress.com/2011/07/14/can-i-haz-answers/ 23
  24. 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. 25. Issue trackers● Launchpad (Ubuntu)● Debian BTS (Debian)● Bugzilla (fedora, redhat, gnome)● Google Code● Sourceforge● Github● OSSF 25
  26. 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. 27. distro work with upstream bug reportshttps://edge.launchpad.net/ubuntu/+upstreamreport 27https://wiki.ubuntu.com/Bugs/Upstream/UpstreamReport
  28. 28. 28
  29. 29. Do you homework first 29https://lkml.org/lkml/2011/3/16/172
  30. 30. Good issue reports improve software qualityITP: jidanni -- a natural intelligence to find many bugs http://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. 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. 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.html http://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