Hardware companies should no be allowed to make or sell or control software.
Software companies should not be allowed to produce, sell or control hardware.
The same way we, user, citizen, forbade our physicians to sell us the drug they prescribe, we should forbid information processing companies to sell us the devices where this information is processed on.
I'm looking at you, Google, Apple and contenders. Everyone belived 1984 was targeted at totalitarian government, but maybe the dark prophecy is being fulfilled under our eyes.
If I were a good pamphletist, I would write a punchy call for arms on the topic.
Forbidding hardware companies like Apple to sell software is not sufficient to prevent them from only running things they approve. And besides, a law like that would likely cripple a large part of the industry and stifle innovation.
> a law like that
I don't see it as a law. I think it should be to the constitutional level. Laws, if necessary, would get into details on how to enforce the constitution, and these details may vary with place and time.
> would likely cripple a large part of the industry and stifle innovation
On the opposite, I think it would in long term be better enforced by such a separation of (information) powers. One of the reason could be that it would require open formats for any communication between hardware and software. Then any other company could compete in the field, and innovate in directions either not allowed or not deemed interesting by the bigger companies.
> not sufficient to prevent [Apple] from only running things they approve
I do not think Apple or any other hardware provider is the least entitled to prevent me, the owner of the device I bought, from using any software I like. In my mind, current users of these devices when not unlocked do not own them, they rent them really, and should be aware of this.
If you buy a microwave and you want to run custom software on it, that is your problem, not the microwave manufacturers.
Consumer technology is not enforced by police and armies, and should be free from the demands we may rightly have on our state.
Besides, how would you like to buy a hardware-only car? What about a fridge or a plane without the code that makes it work? The hardware/software dichotomy is only an abstraction---the instruction set of a processor is software, but the hardware must be designed around it.
In the information age, if you want to live a full life, then consumer technology is no more optional than government and politics.
This is not to say that there should be a strict separation of hardware and software. But it is an interesting idea.
Note that I'm not referring to consumer technology as a whole; I'm saying no specific consumer technology is forced upon you. While it's hard to avoid the idea of it, I don't have to buy an iPad if I don't like it. I do have to pay property tax.
However I would agree that the limit between hardware and software is yet to be defined, maybe using new names. I guess it was the same when defining political power separation.
So if I, as an electrical engineer, design an implantable pacemaker for people with heart problems, they have to visit Joe's Software Shack and Live Bait to make it work?
This is just silly.
As we do not currently have a better way[1] to ensure there will be no misuse of the power brought to you by controlling the way this information is generated, processed and stored, I would much prefer this heavy responsibility to be split between three different providers (information producer, processor, storage) communicating together according to open formats.
If your pacemaker is a piece of hardware with no sensitive information stored and not connected to the outside world, then I would not consider its "software driver" to be an information processing system (ie "real" software), and there would be no need to split responsibilities in this case. This should also answer to the "micro-wave" objections in other answers. And yes, I change the definition of "software" a little bit, so it do not include single-minded commodities drivers.
Actually, "software" is too wide on one side, and too narrow on another. A big company like Google should be understood as a software company. For me, they do not cross the line if they build their own servers for internal usage. They do cross the line, however, when they buy Motorola. The gray area would be the Nexus line and Chromebooks, which is ok to me if these products can be considered as real-life experiment for new software concepts, but not ok if they become mainstream products sold by the million of unit and if Google installs itself in a long term hardware producing activity, in parallel with its enormous presence as the software gorilla.
[1] In the same sense that "democracy is the worst regime, except for all other"
"If you are serious about software you should make your own hardware" © Alan Kay.
Or maybe you'd deny obesity is a problem?
The Free Software/Open Source community has been banging this drum for years. Come join us and let us all make the world better.
One problem is that if that weren't allowed, we'd probably never have the app in the first place...
The app was made for THAT platform, for THAT store and for THAT hardware product.
Now, one can assume but we would have gotten something like the iPhone eventually anyway, but if you see what the hardware-first companies were shipping at the time of the iPhone's launch, that might have taken 5-10 more years.
I don't mean it could only happen by Apple: just that it could only happen by a process of building things where hardware+software are given equal importance, and ONE entity calls the shots for both.