freie Software !

Home

JFractionLab

Winkelraten

Mathebingo

Prozente schätzen

Viertakt Ottomotor

Zweitakt Ottomotor

Elektromotor

freie Software

Ich über mich


Disclaimer
































Immer mehr wird über freie Software gesprochen.
Immer mehr Menschen benutzen Firefox oder OpenOffice.
Linux wird immer bekannter.

Doch

Was ist denn eigentlich freie Software?
Was unterscheidet sie von "normaler" Software?

Natürlich gibt es schon jede Menge Definitionen und Erklärungen im Netz,
sie sind zum Teil aber schwer verständlich.
Diese Seite versucht einfache und übersichtliche Erklärungen zu geben.
Die Seite ist in der Entwicklung und noch lange nicht fertig.
Ich freue mich über jede Anregung!





Was ist "Open Source Software"?

Computerprogramme sind aufgelistete Anweisungen für den Computer.
Ein Computerprogramm sagt dem Computer, was er machen soll, wenn ich z.B. mit der Maus auf einen Knopf klicke.

Diese Anweisungen werden in einer Programmiersprache aufgeschrieben.
Es gibt eine Unmenge verschiedener Programmiersprachen.
(c, c++, Java, Python, Basic, Pascal, Javascript, PHP, Perl, ....)
Der Quelltext eines in der Programmiersprache Java geschriebenen Programm sieht dann z.B. so aus:

 
                                import java.applet.*;
                                import java.awt.*;
                                import java.awt.event.*;
                                public class HalloName extends Applet implements ActionListener {
                                        private Label      info;
                                        private TextField  eingabe;
                                        private Button     knopf;
                                        private Label      ausgabe;
                                        public void init() {
                                                setLayout (new GridLayout(4,1) );
                                                info = new Label("Gib deinen Namen ein!");
                                                add(info);
                                                eingabe = new TextField();
                                                add(eingabe);
                                                knopf = new Button("OK");
                                                knopf.addActionListener (this);
                                                add(knopf);
                                                ausgabe = new Label("");
                                                add(ausgabe);
                                                setVisible(true);
                                        }//init()
                                        public void actionPerformed (ActionEvent e) {
                                                String s = e.getActionCommand();
                                                if (s.equals("OK")) {
                                                        ausgabe.setText( "Hallo " + eingabe.getText() + "!"  );
                                                }//if
                                                this.validate();
                                        }//actionPerformed
                                }//HalloName

Das ist der sogenannte Quelltext.
Für Menschen ist er lesbar.
Der Computer kann damit wenig anfangen.
Er kennt nur die zwei Wörter "0" und "1".
Der Computer braucht Maschinencode:

0001001001010100001111111010011010101101010110100101001010010101111101011010010 0101000001010110101011010010101101010110101011010010100101001010111110101101001 1010101110110101011010010100101001010111110101101001000100101101010010001010011

Es gibt verschiedene Techniken, wie aus dem Quelltext Maschinencode wird:
  • Der Quelltext wird mit einem Übersetzungsprogramm,
    dem Compiler direkt in Maschinencode übersetzt.
  • Der Quelltext wird mit einem Compiler in einen Zwischencode,
    dem Bytecode übersetzt
    und von einer sogenannten Virtuellen Maschine
    zur Laufzeit
    (also während das Programm ausgeführt wird)
    in Maschinencode übersetzt..
  • Der Quelltext wird von einem Interpreter
    zur Laufzeit übersetzt.

"Open Source Software" ist Software,
bei der man sowohl den Maschinencode,
als auch den Quelltext bekommt.

So sieht das Programm des oben gezeigten Quellcodes aus:


Zum Starten des Programmes bitte
das Bild anklicken



zum Seitenanfang



Was bedeutet "quelloffen"?

Siehe
Was ist "Open Source Software"?
zum Seitenanfang



Was ist "freie Software"?

Nach einer Definition der Free Software Foundation gilt:

Freie Software:
  • ist quelloffen.
  • darf zu jedem Zweck ausgefürt werden.
  • darf verbreitet werden.
  • darf verändert werden.
Es gibt viele unterschiedliche Lizenzen für freie Software.
Die bekannteste ist die GNU GPL.
Oft hört man, freie Software sei lizenzfrei. Das ist falsch!
zum Seitenanfang



Was sind "freie Dateiformate"?

Ein Computer kann
keinen Text als Text,
kein Bild als Bild
und auch keinen Ton als Ton
handhaben.
Er kennt nur die Zeichen '0' und '1'.
Die Anwenderprogramme (z.B. die Textverarbeitung)
handhaben also die Texte, Bilder oder Töne
in einer binäre Form, einem Dateiformat.

Bekannte Dateiformate sind z.B. *.doc, *.exe, *.mp3, *.gif, *.pdf.

Ein Foto kann in verschiedenen Dateiformaten gespeichert werden,
z.B. als *jpg, *.png oder *gif.
Der Unterschied liegt in der Übersetzungsregel, dem Code oder auch Algorithmus,
der benutzt wird, um das Bild in eine binäre Form zu bringen.

Ein freies Dateiformat hat einen freien Algorithmus.

Das bedeutet: Der Algorithmus:
  • ist quelloffen.
  • darf verbreitet werden.
  • darf verändert werden.



zum Seitenanfang