I've heard many answers to this question... In the garage, in his dog house, in the laundry room, on the couch, in my bed, in a crate, on a dog bed, and even anywhere he wants. What's the best answer? Near his human :-) Dogs are social animals and they like the feeling of belonging to a group and having companionship. Many, given the choice, will follow their humans from room to room all day. So it only makes sense that they would want to be near us when we sleep. There is safety in numbers for them so sleeping near their "leader(s)" helps them feel safe so they can rest more easily. When they sleep alone they are often alert to subtle shifts and sounds, needing to be aware of potential dangers. Some dogs are, by nature, very vigilant. So being able to really go "off duty" and get a good night's sleep is important for them. Puppies that sleep near their people usually sleep through the night (and without potty accidents) sooner than pups confined away from their humans. Also, having your dog sleep near you enhances bonding... even while you're sound asleep.
Now this doesn't mean the dog has to be in bed with you, although some people enjoy that degree of closeness. If you enjoy having your dog in bed with you, just make certain of a few things: Your dog will wait for permission to get on the bed, will get off the bed without a fuss if you ask, and settles down to sleep instead of thinking the bed is for games. If your dog can do all those things then you have a perfect sleeping partner. If not, I suggest keeping the dog off the bed until he masters those skills. For some dogs, sleeping on the human bed can be part of a lack of leadership issue in the house.
You could also use a dog bed or crate in the bedroom. Many young dogs still need the crate to prevent them from getting into mischief in the night. It helps create good habits. Most can eventually be transitioned to sleeping on a bed, but some still prefer the coziness and security of their crate. My dog started in a crate but now sleeps on a dog bed right next to my side of the bed.
It takes some time to adjust to sharing your sleeping space... with a dog or another human. So don't be discouraged if neither of you sleep too well for a few nights. You may have to get used to the dog standing up and circling to change positions. You dog may have to get used to your snoring ;-) If you have some real limitations that make sharing a room impractical, at least move the dog as close as possible... like in the hall outside your door or into one of the kids rooms. If your dog is in the garage or outside, try moving him one step closer to being with you. I don't recommend letting the dog sleep "wherever he wants". That can be another facet in a lack of leadership issue. Most dogs thrive on having some boundaries and expectations of behavior. It may be okay during the day but at night decide where you want him to sleep and help him adjust to the new routine.
Take into consideration your dog's physical comfort and needs. Some young puppies need to sleep "bare" so they don't soil or chew their bedding, but once past that stage most dogs prefer something soft to sleep on. If you keep your room quite cool you may want to provide a bed or blanket the dog can snuggle up in. Avoid having your dog in a draft or where it's too warm either. My dog used to be quite warm all the time but as he has aged he now prefers being covered with a blanket on cool nights.