Loading…
open-source

9 «σημεία ελέγχου» πριν από την επιλογή του σωστού ανοιχτού λογισμικού

open-sourceΔεν είναι όλα τα έργα ανοικτού κώδικα ίδια. Υπάρχουν πολλά που δεν έχουν αλλάξει εδώ και χρόνια. Όποιος ενδιαφέρεται να βασιστεί σε ένα έργο ανοιχτού κώδικα, θα πρέπει να βεβαιωθεί ότι ο κώδικας είναι συμβατός με τις απαιτήσεις του και ότι η κοινότητα που το δημιούργησε θα συνεχίσει να το υποστηρίζει σε όλο τον κύκλο ζωής του έργου.

Αν και δεν υπάρχει λυδία λίθος για τον έλεγχο του “καλού” ανοικτού κώδικα, υπάρχουν πολλοί «δείκτες» ενός υγιούς έργου:

1. Συχνότητα Επικαιροποίησης. Ο πιο συχνά αναφερόμενος δείκτης είναι το πότε επικαιροποιήθηκε ο κώδικας για τελευταία φορά. Πριν από ένα χρόνο; Μια εβδομάδα; Μια ώρα; Η τελευταία επικαιροποίηση δεν είναι, όμως, το μόνο πράγμα που πρέπει να εξετάσουμε. Πόσο συχνά θα επικαιροποιείται; Είναι η ανάπτυξη περιστασιακή ή συνεχής; Μήπως οι αλλαγές συμβαίνουν τα Σαββατοκύριακα (εν είδει χόμπι) ή κατά τη διάρκεια της εβδομάδας (ως δουλειά);

2. Ζητήματα. Τα ζητήματα και οι αναφορές σφαλμάτων είναι καλά πράγματα – πραγματικά. Αν βρείτε ένα opensource project χωρίς ανοικτό ζήτημα, αυτό δεν σημαίνει ότι είναι όλα τέλεια. Στην πραγματικότητα, αυτό σημαίνει συχνά το αντίθετο. Μια ζωντανή υποστήριξη από την κοινότητα με έντονες συζητήσεις και μια ατελείωτη λίστα από προτεινόμενα χαρακτηριστικά σημαίνει ότι υπάρχουν πολλά μάτια στραμμένα στην αναθεώρηση του κώδικα και, άρα, την ανάπτυξή του. Τα ανοικτά ζητήματα είναι σημαντικά και τα κλειστά ακόμα καλύτερα.

3. Forks, αστέρια και μεταφορτώσεις. Κάθε πλατφόρμα διανομής παρέχει τα δικά της μετρικά για να περιγράψει τη δημοτικότητά της. Στην GitHub, οι παρατηρητές, τα αστέρια και τα forks είναι οι πιο βασικοί δείκτες της δημοτικότητας και της χρήσης ενός έργου. Στη WordPress.org, από την άλλη πλευρά, μπορείτε να δείτε τον αριθμό των downloads και τη μέση βαθμολογία των χρηστών. Εάν ένα έργο διανέμεται μέσω ενός διαχειριστή (π.χ., RubyGems.org ή ΝΡΜ), μπορείτε να δείτε τον αριθμό των εγκαταστάσεων. Οι εν λόγω δείκτες δείχνουν πόσο χρησιμοποιείται το έργο, αλλά πρέπει να προσέξουμε να μην συγχέουμε τη χρήση με την ποιότητα.

4. Τεκμηρίωση. Πώς τεκμηριώνεται το έργο; Είναι απλά γραμμένο σε ένα αρχείο Readme.txt ή σε ένα ειδικό site; Μια τεκμηρίωση που συγκαλύπτει τεχνικές υποθέσεις (π.χ. πώς να εγκαταστήσετε, απαιτήσεις και εξαρτήσεις) συχνά υποδηλώνει πιο «ανεπίσημη» ανάπτυξη λογισμικού. H ύπαρξη ειδικών marketing sites (π.χ. Jekyllrb.com) δείχνουν ότι οι κάτοχοι του έργου θέλουν πραγματικά να χρησιμοποιήσετε τον κώδικά τους και έτσι είναι πιο πιθανό να το υποστηρίξουν.

5. Φορέας ή χρήστης; Ποιος βρίσκεται πίσω από το σχέδιο; Αν είναι ένα άτομο, ποια είναι δουλειά του; Είναι ειδικός στον συγκεκριμένο τομέα; Το να υποστηρίζεται από μια εταιρεία ή οργανισμό μπορεί να είναι ένας καλός δείκτης ποιότητας και σταθερότητας, αλλά ρίξτε πρώτα μια ματιά σε άλλα έργα του ίδιου δημιουργού. Μήπως αυτό το έργο ανοικτού κώδικα είναι απλά μια προσπάθεια δημιουργίας θετικής προδιάθεσης προς το εμπορικό σήμα του;

6. Αριθμός συνεισφερόντων. Είναι το έργο σόλο πράξη ή μια ομαδική προσπάθεια; Ο μεγάλος αριθμός συμμετεχόντων δείχνει ότι υπάρχει μια κοινότητα χρηστών που βασίζονται σε αυτό και νοιάζονται για τη βελτίωση του λογισμικού. Οι συντελεστές δεν χρειάζεται να είναι μόνο τεχνικοί. Κοιτάξτε προσεκτικά τις αξίες της κοινότητας και πώς παίρνει τις αποφάσεις.

7. Ποιος άλλος το χρησιμοποιεί; Υπάρχουν πολλά έργα ανοικτού κώδικα που μπορούν να πληρούν τα παραπάνω κριτήρια, αλλά αν κανένας από τους γνωστούς σας δεν χρησιμοποιεί το συγκεκριμένο έργο (ή, ακόμη χειρότερα, δεν έχουν καν ακούσει για αυτό), αυτό θα μπορούσε να είναι μια μεγάλη κόκκινη σημαία.

8. Άδεια. Διατίθεται το έργο με κατάλληλη άδεια χρήσης; Μήπως περιέχει αρχείο άδειας ή απλά μια αναφορά σε άδεια σε αρχείο Readme.txt; Τα αρχεία περιέχουν τους κατάλληλους ορισμούς όπου απαιτείται; Η αυστηρότητα με την οποία το λογισμικό διατίθεται και το είδος της άδειας μπορούν να δείξουν πόσο εξοικειωμένος είναι ο εκδότης με τον ανοιχτό κώδικα και πόσο ελεύθερα είναι διατεθειμένος να διαθέτει το έργο του. Το πιο σημαντικό είναι να βεβαιωθείτε ότι η άδεια είναι συμβατή με το έργο και τους στόχους σας.

9. Ο ίδιος ο κώδικας. Τίποτα δε συγκρίνεται με τον ίδιο τον έλεγχο που κάνει ένας ειδικός. Μήπως ο δημιουργός ακολουθεί κοινά πρότυπα σχεδιασμού; Χρησιμοποιεί ένα υπάρχον πλαίσιο ή χτίζει τα πάντα από το μηδέν; Ακόμα κι αν δεν είστε προγραμματιστής, λάβετε υπόψη αν τα σχετικά σχόλια είναι σαφή και χωρίς ορθογραφικά λάθη και αν το έργο περιλαμβάνει εκτενείς δοκιμές.

Θυμηθείτε: Το λογισμικό είναι γραμμένο από ανθρώπους για ανθρώπους. Σε περίπτωση αμφιβολίας, ρωτήστε. Οι προγραμματιστές θέλουν να χρησιμοποιήσετε το λογισμικό τους και θα χαρούν να σας βοηθήσουν. Ανοίξτε ένα ζήτημα ζητώντας πληροφορίες σχετικά με το σκοπό και την κατάσταση του έργου. Κάντε ερωτήσεις όπως: Ποιος άλλος το χρησιμοποιεί; Να βασίσω την επιχείρησή μου σε αυτό;

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

Πηγή: http://fcw.com/Articles/2014/09/30/9-things-to-look-for-in-an-open-source-project.aspx?Page=1

2 thoughts on “9 «σημεία ελέγχου» πριν από την επιλογή του σωστού ανοιχτού λογισμικού

  1. Επειδή η επιλογή του λογισμικού, συχνά είναι υποχρέωση μη τεχνικά εξειδικευμένων ανθρώπων, ο έλεγχος για την ποιότητα του κώδικα, δεν είναι δυνατόν να γίνει από αυτούς. Σε αυτή την περίπτωση, σημαντικό κριτήριο επιλογής είναι το εάν υπάρχει υποστήριξη για το λογισμικό, από επαγγελματίες που είναι σε θέση να αναλάβουν μια τέτοια ευθύνη.
    Το “κανείς δεν απολύθηκε επειδή επέλεξε IBM (MS θα λέγαμε σήμερα)” που ίσχυε τις δεκαετίες 80-90, ισχύει ακόμη και ο λόγος είναι η υποστήριξη. Και μάλιστα η εντόπια υποστήριξη, μιας και τα περισσότερα έργα ανοικτού κώδικα είναι από ανθρώπους στο εξωτερικό, μια πραγματική παγκοσμιοποίηση, με την οποία είμαστε μεν εξοικειωμένοι εμείς που έχουμε τεχνικό/web υπόβαθρο, δεν συμβαίνει όμως το ίδιο και με όλους όσοι εμπλέκονται στην επιλογή και χρήση του λογισμικού.
    Έτσι, ένα βασικό κριτήριο επιλογής, θεωρώ ότι θα έπρεπε να είναι το: “υπάρχει υποστήριξη από ντόπιους παίκτες;”.

  2. Ο συγγραφέας του αρχικού άρθρου στα Αγγλικά, δεν προσδιόρισε το λογισμικό που περιγράφει ως “σωστό” στον τίτλο και όχι άδικα. Αλλάζει τελείως το νόημα του άρθρου και πρέπει να διορθωθεί η μετάφραση. Νομίζω ότι το “9 πράγματα που πρέπει αναζητήσεις σε ένα ανοιχτό λογισμικό” είναι το ορθότερο.

    Αφενός, δεν υπάρχει “σωστό” λογισμικό, αλλά “κατάλληλο” (και άλλα επίθετα ίσως).

    Αφετέρου, και ίσως σημαντικότερο, αν ακολουθούσαν όλοι αυτές τις απλές συμβουλές, κανένα open source project δεν θα ανθοφορούσε, σε σημείο που να πληροί τελικά αυτά τα κριτήρια.

Αφήστε μια απάντηση