What if I give a dog a computer system.. and he uses it to bark at.
The dog finds it entertaining. The dog would not understand the source
code if it was offered.
The program that the dog barks at while Mom and Pop are out shopping, is
closed source.
It does not matter that it is closed source. The program is just a
seedless grape.
Mom and Pop come home with some seedless grapes and eat them.
Then they realize that most software users are dumb dogs who don't
understand source code.. and therefore seedless grapes, i.e.
shareware... is not unethical or harmful. Mom and pop want to eat their
seedless grapes.. just as some people want to buy shareware and never
look at the sources. Not unethical.. just that they don't need the
seeds, and they don't need the sources.
For those elite crowd that can understand source code... and for those
elite gardeners and farmers that do understand the seeds in grapes..
sure it is beneficial to have the source code and seeds shipped.
But most people, just want to buy seedless grapes at the store.. so they
can get on with real work.
Having the seeds is cool.. and some dogs may even find the source code
cool. But it is not unethical or harmful.. to not ship the source and
seeds in all cases.
I could see arguing that it is not as NICE to not have sources shipped..
especially to those elite crowd who do understand grape seeds and source.
But unethical and harmful? Not so.
L505
Richard Stallman wrote:
> Really? All those wifi/raid/cpu/etc cards/chips out there that need
> "firmware", you think they're not a mix of both microcontroller code
and
> other binary bits that configure an ASIC or FPGA?
>
> I am not a hardware expert; I don't know sort of hardware the firmware
> blobs run on. I will presume you're right.
He is right. Hardware these days basically runs code.
I think we are talking about different questions. The word firmware
implies a program of some kind. I thought he was talking about what
_kind_ of hardware that program runs on. Now you seem to be saying
that all hardware is programmable. I don't know if that is true, but
it's a different question (and doesn't seem crucial to the issue).
Now what was a pure hardware
device changes into a pure software device.
I am not entirely sure what that means, but I am not surprised that an
algorithm can be implemented in software or in hardware. I don't think
that is relevant to my way of looking at the issue, though.
This is just one example
and there are many more beautifully blurred examples. Your argument is
a fallacy with modern hardware.
I don't see any fallacy. I do not assume that there is only one way
to implement a given algorithm, so the fact that that isn't so is no
problem.
> Whether it runs on a computer or an FPGA, either way it's a program.
> So the next crucial question is, do users normally install programs on
> that device?
I am sure that at MIT they taught you that a finite sate machine can be
moved from hardware to software and vice versa.
It can, but that's not what I'm talking about.
The reason why it is then later moved to silicon is for speed
and marketing purposes (yes, you know making money with development).
So you say that developing hardware is unethical until you have the
physical hardware?
No, I am not talking about how to develop anything. There seem to
be many misunderstandings in this particular conversation.
Also modern CPUs run microcode. Does this make them "unethical"?
Not in my view. And this is why:
> Whether it runs on a computer or an FPGA, either way it's a program.
> So the next crucial question is, do users normally install programs on
> that device?
If users don't normally install microcode in the CPU, then ethically
it may as well be a circuit. It is not built as a circuit, but that's
a different question.
I really would like to understand how
writing software for a living measures up with lets say war or rape.
I have nothing against getting paid to write software, as such. I
criticize non-free software, software that doesn't respect users'
essential freedoms, but that has nothing to do with whether the
programmer gets paid. Getting paid to write free software (which many
people do) is fine. Writing non-free software is bad even if it is
unpaid.
But it is not as bad as killing or rape. If you were literally in a
position where you would die if you don't write proprietary software,
such as if someone pointed a gun at you and ordered you to do so, I
would not hold it against you. But when people say they need to write
non-free software "in order to eat", they are generally exaggerating.
Lots of people don't know how to write software at all, and the
condition usually is not fatal.
I also would like to understand a little bit better why hardware is
exempt from being unethical (make sure you explain ethics first so that
I can truly understand this).
There are no copiers for hardware, so the question of whether you are
free to copy it is moot. As for modification, in most cases you're
allowed to modify a piece of hardware (if you own it) to the extent it
is feasible, but that extent is rather limited.