I'm no expert, but as far as I'm aware the Apache grants the user a license for your relevant patents. The GPL3 goes a step further and grants the user a license for any patents you have a license for whether its your own or one you licensed from somebody else. Since neither situation likely applies in your case, the BSD and Apache licenses are basically functionally identical. However, by choosing the Apache license you are telling potential users that you don't have any "sleeper" patents, so you might get better uptake.
If somebody later asserts a patent against your code, both you and your users are screwed no matter what license you choose. But the choice of license might influence who might help you out if that happens...
Comments
I'm no expert, but as far as I'm aware the Apache grants the user a license for your relevant patents. The GPL3 goes a step further and grants the user a license for any patents you have a license for whether its your own or one you licensed from somebody else. Since neither situation likely applies in your case, the BSD and Apache licenses are basically functionally identical. However, by choosing the Apache license you are telling potential users that you don't have any "sleeper" patents, so you might get better uptake.
If somebody later asserts a patent against your code, both you and your users are screwed no matter what license you choose. But the choice of license might influence who might help you out if that happens...