Adding fields to user registration form I want to collect user personal information like first name, last name, and home address in in user registration, and I also want user to make the profile pubic or private. 

I am using Drupal 7.
Go to Config > People > Account Settings > Manage Fields

Then, you can add fields to user profiles just as you would add fields to any content type. When you add fields here, there is a checkbox to "Display on user registration form" if you want the field to be part of the user's registration process.

Hope this helps someone.