I think that the vast majority of people
would rather have email delivered with an "unknown" SPF result rather
than having valid email rejected.
SPF is about publishing policies. My policy is, that if there's any error in
the SPF record, the e-mail should be rejected/bounced, so that I get the
knowledge that something is wrong. Other people may wish to do publish another
policy.
It's just like programming: One of the most important issues in programming is
to make sure that the error message is generated as close to the error as
possible (Dijkstra). Here, I want an error message as soon as there's something
seriously wrong with my SPF record (like a loop).
My suggestion is about giving the publishers the freedom to decide what they
want. Some may not want to adopt SPF unless e-mail passes if there's a loop,
whereas other's prefer safety over delivery.
I don't see why you would want to take away this freedom of choice and force
all SPF protected domains to be potentially unprotected?
Please look closely at my example:
v=spf1 a:my.own.mail.server
include:some.rarely.used.mailsystem.of.one.of.my.friends -all
If this friend creates a loop in his setup, I would want the fallback to be
v=spf1 a:my.own.mail.server -all
Whereas you want it to be:
v=spf1 a:my.own.mail.server ?all
Lars.