free software, unfree software, ethics and social behaviour

Some of my answers to basic questions

Written in a survey about attitudes towards free software.

Is proprietary (=unfree) software immoral or unethical?

it isn't immoral (moral = what's the current stance of mainstream society), but it is unethical.

In a society where people are used to being forbidden to give bread to a starving child, giving bread you'd otherwise throw away to that child instead could well be immoral.

So only software which allows you to act ethically is ethical - and that's free software. Even better is free software under strong copyleft licenses like the GPL, because that protects our right to act ethically for any future versions of the software.

Do you believe that proprietary software is "illegitimate"?

No.

Legitimate doesn't mean "not contrary to existing law". Even in countries where the police is allowed to torture people, torture is illegitimate. At least that's my understanding. It means that something is wrong and should be forbidden.

I believe that people have the right to make unfree software (people also have the right to do tv-shows like "popstars"). I don't think anyone should use that software, though.

I can't force people to adher to my ethics without acting against my ethics myself. But I can try to convince them that my understanding of ethics is right.

Do you believe that proprietary software is "antisocial"?

In many cases yes. But it depends on the case.

Note

If I had to develop unfree software to earn enough to live a more or less comforting life, I'd likely choose to do so. That's why I fight now, so I can earn money ethically later on. Or at least enable my children to do so (more detailed in german).

Darstellungsoptionen

Wählen Sie hier Ihre bevorzugte Anzeigeart für Kommentare und klicken Sie auf „Einstellungen speichern“ um die Änderungen zu übernehmen.

ethical issue?

  • If you go to a backery and buy a cake, is it unethical if you don't get the recipe as well?
  • If you buy a radio, is it unethical if you don't get the construction plans for it?
  • If you buy some software, is it unethical if you don't get the source-code?
  • If you buy a processor, is it unethical if you don't get the "hardware description language"-description of the processor?

Stallman sees it as an ethical issue. Maby he is ultimately right. I simply don't know.
He's right that sharing is a good thing.
But is it really an ethical issue whether or not you get some recipe, construction plans or source-code??

...but it did not work.

A reply from Josef Donnington:

Tony wrote: "If you go to a backery and buy a cake, is it unethical if you don’t get the recipe as well?"

The analogy between recipe and source code, in the way you present it, is flawed.

Let me explain: the cake is the OUTPUT of the recipe. If a recipe is freedomrespecting (by allowing unrestricted use, modification, and distribution with out without modification), then this does not apply to the OUTPUT, i.e. the cake. Put another way: the cake (output) is not the corresponding source of the recipe-steps performed. (See http://hackerpublicradio.org/eps.php?id=1116 at tracktime 30:58)

To fix the analogy. Here's an example of a violation of "freedomrespecting recipes": Assume a recipe-seller states: "all my recipes are freedomrespecting." You then decide to purchase from him a recipe-executor-black-box, and a number of recipes on USB-stick. At home you plug in the recipes-USB-stick into the recipe-executor-black-box and select "Grandma's ultraspecial chocolate cake". The executor-black-box removes some ingredients from the connected ingredients-containers (flour, sugar, chocolate, etc.). You cannot see what's going on inside, but after one-and-a-half hours... out comes a cake! So you tell yourself: well that's great, but I want to bake this cake with my own hands and change the steps slightly. You connect the recipes-USB-stick to your own computer, expecting to find the steps. But low and behold: you find that the "recipes" are only in a machine-readable binary format, that you cannot decipher them. This is a freedomrespecting recipe violation!!! If the recipes really were free, you would have received not only the binary format, but the steps of the recipe in human-readable english as well!

Now lets say you have aquired a freedomrespecting recipe for a cake (and here I really mean a free recipe, in that it is not obfuscated or coded; but instead a description of steps). Lets say you have a bakery and sell a customer the cake (baked according to the recipe): do you have to give the customer the recipe? No, since the cake is the output. You are not selling the customer the steps to produce the cake.

But now you might try and apply this to software and say: "But look here: the binary program is the output of the source code. So if you pass on the binary program, you don't have to pass on the souce code, right?" This would be a misunderstanding, since the program is NOT the output of the source code. Instead: the program is merely the output of a compiler. But the binary program is a direct transformation of the source code: The steps in the program, are still the steps in the source code. We say: the source code is the "CORRESPONDING SOURCE" of the program binary. Thus with free software, the software ... in all the forms it is distributed: binary, etc. needs to include the "corresponding source", that give one the freedom to modify it.

Tony wrote: "If you buy a radio, is it unethical if you don’t get the construction plans for it?"

This analogy between construction plans and souce code is also flawed. The construction plans can be free (freedomrespecting). But the construction plans are not the corresponding source of the radio: The radio does not perform the construction steps. The radio does not have a corresponding source, since it is the output of the construction steps.

Tony wrote: "If you buy some software, is it unethical if you don’t get the source-code?"

Depends on your view. You can certainly argue: yes. First off: the steps the program runs, are the steps that are described in the source code. Furthermore: if the program runs on a general purpose computer, then you could easily change it (lets say it is not software that is burned into a ROM for an applianc like a toaster.) Then it is only fitting that you should really be able to make use of this possibility (changing the program on your computer), and that requires a form of the program that is best suited to do that job: the corresponding souce. On the other hand: If you have proprietary software, then - even though you are running the software on a device that easily allows changes - the owner of the propriertary software has deliberately decided to make this difficult or illegal for you to do. Then only the owner controls the program, and you might be called a fool for using it.

If you buy a processor, is it unethical if you don’t get the “hardware description language”-description (HDL) of the processor?

Depends on your intent: do you want to analyze what the processor's logic is doing, and then have the possiblity to make changes to the processor and create your own (with the guarantee that your logic will be on the chip [and not some fab's back-door logic])? If you buy a processor created by a fab with modern photolithography, then you get a chip that you cannot change. In that case you don't need the HDL-description. BUT: if you buy the whole fab itself (oh: so you have those billions of dollars?!), then you have the possibility to make changes. In that case you'd be a fool, if you don't insist on getting all steps, and descriptions, etc. for making the processor chip, and being able to change it, for example if the chip happens to have a serious bug! If you cannot fix the chips hardware-bug, you'll probably be out of business very soon.

If on the other hand you buy a FPGA (not so expensive: say 500 dollars or cheaper), and the processor is synthesized on that FPGA, then you can change the hardware-description (via the HDL) and load the changes onto the FPGA. In that case, you'd be a fool, if you don't get the freedomrespecting HDL-description (e.g. in Verilog or VHDL code), in order to actually do that.

The free software definition (of Stallman), applies to the source code and to the binary program. The 2 (source and binary) are linked: the steps in the binary program are the steps in the source code: they are just a transformed version of the same thing. Except that one is easy to change (source code) and the other is incredibly difficult to change (binary program). The source code is the corresponding source of the binary program. Free software gives you the freedom to make changes (that you can realistically realize, since that's what you can do on general purpose computers), by providing you with the corresponding source.

freedomrespecting cake and sourcecode

I disagree with the cake being the output of the recipe.

The cake is the output of the bakery using the recipe as source code. The bakery is the equivalent of the compiler: It assembles raw materials (bits) according to the recipe (source code) to produce a desired taste when it is used (program output).

Your recipe-realization-blackbox is just an unfree compiler shipped with unfree recipes.

That a cake is single-use is an unfortunate side-effect of the real world :)

Same goes for the other examples: The radio is not the output of the plans: The radio is a representation of the plans interpreted by a compiler (assembly line).

A free radio therefore should come with the complete plans - ideally in a format which can be interpreted by free software driven 3D printers.

Note that Richard Stallman is not a supporter of free culture. I disagree with Stallman on stuff like this. I experienced the freedom he pioneered for software, and I want it in other parts of my life, too.

Source code and ethics

To me, the answer for all 4 questions is yes.

  • If the bakery goes broke and the baker does not pass on the recipe, I cannot ever get those cakes again. Try to tell that to my children.
  • If the radio breaks, I cannot bring it to someone to repair it easily. And the company which made them might already be gone - or charge huge sums for the repair (which only they can do).
  • If the software has backdoors, I cannot fix them. If it only allows certain actions, I am prevented from doing these, even though there is no law for that.
  • If the processor contains a remote-controlled TPM chip, I have no way to get the same processor without that - even if I could create my own processors.

In the case of software this hits hardest, because the software controls my actions directly. But the same goes for everything else which is good enough that it becomes part of my life.

If I don’t want to miss it, I want to have the sources. Otherwise it can restrict my actions.

That logic also means that I want the legal right to use and change these sources. So if it is good enough to become part of my life, it has to be free licensed.

Sadly this is not yet the case for all goods I use (and I feel those shackles). But a free Operating System is a good start.

Best wishes,

Arne

Unpolitisch sein
heißt politisch sein
ohne es zu merken
- Arne Babenhauserheide

Inhalt abgleichen
Willkommen im Weltenwald!
((λ()'Dr.ArneBab))



Beliebte Inhalte

sn.1w6.org news