With my son I waited until he was the age most little kids are when they start asking about where babies come from, and that's when I told him - three or so. I just told "the overall picture", but then I added, "And most of the time the lady brings the baby home and is his mother; but sometimes, if a lady is not able to be the baby's mother she asks another lady to be his mother." I figured that since that's usually the age kids ask that question (and since, like so many others, did just that), it was a sign that he was mentally capable of grasping the information without my having seemed to over-emphasize it too soon or more than he was interested in/ready for. I wanted the emphasis and interest level to come from him - not from me. I figured that was my best guide to his readiness for the subject.
Within a year or two I got the inevitable question about why a lady wouldn't be able to be a baby's mother. I told him that sometimes ladies who have babies didn't, themselves, have the kind of mother who taught them how to be the kind of mother a child needs. That's also when I added the part about how it is because "the lady" loves the baby that wants to make sure he has the "right kind of mother" who can take good care of him and love him in the way that mothers love their children. That's what made sense for me; and since I knew there would be siblings for him (that I'd be having myself), I didn't want to highlight "all the ways he was different and special" (etc. etc.) I was mainly concerned with his knowing that he was "just like every other kid" with two parents who love him. Over the years I'd answer questions as they arose, and if the answers were too much for a kid his age I'd tell him that I'll answer him when he was a little older.