Your question doesn't make sense.
A trigger is associated with a table within a particular schema, so that user would need to have access to query the system catalogue tables/views for all users or specifically have access to query the same for the specific user. There's no such thing as write permission on a trigger as you don't write things to a trigger. A trigger is just created or dropped.
Greg's code is what you actually require. It will let others see your trigger code.
A minor addition, if at all there are chances of the same trigger across various schema's.
select TRIGGER_BODY from dba_triggers
where trigger_name = '<name of trigger>'
and table_owner = 'Your Schema Name';