Friendship is an interesting topic because like "religion" and a lot of other big concepts, it's easy to explain in general terms, but much more nuanced on an individual level. It's the sort of question that I don't believe can have a right or wrong answer.
My personal definition of friendship has evolved a lot over the years. I've found that the older I get, the less I care about having a lot of interests in common with my friends. I am more apt to remain in close contact with someone I feel I can talk to about anything, free of outright judgment or disapproval (as to the topic at hand). Thus, reasonable open mindedness in friends is a requisite, and lack thereof a non-starter.
A friend is someone you can disagree with openly, yet mutually respect, with no hard feelings from either side. Friends make an effort to understand one another's perspectives.
A friend is someone you can be vulnerable with; someone you can show as much of your true self as you ever would, knowing that person won't try to use that to their advantage.
A friend is someone who "gets'" your communication style and sense of humor. Being a good friend can sometimes be challenging, but it is rarely awkward and never painful.
A friend is someone you can trust to tell you the truth when you need to hear it, provide comfort and sympathy when you need that, and to understand which is appropriate for you given the circumstance.
I'm sure there's more but these are the first things that come to mind.