The actions of Joe Stack, the disgruntled software developer who committed suicide by flying his airplane into the Internet Revenue Service building in Austin, Texas, last week, were callous, selfish, and inexcusable. While in no way condoning his actions, programmers may nonetheless hear a familiar ring in his frustration with a country that seems to actively discourage self-reliance and entrepreneurship, especially in the software industry.

Among the litany of complaints in his articulate (if rambling) suicide note, Stack gave special mention to Section 1706 of the 1986 Tax Reform Act, an obscure law that he claimed reduced him to "a criminal and noncitizen slave." Under the law, certain classes of workers, including anyone who engages as a "computer programmer, systems analyst, or other similarly skilled worker engaged in a similar line of work," are considered de facto employees for tax purposes, regardless of whether they claim to operate their own businesses as independent contractors. The IRS can impose significant tax penalties on companies who hire such workers as contractors rather than full employees, a fact that can make it extremely difficult for self-employed programmers to find work.

[ Read InfoWorld's special report "Tech workers pushed to the limits." | Get solid career advice, whether as an employee or contractor, with Bob Lewis' Advice Line newsletter and blog. ]

Section 1706 was originally sponsored by Sen. Daniel Patrick Moynihan of New York, who hoped that forcing highly paid software developers to become employees would limit their ability to take advantage of tax breaks for small businesses. Ironically, it was also Moynihan who, when a study determined the law was not bringing in the desired tax revenue, tried to have it repealed a year later. He failed, and it's still on the books today.

A hostile climate for contractors But Section 1706 isn't the only thing making life hard for independent software developers. Employees typically don't have to pay for their own health insurance, the way contractors do. Individual health plans generally offer worse coverage than group plans, and they can be incredibly selective about who they allow to join. Those who are accepted can expect their premiums to rise every year, often by double-digit percentages. Given these conditions, developers who have families to support or preexisting medical conditions are well advised to hang on to their salaried jobs for dear life -- no pun intended -- rather than run the gauntlet of the dysfunctional American health insurance industry.

But Section 1706 isn't the only thing making life hard for independent software developers. Employees typically don't have to pay for their own health insurance, the way contractors do. Individual health plans generally offer worse coverage than group plans, and they can be incredibly selective about who they allow to join. Those who are accepted can expect their premiums to rise every year, often by double-digit percentages. Given these conditions, developers who have families to support or preexisting medical conditions are well advised to hang on to their salaried jobs for dear life -- no pun intended -- rather than run the gauntlet of the dysfunctional American health insurance industry.

And if the prospect of being bankrupted by medical bills wasn't frightening enough, add the increasingly hostile legal climate surrounding the software development profession. In response to all-too-common reports of software bugs and security breaches, some organizations have begun lobbying for contractual language that makes software developers accountable for any defects in their code. For example, the SANS Institute has proposed a detailed contract that would require developers to certify that they had received appropriate training, observed any and all security procedures deemed necessary, and that their code was free of defects to the best of their knowledge, among other clauses.