Τρόπος λειτουργίας Opensource

Giorgos Keramidas keramida at ceid.upatras.gr
Tue Aug 14 12:27:40 EEST 2007


On 2007-08-14 10:05, ghazanfar sadiq <ghazanfariksd at yahoo.gr> wrote:
> Γειά σας,
> Είδα στο site σας για την αναφορα σας στο βασικό χαρακτηριστικό του
> open source program οτι είναι η ιδιοτητά του να μπορείς να δείς τον
> τρόπο λειτουργείας του. Πώς γίνεται να δείς τον τρόπο λειτουργίας του;

Οι υπολογιστές, σε σχετικά χαμηλό επίπεδο, λειτουργούν μόνο με την
"εκτελέσιμη" μορφή ενός προγράμματος.  Αυτή είναι συνήθως μια σειρά από
αρχεία σε μορφή που αποτελείται από μια σειρά αριθμών.  Οι αριθμοί αυτοί
δεν είναι εύκολο να "διαβαστούν" -- για τους περισσότερους ανθρώπους,
τουλάχιστον -- ή ακόμα και να διαβαστούν κάπως, δεν είναι εύκολο να
καταλάβει κανείς τι ακριβώς σημαίνουν.  Ενα παράδειγμα από τέτοιο αρχείο
(σε δεκαεξαδική αναπαράσταση των εκτελέσιμων εντολών) είναι και το εξής:

    7f 45 4c 46 01 01 01 09  00 00 00 00 00 00 00 00
    02 00 03 00 01 00 00 00  30 93 04 08 34 00 00 00
    9c f7 00 00 00 00 00 00  34 00 20 00 06 00 28 00
    24 00 21 00 06 00 00 00  34 00 00 00 34 80 04 08
    34 80 04 08 c0 00 00 00  c0 00 00 00 05 00 00 00
    04 00 00 00 03 00 00 00  f4 00 00 00 f4 80 04 08
    f4 80 04 08 15 00 00 00  15 00 00 00 04 00 00 00
    01 00 00 00 01 00 00 00  00 00 00 00 00 80 04 08
    00 80 04 08 e0 56 00 00  e0 56 00 00 05 00 00 00
    00 10 00 00 01 00 00 00  e0 56 00 00 e0 e6 04 08
    e0 e6 04 08 68 02 00 00  e8 03 00 00 06 00 00 00

Η αρχική μορφή ενός προγράμματος είναι συνήθως πιο ευανάγνωστη, και
είναι γραμμένη σε μεγάλο βαθμό σε κάποια γλώσσα υψηλού επιπέδου, όπως
οι γλώσσες Lisp, Fortran, Pascal, C, C++, Java ή αντίστοιχες.  Σε αυτή
τη μορφή είναι πιο εύκολο να καταλάβει ένας άνθρωπος τι κάνει ένα
πρόγραμμα.  Για παράδειγμα οι πρώτες γραμμές από τον "πηγαίο κώδικα"
τέτοιας μορφής για το παραπάνω πρόγραμμα είναι:

    int
    main(int argc, char *argv[])
    {
            static char dot[] = ".", *dotav[] = {dot, NULL};
            struct winsize win;
            int ch, fts_options, notused;

Σε αυτή τη μορφή είναι πιο εύκολο να διαβαστεί ένα πρόγραμμα.

Όταν ένα πρόγραμμα είναι "κλειστού", "μη ελεύθερου" κώδικα, είναι
διαθέσιμη μόνο η πρώτη μορφή.  Ετσι δε μπορεί, πρακτικά, να "διαβάσει"
κανείς τι κάνει το πρόγραμμα, εκτός κι αν είναι πραγματικά guru των
υπολογιστών.

Τα προγράμματα ελεύθερου λογισμικού (εκτός από κάποιες άλλες, επίσης
σημαντικές λεπτομέρειες, ξεχωρίζουν ΑΚΡΙΒΩΣ επειδή ο πηγαίος κώδικας των
προγραμμάτων (η δεύτερη μορφή που αναφέρεται παρααπάνω) ΕΙΝΑΙ διαθέσιμος
σε όλους, μπορεί να διαβαστεί, να τροποιηθεί, να προσαρμοστεί, να
επεκταθεί και να αναδιανεμηθεί από οποιονδήποτε).

- Γιώργος




More information about the Linux-greek-users mailing list