Alternatively if you are a W2 "contractor" - the fake way of hiring a full time person through an intermediary agency and not giving them any benefits, well thats a different story. They may call you a "contractor" but you're actually a regular ole employee (you likely don't meet the IRS test for "contractor" in this case even). In this case you collect paychecks and pay out of your own pocket for absolutely no-thing. If you do buy anything you expense it back to your employer for full reimbursement.
Still yet different, a real 1099 "contractor" who works on a time+materials basis can very rightly bill hours AND ask for reimbursement on expenses directly related to performing the paid task. Just the same way that a plumber comes to your house and charges you both for his time and the materials/supplies he consumes to do your job.
So in short, its not uncommon at all but it depends on the terms of the "contract" engagement as to whether or not is applicable in a certain case. If it was negotiated up front then its all good - otherwise it may be looked upon less kindly as a surprise later.
For libraries, I buy a license for myself and tell the client where they can buy their own. If I waited for the client to buy the library it would take forever.
Hypothetically, if the client didn't pay much [1], and the contract was long, I might expect the employer to pay.
[1] I wouldn't work for them.
If you’re a consultant working on your own computer on your own network delivering output of your labor, than you should buy your own stuff — actually you have to in many instances.
But if you are expected to work on the customers equipment or be connected to the customers network like an employee, they need to provide the gear. If they don’t, you’re in a bad place, for example violating a license agreement for using their Microsoft stuff.
Or to put it another way,
Contractor: the change will cost
$10,000
Client: Who is going to pay
for that.
Architect: You will. The client
pays for everything.
I have worked a remote contract where I was supplied everything. Laptop / SW / libraries. When the contract ended I returned everything. When the contract restarted 5 months later, guess what I received in the mail.
In IT, so much is 'unique version' that having contractor provided items causes a version control nightmare.
Construction uses more standard items. Although an individual might not own a XYZZY the contracting company should. And if not, they can usually rent it for a day or two. With SaaS this might become more of the case with IT.
In construction, the contractor does not have to leave his drill to you so your house continues functioning.
Many software licenses are billed per project/per site. You can't expect the contractor to cover these for you for free.