taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

java-trap.html (21205B)


      1 <!--#set var="PO_FILE"
      2  value='<a href="/philosophy/po/java-trap.el.po">
      3  https://www.gnu.org/philosophy/po/java-trap.el.po</a>'
      4  --><!--#set var="ORIGINAL_FILE" value="/philosophy/java-trap.html"
      5  --><!--#set var="DIFF_FILE" value=""
      6  --><!--#set var="OUTDATED_SINCE" value="2007-12-15" -->
      7 
      8 <!--#include virtual="/server/header.el.html" -->
      9 <!-- Parent-Version: 1.77 -->
     10 
     11 <!-- This file is automatically generated by GNUnited Nations! -->
     12 <title>Ελεύθερο αλλά δεσμευμένο - η παγίδα της Java - Έργο GNU - Ίδρυμα Ελεύθερου
     13 Λογισμικού</title>
     14 
     15 <!--#include virtual="/philosophy/po/java-trap.translist" -->
     16 <!--#include virtual="/server/banner.el.html" -->
     17 <!--#include virtual="/server/outdated.el.html" -->
     18 <h2>Ελεύθερο αλλά δεσμευμένο - η παγίδα της Java</h2>
     19 
     20 <p>από τον <a href="http://www.stallman.org/">Richard Stallman</a></p>
     21 
     22 <div class="announcement"><blockquote><h3>Υποσημείωση</h3>
     23 
     24 <p>Τον Δεκέμβριο του 2006, η Sun έχει ξεκινήσει την <a
     25 href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">αναδημοσίευση της
     26 πλατφόρμας Java υπό την άδεια GNU GPL</a>. Όταν ολοκληρωθεί αυτή η αλλαγή
     27 άδειας, η Java δεν θα αποτελεί πλέον παγίδα. Παρόλα αυτά, το γενικό ζήτημα
     28 που περιγράφεται εδώ παραμένει σημαντικό, επειδή οποιαδήποτε μη ελεύθερη
     29 βιβλιοθήκη η πλατφόρμα προγραμματισμού μπορεί να προκαλέσει παρόμοια
     30 προβλήματα. Πρέπει να πάρουμε το μάθημα μας από το παρελθόν της Java, ώστε
     31 να αποφύγουμε ενδεχόμενες μελλοντικές παγίδες.</p>
     32 
     33 <p>Παρακαλούμε δείτε επίσης: <a href="/philosophy/javascript-trap.html"> Η
     34 παγίδα της JavaScript</a>.</p>
     35 </blockquote>
     36 </div>
     37 
     38 <p>12 Απριλίου, 2004</p>
     39 
     40 <p>
     41   Εάν το πρόγραμμά σας είναι ελεύθερο λογισμικό, είναι γενικά ηθικό&mdash;αλλά
     42 υπάρχει μια παγίδα για την οποία πρέπει να είστε σε ετοιμότητα. Το
     43 πρόγραμμά σας, αν και είναι ελεύθερο, μπορεί να περιοριστεί από το
     44 ανελεύθερο   λογισμικό από το οποίο εξαρτάται. Δεδομένου ότι αυτό το
     45 πρόβλημα είναι το πιο σοβαρό σήμερα για τα προγράμματα της Java, το καλούμε
     46 η παγίδα της Java.
     47 </p>
     48 
     49 <p>
     50   Ένα πρόγραμμα είναι ελεύθερο λογισμικό εάν οι χρήστες του έχουν ορισμένες
     51 κρίσιμες ελευθερίες. Χοντρικά, αυτές είναι: η ελευθερία να εκτέλεσης του
     52 προγράμματος, η ελευθερία μελέτης και μεταβολής του πηγαίου κώδικα, η
     53 ελευθερία επαναδημοσιοποίησης του πηγαίου κώδικα και των εκτελέσιμων
     54 αρχείων, και η ελευθερία δημοσίευσης βελτιωμένων εκδόσεων. (Δείτε  <a
     55 href="/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a>.)
     56 Εάν το οποιοδήποτε δεδομένο πρόγραμμα είναι ελεύθερο λογισμικό εξαρτάται
     57 αποκλειστικά από το περιεχόμενο της άδειας χρήσεως του.
     58 </p>
     59 
     60 <p>
     61   Το εάν όμως το συγκεκριμένο πρόγραμμα μπορεί να χρησιμοποιηθεί στον Ελεύθερο
     62 Κόσμο, από τους ανθρώπους που θέλουν να ζουν με ελευθερία, είναι μια πιο
     63 σύνθετη ερώτηση. Αυτό δεν καθορίζεται από την άδεια χρήσεως του
     64 προγράμματος, επειδή κανένα πρόγραμμα δεν λειτουργεί μεμονωμένα. Κάθε
     65 πρόγραμμα εξαρτάται από άλλα προγράμματα. Παραδείγματος χάριν, ένα πρόγραμμα
     66 πρέπει να μεταγλωττιστεί ή να διερμηνευτεί, άρα εξαρτάται από έναν
     67 μεταγλωττιστή ή έναν διερμηνέα. Εάν συντάσσεται στον κώδικα χαρακτήρων (byte
     68 code), εξαρτάται από έναν διερμηνέα κώδικα χαρακτήρων. Επιπλέον, χρειάζεται
     69 βιβλιοθήκες προκειμένου να εκτελεστεί, και μπορεί επίσης να απαιτεί και άλλα
     70 χωριστά προγράμματα που τρέχουν σε άλλες διαδικασίες. Όλα αυτά τα
     71 προγράμματα είναι εξαρτήσεις. Οι εξαρτήσεις μπορεί να είναι απαραίτητες για
     72 να μπορεί να εκτελεστεί το πρόγραμμα, ή μπορούν να είναι απαραίτητες μόνο
     73 για ορισμένα χαρακτηριστικά του γνωρίσματα. Σε κάθε περίπτωση, σύνολο ή
     74 μέρος του προγράμματος δεν μπορεί να λειτουργήσει χωρίς τις εξαρτήσεις.
     75 </p>
     76 
     77 <p>
     78   Εάν μερικές από τις εξαρτήσεις ενός προγράμματος είναι ανελεύθερες, αυτό
     79 σημαίνει ότι σύνολο ή μέρος του προγράμματος είναι ανίκανο να εκτελεστεί σε
     80 ένα εξ ολοκλήρου ελεύθερο σύστημα&mdash;είναι ακατάλληλο προς χρήση για τον
     81 Ελεύθερο Κόσμο. Βέβαια, θα μπορούσαμε να επαναδημοσιοποιήσουμε το πρόγραμμα
     82 και να έχουμε αντίγραφα για τις μηχανές μας, αλλά θα ήταν άχρηστο εάν δεν
     83 μπορούσε να εκτελεστεί. Αυτό το πρόγραμμα είναι μεν ελεύθερο λογισμικό, αλλά
     84 χάνει την αποτελεσματικότητα του από τις ανελεύθερες εξαρτήσεις του.
     85 </p>
     86 
     87 <p>
     88   Το πρόβλημα αυτό μπορεί να εμφανιστεί σε οποιοδήποτε είδος λογισμικού, σε
     89 οποιαδήποτε γλώσσα προγραμματισμού. Παραδείγματος χάριν, ένα ελεύθερο
     90 πρόγραμμα που τρέχει μόνο στα Microsoft Windows είναι σαφώς άχρηστο για τον
     91 Ελεύθερο Κόσμο. Το λογισμικό που τρέχει στο GNU/Linux μπορεί επίσης να είναι
     92 άχρηστο εάν εξαρτάται από άλλο ανελεύθερο λογισμικό. Στο παρελθόν, το Motif
     93 (πριν τη δημιουργία του LessTif) και το QT (πριν οι κατασκευαστές του το
     94 μετατρέψουν σε ελεύθερο) ήταν σημαντικές αιτίες αυτού του προβλήματος. Οι
     95 περισσότερες τρισδιάστατες κάρτες οθόνης (γραφικών) λειτουργούν πλήρως μόνο
     96 με ανελεύθερους οδηγούς, οι οποίοι προκαλούν επίσης το ίδιο πρόβλημα. Αλλά η
     97 σημαντικότερη πηγή αυτού του προβλήματος είναι σήμερα η Java, επειδή οι
     98 άνθρωποι που γράφουν ελεύθερο λογισμικό αισθάνονται συχνά ότι η Java είναι
     99 ελκυστική. Τυφλοί από την έλξη τους στη γλώσσα, αγνοούν το ζήτημα των
    100 εξαρτήσεων, και πέφτουν στην παγίδα της Java.
    101 </p>
    102 
    103 <p>
    104   Η υλοποίηση της Java από τη Sun είναι μη-ελεύθερη. Οι τυποποιημένες
    105 βιβλιοθήκες της Java είναι επίσης μη-ελεύθερες. Εμείς έχουμε ελεύθερες
    106 υλοποιήσεις της Java, όπως ο <a
    107 href="http://gcc.gnu.org/java/">μεταγλωττιστής GNU για την Java</a> (GCJ)
    108 και το <a href="/software/classpath">GNU Classpath</a>, αλλά δεν
    109 υποστηρίζουν όλα τα χαρακτηριστικά γνωρίσματα ακόμα. Προλαβαίνουμε ακόμη.
    110 </p>
    111 
    112 <p>
    113   Εάν αναπτύσσετε ένα πρόγραμμα της Java για την πλατφόρμα της Sun, είστε
    114 εκτεθειμένοι στα χαρακτηριστικά γνωρίσματα χρήσης της Sun χωρίς καν να το
    115 αντιληφθείτε. Τη στιγμή που θα το ανακαλύψετε, μπορεί να τα χρησιμοποιούσατε
    116 για μήνες, και η επανασυγγραφή των έργων σας θα μπορούσε να πάρει ακόμη
    117 περισσότερους μήνες. Πιθανότατα θα πείτε, &ldquo;είναι πάρα πολλή δουλειά
    118 για να ξεκινήσω ξανά από την αρχή.&rdquo; Έτσι το πρόγραμμά σας θα έχει
    119 πέσει στην παγίδα της Java. Θα είναι ακατάλληλο προς χρήση στον Ελεύθερο
    120 Κόσμο.
    121 </p>
    122 
    123 <p>
    124   Ο αξιόπιστος τρόπος ώστε να αποφευχθεί η παγίδα της Java είναι να έχετε μόνο
    125 μια ελεύθερη υλοποίηση της Java στο σύστημά σας. Κατόπιν εάν χρησιμοποιήσετε
    126 ένα χαρακτηριστικό γνώρισμα ή μια βιβλιοθήκη της Java που το ελεύθερο
    127 λογισμικό δεν υποστηρίζει ακόμα, θα το ανακαλύψετε αμέσως, και μπορείτε να
    128 ξαναγράψετε αυτό τον κώδικα άμεσα.
    129 </p>
    130 
    131 <p>
    132   Η Sun συνεχίζει να αναπτύσσει τις πρόσθετες &ldquo;τυποποιημένες&rdquo;
    133 βιβλιοθήκες της Java, και σχεδόν όλες τους είναι  μη-ελεύθερες. Σε πολλές
    134 περιπτώσεις, ακόμη και η προδιαγραφή μιας βιβλιοθήκης είναι ένα εμπορικό
    135 μυστικό, και η  πιο πρόσφατη άδεια της Sun για αυτές τις προδιαγραφές
    136 απαγορεύει τη δημοσίευση (release) οτιδήποτε λιγότερου από  μια πλήρη
    137 υλοποίηση της προδιαγραφής. (Δείτε <a
    138 href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a>
    139 και <a
    140 href="http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html">http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html</a>,
    141 για παραδείγματα).
    142 </p>
    143 
    144 <p>
    145   Ευτυχώς, αυτή η προδιαγραφή της άδειας (της Sun) επιτρέπει τη δημοσίευση μία
    146 υλοποίησης ως ελεύθερο λογισμικό. Δηλαδή άλλοι χρήστες της βιβλιοθήκης
    147 επιτρέπεται να την αλλάξουν δίχως να απαιτείται να προσθέσουν τις αλλαγές
    148 τους στην προδιαγραφή. Όμως οι απαιτήσεις της έχουν ως αποτέλεσμα η
    149 δημιουργία ενός συνεργατικού μοντέλου ανάπτυξης και η δημιουργία μίας
    150 ελεύθερης υλοποίησης να είναι απαγορευτική. Η χρήση αυτού του μοντέλου
    151 συνεπάγεται την δημοσίευση ελλιπών εκδόσεων, στις οποίες όσοι έχουν διαβάσει
    152 την προδιαγραφή (της Sun) δεν επιτρέπεται να συμμετάσχουν.
    153 </p>
    154 
    155 <p>
    156   Στις αρχές του κινήματος ελεύθερου λογισμικού, ήταν αδύνατο να αποφευχθεί η
    157 εξάρτηση από μη-ελεύθερα προγράμματα. Πριν αποκτήσουμε τον μεταγλωττιστή GNU
    158 C, κάθε πρόγραμμα C (ελεύθερο ή όχι) είχε εξάρτηση από έναν μη-ελεύθερο
    159 μεταγλωττιστή C. Πριν αποκτήσουμε τη βιβλιοθήκη GNU C, κάθε πρόγραμμα είχε
    160 εξάρτηση από μια μη-ελεύθερη βιβλιοθήκη C. Πριν αποκτήσουμε τον Linux, τον
    161 πρώτο ελεύθερο πυρήνα, κάθε πρόγραμμα είχε εξάρτηση από έναν μη-ελεύθερο
    162 πυρήνα. Πριν αποκτήσουμε το BASH, κάθε κώδικας κελύφους (shellscript) έπρεπε
    163 να ερμηνευθεί από ένα μη-ελεύθερο κέλυφος. Ήταν αναπόφευκτο ότι τα πρώτα
    164 προγράμματά μας θα παρακωλύονταν αρχικά από αυτές τις εξαρτήσεις, αλλά το
    165 δεχτήκαμε επειδή το σχέδιό μας συμπεριλάμβανε να τα διασώσει στη συνέχεια. Ο
    166 γενικός στόχος μας, ένα αυτό-φιλόξενο λειτουργικό σύστημα GNU,
    167 συμπεριλαμβανομένων τις ελεύθερες αντικαταστάσεις για όλες εκείνες τις
    168 εξαρτήσεις. Εάν πετυχαίναμε το στόχο, όλα τα προγράμματά μας θα
    169 διασώζονταν. Έτσι κι έγινε: με το σύστημα GNU/Linux, μπορούμε τώρα να
    170 εκτελέσουμε αυτά τα προγράμματα σε ελεύθερες πλατφόρμες.
    171 </p>
    172 
    173 <p>
    174   Η κατάσταση σήμερα είναι διαφορετική. Πλέον έχουμε ισχυρά ελεύθερα
    175 λειτουργικά συστήματα και πολλά ελεύθερα εργαλεία
    176 προγραμματισμού. Οποιαδήποτε εργασία κι αν θέλετε να κάνετε, μπορείτε να την
    177 κάνετε σε μια ελεύθερη πλατφόρμα. Δεν υπάρχει καμία ανάγκη να γίνει αποδεκτή
    178 μια μη-ελεύθερες εξάρτηση ακόμα και προσωρινά. Ο κύριος λόγος της πτώσης των
    179 ανθρώπων στην παγίδα της Java σήμερα είναι επειδή δεν το σκέφτονται. Η
    180 ευκολότερη λύση στο πρόβλημα της παγίδας της Java είναι να διδαχθούν οι
    181 άνθρωποι ώστε να μην πέφτουν σε αυτήν.
    182 </p>
    183 
    184 <p>
    185   Για να κρατήσετε τον κώδικα σας γραμμένο σε Java μακριά από την παγίδα της,
    186 εγκαταστήστε ένα ελεύθερο περιβάλλον ανάπτυξης της Java και χρησιμοποιήστε
    187 το. Γενικότερα, οποιαδήποτε γλώσσα κι αν χρησιμοποιείτε, κρατήστε τα μάτια
    188 σας ανοικτά, και ελέγξτε την ελεύθερη κατάσταση των προγραμμάτων από τα
    189 οποία εξαρτάται ο κώδικάς σας. Ο ευκολότερος τρόπος να εξακριβωθεί ότι
    190 κάποιο πρόγραμμα είναι ελεύθερο είναι με έρευνα για την ύπαρξή του στον
    191 κατάλογο ελεύθερου λογισμικού (<a
    192 href="http://www.fsf.org/directory">http://www.fsf.org/directory</a>). Εάν
    193 ένα πρόγραμμα δεν είναι στον κατάλογο, μπορείτε να ελέγξετε την(ις)
    194 άδεια(ες) του σε σχέση με τον κατάλογο αδειών ελεύθερου λογισμικού (<a
    195 href="/licenses/license-list.html">http://www.gnu.org/licenses/license-list.html</a>).
    196 </p>
    197 
    198 <p>
    199   Προσπαθούμε να διασώσουμε τα παγιδευμένα προγράμματα της Java, έτσι εάν
    200 συμπαθείτε τη γλώσσα Java, σας προσκαλούμε να βοηθήσετε στην ανάπτυξη του
    201 GNU Classpath. Δοκιμάζοντας τα προγράμματά σας με το μεταγλωττιστή GCJ και
    202 το GNU Classpath, και εκθέτοντας οποιαδήποτε προβλήματα αντιμετωπίζετε στις
    203 κλάσεις που υλοποιήθηκαν ήδη, γίνεστε χρήσιμοι. Εντούτοις, η ολοκλήρωση του
    204 GNU Classpath θα πάρει χρόνο. Εάν περισσότερες ανελεύθερες βιβλιοθήκες
    205 συνεχίζουν να προστίθενται, ίσως να μην μπορέσουμε να τις έχουμε ποτέ
    206 όλες. Για αυτό παρακαλούμε μην βάλετε το ελεύθερο λογισμικό σας σε
    207 δεσμούς. Όταν γράφετε ένα πρόγραμμα εφαρμογών σήμερα, γράψτε το ώστε να
    208 εκτελείται σε ελεύθερες πλατφόρμες εξ' αρχής.
    209 </p>
    210 
    211 <h3>Δείτε επίσης:-</h3>
    212 <p><a href="/philosophy/sun-in-night-time.html">The Curious Incident of Sun in
    213 the Night-Time</a></p>
    214 
    215 <div class="translators-notes">
    216 
    217 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
    218  </div>
    219 </div>
    220 
    221 <!-- for id="content", starts in the include above -->
    222 <!--#include virtual="/server/footer.el.html" -->
    223 <div id="footer">
    224 <div class="unprintable">
    225 
    226 <p>Παρακαλούμε στείλτε ερωτήσεις για τα ΙΕΛ &amp; GNU στο <a
    227 href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.  Υπάρχουν επίσης <a
    228 href="/contact/">άλλοι τρόποι για να επικοινωνήσετε</a> με το ΙΕΛ. Ανενεργοί
    229 σύνδεσμοι και άλλες διορθώσεις ή προτάσεις μπορούν να σταλούν στο <a
    230 href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>
    231 
    232 <p>
    233 <!-- TRANSLATORS: Ignore the original text in this paragraph,
    234         replace it with the translation of these two:
    235 
    236         We work hard and do our best to provide accurate, good quality
    237         translations.  However, we are not exempt from imperfection.
    238         Please send your comments and general suggestions in this regard
    239         to <a href="mailto:web-translators@gnu.org">
    240 
    241         &lt;web-translators@gnu.org&gt;</a>.</p>
    242 
    243         <p>For information on coordinating and submitting translations of
    244         our web pages, see <a
    245         href="/server/standards/README.translations.html">Translations
    246         README</a>. -->
    247 Εργαζόμαστε σκληρά και κάνουμε ό,τι καλύτερο μπορούμε για να παρέχουμε
    248 ακριβείς, καλής ποιότητας μεταφράσεις.  Ωστόσο, δεν εξαιρούμαστε από
    249 ατέλειες.  Παρακαλούμε, στείλτε τα σχόλιά σας και τις γενικές παρατηρήσεις
    250 σας σχετικά με αυτό το θέμα στο <a
    251 href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.</p><p>Για
    252 πληροφορίες σχετικά με το συντονισμό και την υποβολή μεταφράσεων των
    253 ιστοσελίδων μας, δείτε το <a
    254 href="/server/standards/README.translations.html">Μεταφράσεις ΔΙΑΒΑΣΕΜΕ</a>.</p>
    255 </div>
    256 
    257 <p>Copyright &copy; 2004 Richard Stallman</p>
    258 
    259 <p>Αυτή η σελίδα διατίθεται υπό την άδεια: <a rel="license"
    260 href="http://creativecommons.org/licenses/by-nd/4.0/deed.el">Creative
    261 Commons Αναφορά Δημιουργού-Όχι Παράγωγα Έργα 4.0 Διεθνές</a>.</p>
    262 
    263 <!--#include virtual="/server/bottom-notes.el.html" -->
    264 <div class="translators-credits">
    265 
    266 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
    267 Μετάφραση στα ελληνικά: <a
    268 href="http://savannah.gnu.org/users/freeasinfreedom">Athanasios
    269 Kasampalis</a>.</div>
    270 
    271 <p class="unprintable"><!-- timestamp start -->
    272 Ενημερώθηκε:
    273 
    274 $Date: 2017/03/31 09:12:45 $
    275 
    276 <!-- timestamp end -->
    277 </p>
    278 </div>
    279 </div>
    280 </body>
    281 </html>