I think that the best basic policy is that a package can go in `main' if it doesn't require any non-free software *on your machine*. Making use of non-free software on another machine is unfortunate but does not put you in the same moral dilemma as having it on your own machine.
But there could be some cases where it would be right to reject some package, when there is something particularly pernicious about the server that it talks to. In other words, if you don't make a rule to bar from `main' all clients that depend on one particular server, that doesn't mean you must exclude this factor entirely from the decision.