it would seem reasonable to make the check:
if (sticky-directory) {
if (superuser)
return OK
if (directory-owner)
return OK
if (file-owner)
return OK
if (have-write-access-to-file)
return OK
}
return FAIL
the same check should apply to remove, rmdir & rename.
jan-simon.