This is a frequently asked question. There are many things to consider when weaning. Obviously, the longer they are on mother's milk, the longer they are protected from the diseases that surround them in the world since mother is giving them colustrum to keep them healthy. Breeders looking only for profit might wean very early, as well as puppy mills trying to send the puppies off to the broker before they're even 6 weeks old. That being said, there are some legitimate reasons for weaning early.
Many toy dogs have health issues with large litters and their puppies have to be weaned early (see upcoming article regarding eclampsia for more details).
On one particular pug litter, our vet advised us to wait until all the puppies' eyes were open, count 5 days, then begin to introduce them to food. The goal was to have them onto alternative feeding sources by 5 days after we had initiated the process.
After many experiments over time, we have found this to be the most effective initial introduction to food and although we have chosen this route, consult your veterinarian before proceeding with any alternative plan (the ratios may change depending on consistency of the final product and how many puppies there are to feed): 4 large scoops (comes with the bottle) of powdered puppy formula such as Esibilac, 1 scoop of colustrum, 1 squirt of liquid or paste vitamins, 1 small jar of (human) baby food such as chicken & gravy, 1-2 baby food jars of hot water. Mix thoroughly and test the temperature on your wrist like you would a baby bottle. If there is too much liquid, add some (human) baby cereal from a box to thicken it up. It should be somewhere between milk and pancake batter in consistency, depending on what your puppies prefer.
The next step up would be to add in some yogurt to give them some good probiotics, and some cottage cheese to begin adding texture (some use boiled hamburger, as well). Once their teeth are in at 4 weeks old, then start introducing puppy chow. Soak the puppy chow until it is soft, run it through a food processor with the water, and let them lap it up. At this point, some yogurt, cottage cheese, baby food and other products can still be added. As they grow, make the puppy chow more and more chunky until they are able to eat strictly puppy chow softened with water by 6 weeks, and dry puppy chow by 8 weeks.
We add in a few other things here and there like flaxseed oil and other supplemental products, but we make sure that the puppies are on straight puppy chow and water by the time they go home to their new families. If they are accustomed to all the added items, they might suffer a drastic change in diet when they go with their new families and it could cause them diarrhea. They are too small and have too many things to adjust to in their new lives to add diarrhea to their problems, so we make it as easy on them as possible.
Beware that weaning early can be very time consuming and it requires a committment. Be conscientious of the health of both the dam and the puppies when making any decisions.