1. Yes, the SDM is the right place for OpenACS bug reports.
2. You would report a bug by opening a new bug on the appropriate module.
The appropriate module is the one containing the code concerned, not by the one or ones which depend on or use that code. OpenACS 3.x is sometimes less than wonderfuly modular -- 4.x is a lot better in that regard.
In this case I'd say ad-categories.tcl is a set of utility procedures, so the bug is at least potentially a 'site-wide issue'...
but that's just one person's opinion; you will not be subjected to massive verbal abuse for picking general links instead 😊
It's often a good idea to post a bboard item saying that you just submitted a patch and bug report, so that your new submision has a better chance of being noticed.
3. A patch is a file containing output from diff that can be applied to the original file(s) using the utility named 'patch' to make the desired change(s). Typing 'man patch' and 'man diff' on most Unix boxes will get you lots of details. In general for OpenACS, it is preferred (I think) that patchfiles are generated as unified diffs from the top of the OpenACS tree, though several patches that have been submitted do not seem to have been created this way.
In other words, create a tree say acs3.orig and the one you make your change in say acs3. Then the command
diff -uNr acs3.orig acs3 >mypatchfile.patch
would create the relevant patch file. Look at some existing patchfiles to get the general idea, if you've never created one before.
You can submit patches to the SDM and then associate them with particular bug reports.
4. Anyone (at least any registered user of the OpenACS.Org site) can submit a bug report, or a patch, to the SDM.
5. The module maintainer will review the submitted patch before choosing whether or not to apply it, so don't worry *too* much about getting it 100% perfect first time if you are new to this sort of software development.
6. You can add comments to bugs once submitted. You can add new revised patches if you need to.
Hopefully this is enough info to get you started.
All of this is just my opinion and totally unofficial... but if it's wrong, someone is likely to respond telling me so!
And if someone wants to create an SDM FAQ... that might be good 😊