Generally, we coordinate the overall flow on the SpamAssassin-Users and SpamAssassin-Dev MailingLists. Then, for specific new functionality or rules, a Bugzilla bug should be created to track progress and provide a forum for discussion; any patches should be stored (as an attachment) on that Bugzilla bug.
By using a Bugzilla bug to track code changes, we have an easy way to find the discussion/timeline of that functionality's development at any point in the future, since we can simply say "see bug 2134 for details/discussion/arguments" etc.
The code itself is maintained in a Subversion repository which can be browsed via the following methods:
svn checkout https://svn.apache.org/repos/asf/spamassassin/trunk
- WebDAV at webdav://svn.apache.org/repos/asf/spamassassin/
a web UI on SVN history via this ViewVC view
DevBookmarks: some good bookmarks for SA developers and contributors.
NextRelease: Might contain a schedule for the next release.
VotingProcedure: We follow the ASF way of doing things like this.
ReleasePolicy (draft): We follow the ASF way here too.
DevelopmentMode: The difference between C-T-R and R-T-C, etc.
ProjectRoles: Users, Contributors, Committers, PMC members
SecurityPolicy: what happens when someone finds a vulnerability in SA
ContinuousTesting: our continuous testing system
Patches and Coding
CodingStyle: some tips on how we format our code.
AboutClas: information on the Apache Contributor License Agreement.
RuleDevelopment: some notes on rule development.
ManualRuleUpdates: how to manually put out a rule update
DisableAutoRuleUpdates: how to disable automatic rule updates
AutoRuleUpdates: how automatic sa-update update package generation works
InfraNotes: notes on our infrastructure at the ASF and elsewhere, and adminning it
InfraNotes2017: notes on our new ASF infrastucture
RsyncConfig: How rsync is setup, how to add new accounts, etc.
OpenInfraIssues: active bugs/requests we have open with the ASF infrastructure team
MassCheckSlave: how to set up a new mass-check slave server
Stuff about scoring
TenFoldCrossValidation: How to test the accuracy of the scoring system
NightlyMassCheck: How to run nightly mass-check runs to help with rule scoring
RescoreMassCheck: How to generate a new score-set (the big mass-check run)
BayesStopList: information about the default Bayes "words to skip", and how they were chosen
MailManglingInTheField: Information about known ways a mail message can be changed in transit.
The SpamAsassin public corpus: an old collection of hand-filtered ham and spam for testing GA work, developing new filter techniques, and benchmarking filters.
GTUBE: the Generic Test For Unsolicited Bulk Email.
- Package Building: RPM's, etc.
Historical information relating to the Incubation process
IncubatorToDo: To-do list for moving out of the Apache Incubator
ClaVettingProcess: How we tracked down code owners in order to relicense and the resolution of the process