Ownership of a user-defined function belongs to the user who created it, and that user can execute it without permission. The owner of a user-defined function can grant permissions to other users with the GRANT EXECUTE command.
For example, the creator of the function FullName could allow another user to use FullName with the statement:
GRANT EXECUTE ON Nationality TO BobS;
The following statement revokes permissions to use the function:
REVOKE EXECUTE ON Nationality FROM BobS;
For more information on managing user permissions on functions, see Granting permissions on procedures.