It appears that there are two different definitions of category. Some authors require the Hom-sets to be pairwise disjoint. Eilenberg and Mac Lane in their original definition require each identity morphism of the category to uniquely determine an object of the category. But some authors (e.g. Kashiwara & Schapira) do not require such conditions in the definition of category. What is the reason for this difference?

Obviously this difference has practical consequences. For instance, take your favorite set (or class) $S$ and take your favorite group $G$. I will attempt to define a category $\mathbf{C}$ as follows: objects of $\mathbf{C}$ are elements of $S$, and for each pair of objects $(X,Y)$ of $\mathbf{C}$ let $\operatorname{Hom}_{\mathbf{C}}(X,Y)=\operatorname{End}(G)$ (endomorphisms of $G$). Is $\mathbf{C}$ as defined above a category? It is not if we require the Hom-sets to be pairwise disjoint (or if we require each identity morphism of the category to uniquely determine an object of the category), but it is a category if we don't have such requirements in our definition of category. So why does this discrepancy exist? Historically, was there a reason for dropping this condition from the original definition of Eilenberg and Mac Lane?

2more comments