In 1941, as the nation was gearing up for war and defense plants were still refusing to hire African Americans, President Franklin Roosevelt needed to fix a problem that Congress wasn't fixing. While he didn't have the power to pass an anti-discrimination law, under the Constitution, he did have executive power, which he could use to control the federal government's contracts with private companies doing business with the government. So he issued an executive order requiring all government defense contracts to include a provision preventing private contractors from discriminating against workers based on their race. Later presidents signed similar executive orders, and Congress finally got around to passing a nationwide law barring race discrimination in 1964.
That's the model that President Obama is following to reduce job discrimination against LGBT Americans. He will issue an executive order requiring government contractors - who are paid with taxpayer money - not to discriminate against workers based on their sexual orientation or gender identity. Like President Roosevelt, he has been forced to do what he can while Congress sits on its hands. There is still no federal law prohibiting job discrimination against LGBT workers, and in more than half the states, it's completely legal to fire someone simply because they're gay.
Like Roosevelt's, Obama's order isn't a complete fix. But federal contractors employ more than 20 percent of the American workforce. So it's estimated that the president's order will protect 28 million more American workers from job discrimination.
Of course, it didn't take long for conservative opponents to demand exemptions allowing businesses to discriminate based on their religious beliefs. No similar exemptions made it into President Roosevelt's 1941 order, despite the then-more-common religious belief that "mixing the races" was a sin.
Roosevelt was more interested in fixing the problem of job discrimination than finding new ways to allow it.