How to give read only permission to public event
Perhaps you can use Share functionality for it?
https://erpnext.org/docs/user/manual/en/setting-up/users-and-permissions/sharing
Bydefault, Public Event has all the access to all the user. Can you create a Github Issue for it, so that only creator has edit permission and other has only read and comment permission.