Lately, working conditions in Chinese factories that produce consumer electronics that we all use and love have gotten a lot of press. Mike Daisey has been touring and presenting a one man show, The Agony and Ecstasy of Steve Jobs, on this subject. Portions of it were recently aired on This American Life. Perhaps not coincidentally, the New York TImes published an exposé on Foxconn last month that looked into the poor pay, unlawfully long hours, and dangerous work conditions at the company’s factories.
I’ve been following the subsequent debate. Tech pundit and Apple fan David Pogue responds with what is largely a straw-man filled argument about the price of electronics doubling and the fact that all companies use these factories, not just Apple. Mike Daisey responds ably.
I want to talk about two aspects of it, though. One is the scope of the problem, and the other is the fairness of singling Apple out. As the article points out, Apple is not the only electronics company that manufactures its products in China. Almost everyone does. And of course, we’re only talking about electronics manufacturers. What are working conditions like at Chinese tire factories? Or toy factories? Or the factories where they make buttons for shirts? The story is the same across industry in China, if not worse.
Everybody is in some ways a beneficiary of the low prices that come with China’s low wages and poor working conditions — there’s no room for sanctimony.
On the other hand, I think it’s fair and useful to single out Apple, for several reasons. The first is that it’s easier to rally action against a single company than it is against every company that imports goods from China, or even everyone in the electronics industry. Apple happens to be the highest profile target available right now, for all of the same reasons that the iPhone and iPad are so popular.
The pressure is working. Apple CEO Tim Cook sent an internal email about working conditions to Apple employees the day after the New York Times article talking about steps the company was taking to make things better. It has worked int he past as well. A few years ago, Greenpeace succeeded in getting Apple to improve its environmental practices by singling the company out as well.
Secondly, Apple just reported the best quarter in the history of the technology industry. If any company has the breathing room to spend money to bring all of the links in its supply chain into compliance with the relevant labor law without raising its prices at all. As has been pointed out, the factories that manufacture Apple products manufacture products for other companies as well. If they are required to improve their practices for Apple, then they will most likely have to improve them across the board. So targeting the biggest fish makes sense from that perspective as well.
Is it fair to target Apple alone? If Apple is benefitting in terms of cost through the illegal practices of its suppliers (as Mike Daisey points out, the suppliers are not even complying with Chinese labor laws), then it is perfectly fair to call them out for it, regardless of what every other company is doing. Beyond that, it’s a question of strategy. Would it be fair to boycott Apple and encourage people to buy Samsung phones instead? No, nor would it be sensible. But it makes sense to target your activism where it will have the most impact.
Ultimately, as explained in the National Geographic article I linked to above, labor conditions in China are the result of systemic problems that we cannot address directly. China has a surplus of labor, a weak regulatory regime, and a highly corruptible government system in charge of maintaining that regime. China also lacks the institutions that could counterbalance the conditions that work against laborers. Workers are unable to organize and negotiate with their employers, and are unable to change the state of things via the ballot box.
The reason I keep returning to this subject is that it pricks my conscience. Disentangling oneself from abusive labor practices in China is impossible, but I do think it is the responsibility of consumers to be informed about the origin of the products that we consume. I wasn’t going to post this article because that sounded like such a weak prescription, but it turns out that it’s working. Apple is changing its behavior, and I’m sure that other companies will follow suit. “Pay more attention” doesn’t sound like much, but it has the potential to be quite effective.
Update: This post about McDonalds requiring pork suppliers to stop using gestation crates illustrates why it makes sense for consumer activists to focus on big game. An earlier policy change by McDonalds changed practices across the entire poultry industry.
How do you run SSH from a PHP script?
I’m writing a very simple deployment script that logs into a remote server and uses Git to pull the latest code from the remote repository. The deployment application runs on Server A, and it will update code on Server B and Server C.
The deployment application is written in PHP, and it’s easy enough to call the
sshcommand using PHP’sshell_exec()function. Well, calling SSH is easy, but making it work is a bit more difficult.SSH really wants to run as a user who has a
.sshdirectory in their home directory. First, it needs to find the private key in order to authenticate against the remote server. You can get around that using the-iflag and pointing at a specific key file. You also need to indicate to SSH that you don’t care about the host key (which prevents you from being victimized by man-in-the-middle attacks) or to point it to yourknown_hostsfile. You can specify a custom location for that using the-ooption, like this:Even after that, though, SSH still insists on using a
.sshdirectory for the user running the command, in this case, the Apache user. Creating such a folder doesn’t seem like it should be necessary, but I haven’t been able to figure out how to avoid it.If I can’t get this to work, I could try using the SSH2 library for PHP, but I’d prefer not to, since I don’t want to deal with the added dependency.
I’ve posted this question on Stack Overflow as well.