For so many words, language itself is fairly vague in expressing meaning and dependent upon things such as history and context. And it evolves over time. In today's America, the word nigger is mostly shocking and loaded with preconceived connotation. When a black person refers to another black person as "his nigga", the meaning (usually) is one of endearment predicated on a common experience and history.
It's like the word "cunt". It's used more freely in England, but it's possibly the worst insult to any woman in the United States. Call an American woman a cunt and see what happens.
Out of the mouth of a white man to a black man, "nigger" connotes a history of dehumanization and slavery. I'm white. If a black man was trying to insult me and called me a "nigger", I'd be more confused than insulted, and I would ask him to kindly quit fucking with my head and explain his intent.
Now, when the intent is clear, say when a black man and white man are best friends, intent is more easily known, and they can use the term "my nigga" between themselves. The intent is clear, and using what is normally a derogatory term emphasizes the strength of their friendship. This is the evolution of language. Perhaps in 30 years we'll all be calling each other niggers and cunts. who knows
I agree that context and intent are the most important factors. But, much of the time, the listener is unsure of its meaning, and care must be taken when using such a loaded word. So, yes, at this point in american history, it's more acceptable for black people to use the word. The word and the world will evolve, as will its use and meaning.
Fairness has nothing to do with it.