Answer (1 of 12): It is hard because it is not only about writing it, but also keeping it updated. When tou talk about an AV, you are actually talking about a set of tools and components to tackle several different problems at the same time. Even commercial AVs don't address all the problems. So...
www.quora.com