There's no reason why you can't - just use Arabic characters as a training set for an existing OCR setup.
I think the better question to ask is: "What do I need to know before I try to make a OCR engine?"
A good start would be to read up on OCR principles - a quick search will yield you results on this.
But of course, you should see if this has been done before (there are 4 links I found in a minute). Because there's no sense in re-inventing the wheel.
No reason why you can't make it open source - but if you choose matlab, only those with matlab will be able to run it. You should also consider contributing to existing open-source OCR codes, if that is the route you would like to take.