Zaid Alsalami, Shaykh Dr Zaid Alsalami is an Iraqi born scholar, raised in Australia. He obtained a BA from Al-Mustafa University, Qom, and an MA from the Islamic College in London. He also obtained a PhD from... Answered 1 month ago

Bismihi ta'ala

Imam Ali (a.s.) had many children, up to 28, with various names that were common at that time. 

When someone hears that Imam Ali (a.s.) named some of his sons by the name of the first three caliphs, their initial reaction a Shi'i has is "How could he name them by the names of his enemies?"

But the big question here is who said that he named them in honour of the three caliphs? Did they have some monopoly over these names? 

Absolutely not. 

Do we not have some noble people during the time of the Prophet (s.a.w.) who had these names, like 'Uthman ibn Madh'un (r.a.), etc.  Especially when we have some narrations that Imam Ali (a.s.) had mentioned this. 

The same we can say about the name 'Umar. Maybe it was 'Amr, and not 'Umar, but even if it was 'Umar, the name itself is not a bad name. And there are numerous good people who had that name, like 'Umar ibn Abi Salamah. 

As for Abu Bakr, this is a kunyah, and it's not established that Imam Ali (a.s.) certainly named one of his sons by this name. 

If in this era, someone names their son Usamah, it does not mean they love Bin Laden, or if an Italian was to name their daughter Madonna (Medieval Italian name of Mary), then it does not mean they love the singer Madonna.

Maybe the Imam's wife and mother of that son had requested it, in honour of one of her family members. 

Here is a list of famous and noble companions who also had these names:

You see, there are numerous ways of tackling this question. 

Unfortunately, some people use this argument as a way of  saying that Imam Ali (a.s.) had no issues with the first 3 caliphs, and to prove this he named his children their names. This is of course unfound, and it is very clear what Imam Ali's feelings were towards them. 

And Allah knows best.