Το ΕΛ/ΛΑΚ ως μοντέλο ανάπτυξης

Ο ορισμός του ΕΛ/ΛΑΚ καλύπτει εκτεταμένα τα ζητήματα που αφορούν την άδεια χρήσης του λογισμικού, ενώ συγχρόνως το γεγονός ότι ο κώδικας των εφαρμογών είναι ανοιχτός προσφέρει τη δυνατότητα διενέργειας κοινών προσπαθειών ανάπτυξης κώδικα από διαφορετικές ομάδες ατόμων, λειτουργώντας με παρόμοιο τρόπο με τις ομάδες χρηστών της δεκαετίας του 1960. Μέσα σε αυτό το πλαίσιο, ο Eric Raymond εισήγαγε στο άρθρο του “Ο καθεδρικός και το παζάρι” (The cathedral and the bazaar) την έννοια της διαμοιραζόμενης ανάπτυξης κώδικα, όπου παρομοιάζει το μοντέλο ανάπτυξης στο οποίο κάθε προγραμματιστής είναι ελεύθερος να επιλέξει με ποιο τμήμα του κώδικα επιθυμεί να ασχοληθεί με ένα “παζάρι” και το συγκρίνει με το μοντέλο ανάπτυξης ενός “καθεδρικού ναού”, που διαθέτει σαφώς πιο αυστηρούς και δομημένους κανόνες.

Στην πραγματικότητα, εφαρμογές που αναπτύσσονται με συνεργατικό τρόπο έχουν την τάση να εκτελούνται ακολουθώντας ταυτόχρονα και τις δύο παραπάνω προσεγγίσεις. Για παράδειγμα, τα περισσότερα λογισμικά διαθέτουν κάποιου είδους δομή, ενώ άλλα λογισμικά διαθέτουν απόλυτα αυστηρή δομή (π.χ. εφαρμογές που χρησιμοποιούν κώδικα ΕΛ/ΛΑΚ σε πιστοποιημένο περιβάλλον, όπως συστήματα ασφαλείας). Το πιο σημαντικό θέμα που ανακύπτει από το άρθρο του Raymond είναι το γεγονός ότι τόσο η συγγραφή κώδικα όσο και άλλες επικουρικές εργασίες, όπως η διόρθωση των προγραμματιστικών σφαλμάτων και η παραγωγή εγγράφων τεκμηρίωσης μπορούν να υλοποιηθούν από μια μεγάλη κοινότητα ατόμων, δημιουργώντας κατά κάποιον τρόπο “εικονικές επιχειρήσεις λογισμικού” οι οποίες εθελοντικά παρέχουν εργασία και πόρους. Αυτό, επίσης, βοηθά και στη δημιουργία μιας μεγάλης κοινότητας εξειδικευμένων χρηστών, οι οποίοι με τη σειρά τους μπορούν να συνεισφέρουν με διάφορους τρόπους [VH 03, VH 05].

Όταν μια τέτοιου είδους συνεργασία λαμβάνει χώρα, δεν είναι απαραίτητο να γίνεται μόνο σε επίπεδο συγγραφής κώδικα, όπως για παράδειγμα αναφέρει το [Jul 06]: “Το 2000, πενήντα εξωτερικοί συνεργάτες της εφαρμογής Open Cascade προσέφεραν βοήθεια με διάφορους τρόπους: μετέφεραν το λογισμικό σε άλλα συστήματα (IRIX 64 bits, Alpha OSF), διόρθωσαν προγραμματιστικά σφάλματα, μετέφρασαν το εγχειρίδιο χρήσης στην ισπανική γλώσσα κτλ. Σήμερα υπάρχουν περισσότεροι από εβδομήντα ενεργοί συνεργάτες που προσφέρουν τις υπηρεσίες τους και ο στόχος είναι ο αριθμός αυτός να ανέλθει σε εκατό. Αυτή η συνεισφορά είναι ιδιαίτερα σημαντική. Οι δημιουργοί του Open Cascade εκτιμούν ότι αυτή αντιπροσωπεύει το 20% της συνολικής αξίας του λογισμικού.”

Μια παρόμοια άποψη παρουσιάζεται και στο [Sei 06], όπου ένας από τους επικεφαλής του έργου KDE1 παρουσιάζει τα διαφορετικά πεδία τα οποία συνθέτουν το περιβάλλον KDE(1):

  • Γραφικό περιβάλλον
  • Έγγραφα τεκμηρίωσης
  • Αλληλεπίδραση ανθρώπου-υπολογιστή
  • Εμπορική εκμετάλλευση
  • Διασφάλιση ποιότητας
  • Ανάπτυξη λογισμικού
  • Μετάφραση

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

Άλλο ένα παράδειγμα παρουσιάζεται στο [Mue 07] όπου παρουσιάζεται μια καταγραφή των συμμετεχόντων σε διάφορα τμήματα του έργου OpenOffice.org:

eikona

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

Αυτού του είδους η συνεργασία μπορεί να επιτευχθεί ακόμα και μεταξύ ανταγωνιστικών επιχειρήσεων. Για παράδειγμα, πιθανά προβλήματα ασφαλείας που εντοπίζει κάποιος προμηθευτής διανομής Linux κοινοποιούνται και σε όλους τους διαφορετικούς ανταγωνιστικούς προμηθευτές άλλων διανομών. Για παράδειγμα, ο Michael Cox της RedHat (μιας ευρέως διαδεδομένης διανομής Linux) ανέλυσε τα στατιστικά αποτελέσματα δύο ετών αντιμετώπισης συμβάντων και διαπίστωσε ότι το μεγαλύτερο μέρος των πληροφοριών προερχόταν από άλλους διανομείς ΕΛ/ΛΑΚ [Cox 07].

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

1. Το KDE είναι περιβάλλον επιφάνειας εργασίας χρήστη που αρχικά δημιουργήθηκε ως μια ελεύθερη εναλλακτική λύση του περιβάλλοντος UNIX CDE, ενώ αργότερα ενσωματώθηκαν σε αυτό βιβλιοθήκες, λογισμικό τελικού χρήστη και εκπαιδευτικό υλικό.

 
ellak/το_ελλακ_ως_μοντέλο_ανάπτυξης.txt (62 views) · Τελευταία τροποποίηση: 2014/04/03 17:26
 
Recent changes RSS feed Creative Commons License Donate Valid XHTML 1.0 Valid CSS Driven by DokuWiki