7Jul

Τι είναι το λογισμικό ανοιχτού κώδικα και γιατί έχει σημασία;

Το

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

Το αν ένα πρόγραμμα είναι ανοικτού κώδικα ή όχι δεν έχει σημασία μόνο για τους προγραμματιστές, αλλά τελικά έχει σημασία και για τους χρήστες.Οι άδειες λογισμικού ανοικτού κώδικα δίνουν στους χρήστες ελευθερίες που δεν θα είχαν διαφορετικά.Πιστοποίηση εικόνας

: Quinn Dombrowski στο Flickr

Ο ορισμός του Open Source

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

Για παράδειγμα, το Ubuntu Linux είναι ένα λειτουργικό σύστημα ανοιχτού κώδικα.Μπορείτε να κατεβάσετε το Ubuntu, να δημιουργήσετε τόσα αντίγραφα όπως θέλετε και να τα δώσετε στους φίλους σας.Μπορείτε να εγκαταστήσετε το Ubuntu σε έναν απεριόριστο αριθμό υπολογιστών.Μπορείτε να δημιουργήσετε remixes του δίσκου εγκατάστασης του Ubuntu και να τις διανείμετε.Εάν είστε ιδιαίτερα παρακινημένοι, μπορείτε να κατεβάσετε τον πηγαίο κώδικα ενός προγράμματος στο Ubuntu και να το τροποποιήσετε, δημιουργώντας τη δική σας προσαρμοσμένη έκδοση αυτού του προγράμματος - ή του ίδιου του Ubuntu.Οι άδειες ανοιχτού κώδικα σας επιτρέπουν να το κάνετε αυτό, ενώ οι άδειες κλειστού κώδικα θέτουν περιορισμούς σε σας.

Το αντίθετο από το λογισμικό ανοικτής πηγής είναι το λογισμικό κλειστού κώδικα, το οποίο διαθέτει μια άδεια που περιορίζει τους χρήστες και διατηρεί τον πηγαίο κώδικα από αυτούς.

Τα Firefox, το Chrome, το OpenOffice, το Linux και το Android είναι μερικά δημοφιλή παραδείγματα λογισμικού ανοιχτού κώδικα, ενώ τα Microsoft Windows είναι ίσως το πιο δημοφιλές λογισμικό κλειστού κώδικα εκεί έξω.

Open Source vs. Ελεύθερο Λογισμικό

Οι εφαρμογές ανοιχτού κώδικα είναι γενικά ελεύθερα διαθέσιμες - παρόλο που δεν υπάρχει τίποτα που να εμποδίζει τον προγραμματιστή να χρεώνει αντίγραφα του λογισμικού αν επιτρέπει την ανακατανομή της εφαρμογής και του πηγαίου κώδικα της.

Ωστόσο, αυτό δεν σημαίνει το «ελεύθερο λογισμικό».Το "ελεύθερο" στο ελεύθερο λογισμικό σημαίνει "ελεύθερο ως ελεύθερο" και όχι "ελεύθερο όπως στη μπίρα". Το στρατόπεδο ελεύθερου λογισμικού, με επικεφαλής τον Richard Stallman και το Ίδρυμα Ελεύθερου Λογισμικού, επικεντρώνεται στη δεοντολογία και το ηθικό της χρήσης λογισμικού που μπορεί ναελέγχεται και τροποποιείται από το χρήστη.Με άλλα λόγια, το στρατόπεδο ελεύθερου λογισμικού επικεντρώνεται στις ελευθερίες των χρηστών.

Richard Stallman.Εικόνα από το Fripog στο Flickr.

Η κίνηση του λογισμικού ανοικτής πηγής δημιουργήθηκε για να επικεντρωθεί σε πιο ρεαλιστικούς λόγους για την επιλογή αυτού του τύπου λογισμικού.Οι υποστηρικτές του ανοικτού κώδικα ήθελαν να επικεντρωθούν στα πρακτικά οφέλη από τη χρήση λογισμικού ανοιχτού κώδικα που θα απευθύνονταν περισσότερο στις επιχειρήσεις, παρά στη δεοντολογία και την ηθική.

Τελικά, τόσο οι υποστηρικτές ανοιχτού κώδικα όσο και οι δωρεάν υποστηρίζουν το ίδιο είδος λογισμικού, αλλά διαφωνούν σχετικά με τα μηνύματα.

Τύποι αδειών

Υπάρχουν πολλές διαφορετικές άδειες χρήσης που χρησιμοποιούνται από έργα ανοιχτού κώδικα, ανάλογα με τα οποία προτιμούν οι προγραμματιστές για το πρόγραμμά τους.

Η γενική δημόσια άδεια GPL ή GNU χρησιμοποιείται ευρέως από πολλά έργα ανοιχτού κώδικα, όπως το Linux.Εκτός από όλους τους παραπάνω ορισμούς του ανοιχτού κώδικα, οι όροι της GPL καθορίζουν ότι εάν κάποιος τροποποιεί ένα πρόγραμμα ανοιχτού κώδικα και διανέμει μια παράγωγο έργο, πρέπει επίσης να διανείμει τον πηγαίο κώδικα για το παράγωγο έργο του.Με άλλα λόγια, κανείς δεν μπορεί να χρησιμοποιήσει κώδικα ανοιχτού κώδικα και να δημιουργήσει από αυτό ένα πρόγραμμα κλειστού κώδικα - πρέπει να απελευθερώσει τις αλλαγές του πίσω στην κοινότητα.Η Microsoft ανέφερε το GPL ως "ιό" για αυτό το λόγο, καθώς αναγκάζει προγράμματα που ενσωματώνουν τον κώδικα GPL να απελευθερώσουν τον δικό τους πηγαίο κώδικα.Φυσικά, οι προγραμματιστές ενός προγράμματος μπορούν να επιλέξουν να μην χρησιμοποιήσουν τον κώδικα GPL αν αυτό είναι πρόβλημα.

Ορισμένες άλλες άδειες, όπως η άδεια BSD, θέτουν λιγότερους περιορισμούς στους προγραμματιστές.Εάν ένα πρόγραμμα διαθέτει άδεια βάσει της άδειας BSD, οποιοσδήποτε μπορεί να ενσωματώσει τον πηγαίο κώδικα του προγράμματος σε άλλο πρόγραμμα.Δεν χρειάζεται να απελευθερώσουν τις αλλαγές τους στην κοινότητα.Μερικοί άνθρωποι βλέπουν ότι αυτό είναι ακόμα πιο "ελεύθερο" από την άδεια GPL, καθώς δίνει στους προγραμματιστές την ελευθερία να ενσωματώσουν τον κώδικα στα δικά τους προγράμματα κλειστού κώδικα, ενώ μερικοί θεωρούν ότι είναι λιγότερο "ελεύθεροι" επειδή παίρνουν δικαιώματα μακριάαπό τους τελικούς χρήστες του παραγόμενου προγράμματος.

Οφέλη για τους χρήστες

Αυτό δεν είναι όλα ξηρά, ασήμαντα πράγματα που έχουν σημασία μόνο για τους προγραμματιστές.Το πιο προφανές όφελος του λογισμικού ανοιχτού κώδικα είναι ότι μπορεί να είχε δωρεάν.Το παράδειγμα του Ubuntu Linux παραπάνω καθιστά αυτό σαφές - σε αντίθεση με τα Windows, μπορείτε να εγκαταστήσετε ή να διανείμετε όσα αντίγραφα του Ubuntu θέλετε, χωρίς περιορισμούς.Αυτό μπορεί να είναι ιδιαίτερα χρήσιμοι εξυπηρετητές - αν ρυθμίζετε ένα διακομιστή, μπορείτε απλά να εγκαταστήσετε το Linux σε αυτό.εάν ρυθμίζετε ένα virtualized cluster servers, μπορείτε εύκολα να αντιγράψετε ένα μόνο διακομιστή Ubuntu.Δεν χρειάζεται να ανησυχείτε για την αδειοδότηση και πόσες περιπτώσεις Linux επιτρέπεται να εκτελούνται.

Ένα πρόγραμμα ανοιχτού κώδικα είναι επίσης πιο ευέλικτο.Για παράδειγμα, η νέα διεπαφή των Windows 8 απογοητεύτηκε από πολλούς χρήστες υπολογιστών που χρησιμοποιούν Windows Desktop.Επειδή τα Windows είναι κλειστού τύπου, κανένας χρήστης των Windows δεν μπορεί να πάρει τη διασύνδεση των Windows 7, να το τροποποιήσει και να λειτουργήσει σωστά στα Windows 8.( Ορισμένοι χρήστες των Windows προσπαθούν, αλλά αυτή είναι μια επίπονη διαδικασία αντιστροφής μηχανικής και τροποποίησης δυαδικών αρχείων.)

Όταν μια επιφάνεια εργασίας Linux όπως το Ubuntu εισάγει μια νέα διεπαφή επιφάνειας εργασίας που ορισμένοι χρήστες δεν είναι οπαδοί των χρηστών, οι χρήστες έχουν περισσότερες επιλογές.Για παράδειγμα, όταν απελευθερώθηκε το GNOME 3, πολλοί χρήστες desktop του Linux ήταν εξίσου απενεργοποιημένοι.Κάποιοι πήραν τον κώδικα στην παλιά έκδοση GNOME 2 και το τροποποίησαν για να τρέξουν στις τελευταίες διανομές Linux - αυτό είναι το MATE.Κάποιοι πήραν τον κώδικα στο GNOME 3 και το τροποποίησαν για να λειτουργήσουν με τρόπο που προτιμούσαν - αυτό είναι το Κανέλα.Μερικοί χρήστες απλώς άλλαξαν σε υπάρχοντες εναλλακτικούς επιτραπέζιους υπολογιστές.Εάν τα Windows ήταν ανοιχτού κώδικα, οι χρήστες Windows 8 θα είχαν περισσότερες επιλογές και ευελιξία.Απλά ρίξτε μια ματιά στο CyanogenMod, μια δημοφιλής διανομή Android που βασίζεται στην κοινότητα και προσθέτει χαρακτηριστικά και υποστήριξη για νέες συσκευές.Το λογισμικό ανοιχτού κώδικα

επιτρέπει επίσης στους προγραμματιστές να «στέκονται στους ώμους των γίγαντων» και να δημιουργούν το δικό τους λογισμικό.Είναι μάρτυρες του Android και του Chrome OS, τα οποία είναι λειτουργικά συστήματα που βασίζονται στο Linux και άλλα λογισμικά ανοιχτού κώδικα.Ο πυρήνας του OS X της Apple - και γι 'αυτό το iOS - χτίστηκε επίσης με κώδικα ανοιχτού κώδικα.Η βαλβίδα εργάζεται με άσχημο τρόπο για τη μεταφορά της πλατφόρμας παιχνιδιών Steam στο Linux, καθώς αυτό θα τους επέτρεπε να δημιουργήσουν το δικό τους υλικό και να ελέγξουν το δικό τους προορισμό με τρόπο που δεν είναι δυνατό στα Windows της Microsoft.

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