OK, you need to use
if ((!$this->is_email($this->input)) OR (!$this->input == '') ){ // IF NOT email format then...
That is, the one with the exclamation mark (!)
There is a second place in class.ticket.php where you need to change
$fields = array('type'=>'email', 'required'=>1, 'error'=>'Email is required');
so the 1 is a 0.
This creates a ticket for me. The downside is that the system is incapable of emailing the client, as there is no email address. The system seems to handle that fairly gracefully...
...but... (isn't there always a but)
the way osTicket knows to append a response to a current ticket, or create a new ticket, seems to be a combination of the ticketID and the users email address... What happens if there is NO email address? I'm not sure. You will find out. There are a couple of theoretical possibilities. ALL responses could be combined into current tickets in a muddled way, all responses could create new tickets, the system could work perfectly...
How will the client log in to review their ticket if they don't have an email address?? It won't work. This means the client is NEVER able to follow up on the ticket: they won't get an email, and they can't log in...
Looks like this is not really a viable option. At least not unless there is another way for the client to follow up on their ticket...