...
(DRAFT - this part of the wiki is a discussion document, based on emails to dev list. Please feel free to add comments, but be sure to make clear that it's your opinion, by signing your name to them. Your real name is preferred, btw.)
The Problem
Here it is, stated by DuncanFindlay: 'SpamAssassin is not as effective as it could be because of the rules that are being used to detect spam. There are two problems here:
...
- Encouraging contribution: RulesProjMoreInput
- the sandboxes solution: RulesProjSandboxes
- Streamlining the 'getting rules into SpamAssassin' task: RulesProjStreamlining
- Speeding up the release cycle for rules: SaUpdatePlan
- the secrecy problem: RulesProjSecrecy
- the language problem: RulesNotEnglish
Repository Organization
- rules/core/ = standard rules directory
- rules/sandbox/<username>/ = per-user sandboxes
- rules/extra/<directory>/ = extra rule sets not in core
The proposal is for rules/core to become the rules directory for trunk (3.2 and later, via SVN externals which will make their inclusion seamless in the standard SA tree). The sandbox is discussed further in RulesProjMoreInput.
Extras/
We'll want to discuss the structure and process behind creating new extras directories further once we reach a critical mass of committers in the rules project; but here's some initial thoughts on typical 'extra' rulesets.
Outstanding Tasks/Votes
Here's a list of the tasks that have fallen out of the above plan so far... we now need to vote to go forward with these, then put them into action.
First step – the sandboxes:
- PMC vote to approve the sandboxes project (RulesProjSandboxes).
- VOTE: in progress
- VOTE: in progress
- reorganise the rules directory into core/ , sandbox/, and extra/; link that rules project SVN repository to 3.2.0's 'rules' dir; use SVN externals to do this.
- VOTE: in progress
- VOTE: in progress
- write scripts to test, filter, and pull rules from sandboxes automatically into core/ production ruleset
- VOTE: in progress
- VOTE: in progress
- move current ruleset into a new "legacy" sandbox
- VOTE: in progress
- VOTE: in progress
- start using the above scripts to generate core/ ruleset in svn
- VOTE: in progress
- VOTE: in progress
Second step – list-driven mass-checks:
- set up the mailing list; get subscribers. (RulesProjMoreInput)
- implement scripts, or get them from SARE. (RulesProjMoreInput
- 'Aggressive' rulesets, which are too likely to produce FPs for the base release
- non-spam-oriented rules, such as the anti-virus-bounce ruleset
- non-English-language rulesets (although see RulesNotEnglish)