A user-defined function is owned by the user who created it, and only that user can execute it without permission. The owner can grant permissions to other users using the GRANT EXECUTE command.
For example, the creator of the function fullname can allow another_user to use fullname by issuing:
GRANT EXECUTE ON fullname TO another_user
Or can revoke permissions by issuing:
REVOKE EXECUTE ON fullname FROM another_user
See System Administration Guide: Volume 1 > Managing User IDs and Permissions > Granting permissions on procedures.