There is a basic problem I have with the immigration debate, and that is the apparent basic assumption that to stay in the US you have to become a citizen, or at least to have that option.
This is unique, as far as I know, to the USA. In all the civilized countries I know, we have laws concerning migrant workers and expatriates. They are given residence and work permits, they pay taxes, but they are not citizens, nor are they on a "path to citizenship". They are simply making some money and one day they will go home, or they study, and go home.
My proposal would be:
1) First and foremost, shut down the illegal crossings of the border with a couple of divisions of National Guard, permenantly.
2) Those illegals already in the country must register by a certain date for work/residency permits, which will be granted automatically if they have a clean criminal record. But they will not qualify for citizenship. NEVER. If they want to become citizens, they should go back to their country of origin and apply for immigration the proper way.
3) Those illegals who do not register and/or who have criminal records, or who enter the country illegally after the registration date, will be deported.
I think this is fair to immigrants who come in the right way. They have something the illegals do not - a path to citizenship.
Citizenship is not a God-given right to anyone on the planet. That's like saying anyone who breaks into your house one time has the right to the keys for the next time. Let there be a status of legal, migrant workers who do their jobs but who are not on any "citizenship path"