feedback.but 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  1. \A{feedback} \ii{Feedback} and \i{bug reporting}
  2. This is a guide to providing feedback to the PuTTY development team.
  3. It is provided as both a web page on the PuTTY site, and an appendix
  4. in the PuTTY manual.
  5. \K{feedback-general} gives some general guidelines for sending any
  6. kind of e-mail to the development team. Following sections give more
  7. specific guidelines for particular types of e-mail, such as bug
  8. reports and feature requests.
  9. \H{feedback-general} General guidelines
  10. The PuTTY development team gets a \e{lot} of mail. If you can
  11. possibly solve your own problem by reading the manual, reading the
  12. FAQ, reading the web site, asking a fellow user, or some other
  13. means, then it would make our lives much easier.
  14. We get so much e-mail that we literally do not have time to answer
  15. it all. We regret this, but there's nothing we can do about it. So
  16. if you can \e{possibly} avoid sending mail to the PuTTY team, we
  17. recommend you do so. In particular, support requests
  18. (\k{feedback-support}) are probably better sent to some public
  19. forum, or passed to a local expert if possible.
  20. The PuTTY contact email address is a private \i{mailing list} containing
  21. four or five core developers. Don't be put off by it being a mailing
  22. list: if you need to send confidential data as part of a bug report,
  23. you can trust the people on the list to respect that confidence.
  24. Also, the archives aren't publicly available, so you shouldn't be
  25. letting yourself in for any spam by sending us mail.
  26. Please use a meaningful subject line on your message. We get a lot of
  27. mail, and it's hard to find the message we're looking for if they all
  28. have subject lines like \q{PuTTY bug}.
  29. \S{feedback-largefiles} Sending large attachments
  30. Since the PuTTY contact address is a mailing list, e-mails larger
  31. than 40Kb will be held for inspection by the list administrator, and
  32. will not be allowed through unless they really appear to be worth
  33. their large size.
  34. If you are considering sending any kind of large data file to the
  35. PuTTY team, it's almost always a bad idea, or at the very least it
  36. would be better to ask us first whether we actually need the file.
  37. Alternatively, you could put the file on a web site and just send us
  38. the URL; that way, we don't have to download it unless we decide we
  39. actually need it, and only one of us needs to download it instead of
  40. it being automatically copied to all the developers.
  41. (If the file contains confidential information, then you could encrypt
  42. it with our Secure Contact Key; see \k{pgpkeys-pubkey} for details.
  43. Please \e{only} use this for information that \e{needs} to be
  44. confidential.)
  45. Some people like to send mail in MS Word format. Please \e{don't}
  46. send us bug reports, or any other mail, as a Word document. Word
  47. documents are roughly fifty times larger than writing the same
  48. report in plain text. In addition, most of the PuTTY team read their
  49. e-mail on Unix machines, so copying the file to a Windows box to run
  50. Word is very inconvenient. Not only that, but several of us don't
  51. even \e{have} a copy of Word!
  52. Some people like to send us screen shots when demonstrating a
  53. problem. Please don't do this without checking with us first - we
  54. almost never actually need the information in the screen shot.
  55. Sending a screen shot of an error box is almost certainly
  56. unnecessary when you could just tell us in plain text what the error
  57. was. (On some versions of Windows, pressing Ctrl-C when the error
  58. box is displayed will copy the text of the message to the clipboard.)
  59. Sending a full-screen shot is \e{occasionally} useful, but it's
  60. probably still wise to check whether we need it before sending it.
  61. If you \e{must} mail a screen shot, don't send it as a \cw{.BMP}
  62. file. \cw{BMP}s have no compression and they are \e{much} larger
  63. than other image formats such as PNG, TIFF and GIF. Convert the file
  64. to a properly compressed image format before sending it.
  65. Please don't mail us executables, at all. Our mail server blocks all
  66. incoming e-mail containing executables, as a defence against the
  67. vast numbers of e-mail viruses we receive every day. If you mail us
  68. an executable, it will just bounce.
  69. If you have made a tiny modification to the PuTTY code, please send
  70. us a \e{patch} to the source code if possible, rather than sending
  71. us a huge \cw{.ZIP} file containing the complete sources plus your
  72. modification. If you've only changed 10 lines, we'd prefer to
  73. receive a mail that's 30 lines long than one containing multiple
  74. megabytes of data we already have.
  75. \# \S{feedback-other-fora} Other places to ask for help
  76. \H{feedback-bugs} Reporting bugs
  77. If you think you have found a bug in PuTTY, your first steps should
  78. be:
  79. \b Check the
  80. \W{https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/}{Wishlist
  81. page} on the PuTTY website, and see if we already know about the
  82. problem. If we do, it is almost certainly not necessary to mail us
  83. about it, unless you think you have extra information that might be
  84. helpful to us in fixing it. (Of course, if we actually \e{need}
  85. specific extra information about a particular bug, the Wishlist page
  86. will say so.)
  87. \b Check the
  88. \W{https://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html}{Change
  89. Log} on the PuTTY website, and see if we have already fixed the bug
  90. in the \i{development snapshots}.
  91. \b Check the
  92. \W{https://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html}{FAQ}
  93. on the PuTTY website (also provided as \k{faq} in the manual), and
  94. see if it answers your question. The FAQ lists the most common
  95. things which people think are bugs, but which aren't bugs.
  96. \b Download the latest development snapshot and see if the problem
  97. still happens with that. This really is worth doing. As a general
  98. rule we aren't very interested in bugs that appear in the release
  99. version but not in the development version, because that usually
  100. means they are bugs we have \e{already fixed}. On the other hand, if
  101. you can find a bug in the development version that doesn't appear in
  102. the release, that's likely to be a new bug we've introduced since
  103. the release and we're definitely interested in it.
  104. If none of those options solved your problem, and you still need to
  105. report a bug to us, it is useful if you include some general
  106. information:
  107. \b Tell us what \i{version of PuTTY} you are running. To find this out,
  108. use the \q{About PuTTY} option from the System menu. Please \e{do
  109. not} just tell us \q{I'm running the latest version}; e-mail can be
  110. delayed and it may not be obvious which version was the latest at
  111. the time you sent the message.
  112. \b PuTTY is a multi-platform application; tell us what version of what
  113. OS you are running PuTTY on. (If you're running on Unix, or Windows
  114. for Arm, tell us, or we'll assume you're running on Windows for
  115. Intel as this is overwhelmingly the case.)
  116. \b Tell us what protocol you are connecting with: SSH, Telnet,
  117. Rlogin, SUPDUP, or Raw mode, or a serial connection.
  118. \b Tell us what kind of server you are connecting to; what OS, and
  119. if possible what SSH server (if you're using SSH). You can get some
  120. of this information from the PuTTY Event Log (see \k{using-eventlog}
  121. in the manual).
  122. \b Send us the contents of the PuTTY Event Log, unless you
  123. have a specific reason not to (for example, if it contains
  124. confidential information that you think we should be able to solve
  125. your problem without needing to know).
  126. \b Try to give us as much information as you can to help us
  127. see the problem for ourselves. If possible, give us a step-by-step
  128. sequence of \e{precise} instructions for reproducing the fault.
  129. \b Don't just tell us that PuTTY \q{does the wrong thing}; tell us
  130. exactly and precisely what it did, and also tell us exactly and
  131. precisely what you think it should have done instead. Some people
  132. tell us PuTTY does the wrong thing, and it turns out that it was
  133. doing the right thing and their expectations were wrong. Help to
  134. avoid this problem by telling us exactly what you think it should
  135. have done, and exactly what it did do.
  136. \b If you think you can, you're welcome to try to fix the problem
  137. yourself. A \i{patch} to the code which fixes a bug is an excellent
  138. addition to a bug report. However, a patch is never a \e{substitute}
  139. for a good bug report; if your patch is wrong or inappropriate, and
  140. you haven't supplied us with full information about the actual bug,
  141. then we won't be able to find a better solution.
  142. \b
  143. \W{https://www.chiark.greenend.org.uk/~sgtatham/bugs.html}\cw{https://www.chiark.greenend.org.uk/~sgtatham/bugs.html}
  144. is an article on how to report bugs effectively in general. If your
  145. bug report is \e{particularly} unclear, we may ask you to go away,
  146. read this article, and then report the bug again.
  147. It is reasonable to report bugs in PuTTY's documentation, if you
  148. think the documentation is unclear or unhelpful. But we do need to
  149. be given exact details of \e{what} you think the documentation has
  150. failed to tell you, or \e{how} you think it could be made clearer.
  151. If your problem is simply that you don't \e{understand} the
  152. documentation, we suggest asking around and seeing if someone
  153. will explain what you need to know. \e{Then}, if you think the
  154. documentation could usefully have told you that, send us a bug
  155. report and explain how you think we should change it.
  156. \H{feedback-vulns} Reporting security vulnerabilities
  157. If you've found a security vulnerability in PuTTY, you might well want
  158. to notify us using an encrypted communications channel, to avoid
  159. disclosing information about the vulnerability before a fixed release
  160. is available.
  161. For this purpose, we provide a GPG key suitable for encryption: the
  162. Secure Contact Key. See \k{pgpkeys-pubkey} for details of this.
  163. (Of course, vulnerabilities are also bugs, so please do include as
  164. much information as possible about them, the same way you would with
  165. any other bug report.)
  166. \H{feedback-features} Requesting extra features
  167. If you want to request a new feature in PuTTY, the very first things
  168. you should do are:
  169. \b Check the
  170. \W{https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/}{Wishlist
  171. page} on the PuTTY website, and see if your feature is already on
  172. the list. If it is, it probably won't achieve very much to repeat
  173. the request. (But see \k{feedback-feature-priority} if you want to
  174. persuade us to give your particular feature higher priority.)
  175. \b Check the Wishlist and
  176. \W{https://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html}{Change
  177. Log} on the PuTTY website, and see if we have already added your
  178. feature in the development snapshots. If it isn't clear, download
  179. the latest development snapshot and see if the feature is present.
  180. If it is, then it will also be in the next release and there is no
  181. need to mail us at all.
  182. If you can't find your feature in either the development snapshots
  183. \e{or} the Wishlist, then you probably do need to submit a feature
  184. request. Since the PuTTY authors are very busy, it helps if you try
  185. to do some of the work for us:
  186. \b Do as much of the design as you can. Think about \q{corner
  187. cases}; think about how your feature interacts with other existing
  188. features. Think about the user interface; if you can't come up with
  189. a simple and intuitive interface to your feature, you shouldn't be
  190. surprised if we can't either. Always imagine whether it's possible
  191. for there to be more than one, or less than one, of something you'd
  192. assumed there would be one of. (For example, if you were to want
  193. PuTTY to put an icon in the System tray rather than the Taskbar, you
  194. should think about what happens if there's more than one PuTTY
  195. active; how would the user tell which was which?)
  196. \b If you can program, it may be worth offering to write the feature
  197. yourself and send us a patch. However, it is likely to be helpful
  198. if you confer with us first; there may be design issues you haven't
  199. thought of, or we may be about to make big changes to the code which
  200. your patch would clash with, or something. If you check with the
  201. maintainers first, there is a better chance of your code actually
  202. being usable. Also, read the design principles listed in \k{udp}: if
  203. you do not conform to them, we will probably not be able to accept
  204. your patch.
  205. \H{feedback-feature-priority} Requesting features that have already
  206. been requested
  207. If a feature is already listed on the Wishlist, then it usually
  208. means we would like to add it to PuTTY at some point. However, this
  209. may not be in the near future. If there's a feature on the Wishlist
  210. which you would like to see in the \e{near} future, there are
  211. several things you can do to try to increase its priority level:
  212. \b Mail us and vote for it. (Be sure to mention that you've seen it
  213. on the Wishlist, or we might think you haven't even \e{read} the
  214. Wishlist). This probably won't have very \e{much} effect; if a huge
  215. number of people vote for something then it may make a difference,
  216. but one or two extra votes for a particular feature are unlikely to
  217. change our priority list immediately. Offering a new and compelling
  218. justification might help. Also, don't expect a reply.
  219. \b Offer us money if we do the work sooner rather than later. This
  220. sometimes works, but not always. The PuTTY team all have full-time
  221. jobs and we're doing all of this work in our free time; we may
  222. sometimes be willing to give up some more of our free time in
  223. exchange for some money, but if you try to bribe us for a \e{big}
  224. feature it's entirely possible that we simply won't have the time to
  225. spare - whether you pay us or not. (Also, we don't accept bribes to
  226. add \e{bad} features to the Wishlist, because our desire to provide
  227. high-quality software to the users comes first.)
  228. \b Offer to help us write the code. This is probably the \e{only}
  229. way to get a feature implemented quickly, if it's a big one that we
  230. don't have time to do ourselves.
  231. \H{feedback-workarounds} Workarounds for SSH server bugs
  232. It's normal for SSH implementations to automatically enable
  233. workarounds for each other's bugs, using the software version strings
  234. that are exchanged at the start of the connection. Typically an SSH
  235. client will have a list of server version strings that it believes to
  236. have particular bugs, and auto-enable the appropriate set of
  237. workarounds when it sees one of those strings. (And servers will have
  238. a similar list of workarounds for \e{client} software they believe to
  239. be buggy.)
  240. If you've found a bug in an SSH server, and you'd like us to add an
  241. auto-detected workaround for it, our policy is that \s{the server
  242. implementor should fix it first}.
  243. If the server implementor has fixed it in the latest version, and can
  244. give us a complete description of the version strings that go with the
  245. bug, then we're happy to use those version strings as a trigger to
  246. automatically enable our workaround (assuming one is possible). We
  247. \e{won't} accept requests to auto-enable workarounds for an open-ended
  248. set of version strings, such as \q{any version of FooServer, including
  249. future ones not yet released}.
  250. The aim of this policy is to encourage implementors to gradually
  251. converge on the actual standardised SSH protocol. If we enable people
  252. to continue violating the spec, by installing open-ended workarounds
  253. in PuTTY for bugs they're never going to fix, then we're contributing
  254. to an ecosystem in which everyone carries on having bugs and everyone
  255. else carries on having to work around them.
  256. An exception: if an SSH server is no longer maintained \e{at all}
  257. (e.g. the company that produced it has gone out of business), and
  258. every version of it that was ever released has a bug, then that's one
  259. situation in which we may be prepared to add a workaround rule that
  260. matches all versions of that software. (The aim is to stop
  261. implementors from continuing to release software with the bug \dash
  262. and if they're not releasing it \e{at all} any more, then that's
  263. already done!)
  264. We do recognise that sometimes it will be difficult to get the server
  265. maintainer to fix a bug, or even to answer support requests at all. Or
  266. it might take them a very long time to get round to doing anything
  267. about it. We're not completely unwilling to compromise: we're prepared
  268. to add \e{manually enabled} workarounds to PuTTY even for bugs that an
  269. implementation hasn't fixed yet. We just won't \e{automatically}
  270. enable the workaround unless the server maintainer has also done their
  271. part.
  272. \H{feedback-support} \ii{Support requests}
  273. If you're trying to make PuTTY do something for you and it isn't
  274. working, but you're not sure whether it's a bug or not, then
  275. \e{please} consider looking for help somewhere else. This is one of
  276. the most common types of mail the PuTTY team receives, and we simply
  277. don't have time to answer all the questions. Questions of this type
  278. include:
  279. \b If you want to do something with PuTTY but have no idea where to
  280. start, and reading the manual hasn't helped, try posting to a
  281. public forum and see if someone can explain it to you.
  282. \b If you have tried to do something with PuTTY but it hasn't
  283. worked, and you aren't sure whether it's a bug in PuTTY or a bug in
  284. your SSH server or simply that you're not doing it right, then try
  285. posting to some public forum and see if someone can solve your
  286. problem. Or try doing the same thing with a different SSH client
  287. and see if it works with that. Please do not report it as a PuTTY
  288. bug unless you are really sure it \e{is} a bug in PuTTY.
  289. \b If someone else installed PuTTY for you, or you're using PuTTY on
  290. someone else's computer, try asking them for help first. They're more
  291. likely to understand how they installed it and what they expected you
  292. to use it for than we are.
  293. \b If you have successfully made a connection to your server and now
  294. need to know what to type at the server's command prompt, or other
  295. details of how to use the server-end software, talk to your server's
  296. system administrator. This is not the PuTTY team's problem. PuTTY is
  297. only a communications tool, like a telephone; if you can't speak the
  298. same language as the person at the other end of the phone, it isn't
  299. the telephone company's job to teach it to you.
  300. If you absolutely cannot get a support question answered any other
  301. way, you can try mailing it to us, but we can't guarantee to have
  302. time to answer it.
  303. \H{feedback-webadmin} Web server administration
  304. If the PuTTY \i{web site} is down (Connection Timed Out), please don't
  305. bother mailing us to tell us about it. Most of us read our e-mail on
  306. the same machines that host the web site, so if those machines are
  307. down then we will notice \e{before} we read our e-mail. So there's
  308. no point telling us our servers are down.
  309. Of course, if the web site has some other error (Connection Refused,
  310. 404 Not Found, 403 Forbidden, or something else) then we might
  311. \e{not} have noticed and it might still be worth telling us about it.
  312. If you want to report a problem with our web site, check that you're
  313. looking at our \e{real} web site and not a mirror. The real web site
  314. is at
  315. \W{https://www.chiark.greenend.org.uk/~sgtatham/putty/}\c{https://www.chiark.greenend.org.uk/~sgtatham/putty/};
  316. if that's not where you're reading this, then don't report the
  317. problem to us until you've checked that it's really a problem with
  318. the main site. If it's only a problem with the mirror, you should
  319. try to contact the administrator of that mirror site first, and only
  320. contact us if that doesn't solve the problem (in case we need to
  321. remove the mirror from our list).
  322. \H{feedback-permission} Asking permission for things
  323. PuTTY is distributed under the MIT Licence (see \k{licence} for
  324. details). This means you can do almost \e{anything} you like with
  325. our software, our source code, and our documentation. The only
  326. things you aren't allowed to do are to remove our copyright notices
  327. or the licence text itself, or to hold us legally responsible if
  328. something goes wrong.
  329. So if you want permission to include PuTTY on a magazine cover disk,
  330. or as part of a collection of useful software on a CD or a web site,
  331. then \e{permission is already granted}. You don't have to mail us
  332. and ask. Just go ahead and do it. We don't mind.
  333. (If you want to distribute PuTTY alongside your own application for
  334. use with that application, or if you want to distribute PuTTY within
  335. your own organisation, then we recommend, but do not insist, that
  336. you offer your own first-line technical support, to answer questions
  337. about the interaction of PuTTY with your environment. If your users
  338. mail us directly, we won't be able to tell them anything useful about
  339. your specific setup.)
  340. If you want to use parts of the PuTTY source code in another
  341. program, then it might be worth mailing us to talk about technical
  342. details, but if all you want is to ask permission then you don't
  343. need to bother. You already have permission.
  344. If you just want to link to our web site, just go ahead. (It's not
  345. clear that we \e{could} stop you doing this, even if we wanted to!)
  346. \H{feedback-mirrors} Mirroring the PuTTY web site
  347. \# the next two paragraphs also on the Mirrors page itself, with
  348. \# minor context changes
  349. If you want to set up a mirror of the PuTTY website, go ahead and
  350. set one up. Please don't bother asking us for permission before
  351. setting up a mirror. You already have permission.
  352. If the mirror is in a country where we don't already have plenty of
  353. mirrors, we may be willing to add it to the list on our
  354. \W{https://www.chiark.greenend.org.uk/~sgtatham/putty/mirrors.html}{mirrors
  355. page}. Read the guidelines on that page, make sure your mirror
  356. works, and email us the information listed at the bottom of the
  357. page.
  358. Note that we do not \e{promise} to list your mirror: we get a lot of
  359. mirror notifications and yours may not happen to find its way to the
  360. top of the list.
  361. Also note that we link to all our mirror sites using the
  362. \c{rel="nofollow"} attribute. Running a PuTTY mirror is not intended
  363. to be a cheap way to gain search rankings.
  364. If you have technical questions about the process of mirroring, then
  365. you might want to mail us before setting up the mirror (see also the
  366. \W{https://www.chiark.greenend.org.uk/~sgtatham/putty/mirrors.html#guidelines}{guidelines on the Mirrors page});
  367. but if you just want to ask for permission, you don't need to. You
  368. already have permission.
  369. \H{feedback-compliments} Praise and compliments
  370. One of the most rewarding things about maintaining free software is
  371. getting e-mails that just say \q{thanks}. We are always happy to
  372. receive e-mails of this type.
  373. Regrettably we don't have time to answer them all in person. If you
  374. mail us a compliment and don't receive a reply, \e{please} don't
  375. think we've ignored you. We did receive it and we were happy about
  376. it; we just didn't have time to tell you so personally.
  377. To everyone who's ever sent us praise and compliments, in the past
  378. and the future: \e{you're welcome}!
  379. \H{feedback-address} E-mail address
  380. The actual address to mail is
  381. \cw{<\W{mailto:putty@projects.tartarus.org}{putty@projects.tartarus.org}>}.