ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΑΝΟΙΚΤΟΥ ΚΩΔΙΚΑ



Σχετικά έγγραφα
Ελεύθερο Λογισμικό. Η αρχή της ιστορίας Κιαγιαδάκης Γιώργος (το labάκι)

Ένωση Ελλήνων Χρηστών και Φίλων ΕΛ/ΛΑΚ

Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας

ΠΡΑΞΗ: «ΜΟ.ΔΙ.Π» (Μονάδα Διασφάλισης Ποιότητας) του Πανεπιστημίου Μακεδονίας» Κωδικός MIS ΥΠΟΕΡΓΟ:

Λειτουργικό Σύστημα Linux ~ Μια σύντομη εισαγωγή

Ηγεσία. 12 ο Κεφάλαιο

ΠΡΑΞΗ: «ΜΟ.ΔΙ.Π» (Μονάδα Διασφάλισης Ποιότητας) του Πανεπιστημίου Μακεδονίας» Κωδικός MIS ΥΠΟΕΡΓΟ:

Από την Διακίνηση της Πληροφορίας ως τα Creative Commons

Παιδαγωγικές Εφαρμογές Η/Υ (Θεωρία) 21/03/2017. Διδάσκουσα: Αδαμαντία Κ. Σπανακά

Οδηγός. Σχολιασμού. Διπλωματικής Εργασίας

Μαλούτα Θεανώ Σελίδα 1

ΕΚΘΕΣΗ ΑΚΑΔΗΜΑΪΚΩΝ ΕΝΔΙΑΦΕΡΟΝΤΩΝ

Τα Διδακτικά Σενάρια και οι Προδιαγραφές τους. του Σταύρου Κοκκαλίδη. Μαθηματικού

1. Εισαγωγή Οι άδειες χρήσης Δικαιώματα Κύριες άδειες χρήσης Δευτερεύουσες άδειες Η διαδικασία

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Τεχνολογίες Κοινωνικής Δικτύωσης στην Εκπαίδευση

Το ελεύθερο λογισμικό στη ζωή μας

Μάθηση & Εξερεύνηση στο περιβάλλον του Μουσείου

ΑΡΗΣ ΑΣΛΑΝΙΔΗΣ Φυσικός, M.Ed. Εκπαιδευτικός-Συγγραφέας

ΟΡΓΑΝΩΣΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ. Κεφάλαιο 1: Εισαγωγή στη Διοίκηση Επιχειρήσεων

συναντήσεις εργασίας εκτέλεση ρόλου διευθυντή σεμινάρια σύνταξη γραπτής εργασίας τελικό σεμινάριο έκθεση αξιολόγηση

2. ΠΙΣΤΟΠΟΙΗΣΗ DQS DIN EN ISO 9001: ΠΙΣΤΟΠΟΙΗΣΗ ISO 9001:2015 & BS ISO 29990:2010

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

Ρετσινάς Σωτήριος ΠΕ 1703 Ηλεκτρολόγων ΑΣΕΤΕΜ

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

Αυστραλιανή Διδακτική Ύλη Ε Ν Η Μ Ε Ρ Ω Τ Ι Κ Ο Φ Υ Λ Λ Α Δ Ι Ο

ΔΙΟΙΚΗΣΗ ΑΝΘΡΩΠΙΝΟΥ ΔΥΝΑΜΙΚΟΥ. Ηγεσία

Δομημένος Προγραμματισμός

ΠΡΟΤΥΠΟ ΓΙΑ ΤΗΝ ΠΙΣΤΟΠΟΙΗΣΗ ΠΟΙΟΤΗΤΑΣ ΤΟΥ ΕΣΩΤΕΡΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΔΙΑΣΦΑΛΙΣΗΣ ΠΟΙΟΤΗΤΑΣ

Ερευνητικό ερώτημα: Η εξέλιξη της τεχνολογίας της φωτογραφίας μέσω διαδοχικών απεικονίσεων της Ακρόπολης.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Σχεδίαση Λογισμικού. Σημείωση

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

Έκδοσης 2005 Π. Κεντερλής

Γεωργικές Εφαρμογές και Εκπαίδευση για την Αειφόρο Αγροτική Ανάπτυξη

ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Μελέτη Καταγραφής Επαγγελματικών Δικαιωμάτων Αποφοίτων Τμήματος Τεχνών Ήχου και Εικόνας Ιονίου Πανεπιστημίου

ΓΕΩΠΟΝΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΜΟΝΑΔΑ ΔΙΑΣΦΑΛΙΣΗΣ ΠΟΙΟΤΗΤΑΣ

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Moodle

Εκπαιδευτική Μονάδα 1.1: Τεχνικές δεξιότητες και προσόντα

DeSqual Ενότητες κατάρτισης 1. Ενδυνάμωση των εξυπηρετούμενων

Βιογραφικό Σημείωμα. Published on career.uop.gr ( Τι είναι το Βιογραφικό Σημείωμα. Η μορφή του Βιογραφικού Σημειώματος

Γεωργική Εκπαίδευση Ενότητα 12

3. Περιγράμματα Μαθημάτων Προγράμματος Σπουδών

Διάταξη Θεματικής Ενότητας ΕΠΑ71Κ / Διαχείριση αλλαγής, σχολική αποτελεσματικότητα και στρατηγικός σχεδιασμός

Εκπαιδευτική Διαδικασία και Μάθηση στο Νηπιαγωγείο Ενότητα 9: Η συνεργατική διδασκαλία & μάθηση

ΕΠΙΜΟΡΦΩΤΙΚΗ ΗΜΕΡΙΔΑ «Η ΑΞΙΟΛΟΓΗΣΗ ΤΟΥ ΜΑΘΗΤΗ ΣΥΜΦΩΝΑ ΜΕ ΤΑ ΝΕΑ ΠΡΟΓΡΑΜΜΑΤΑ ΣΠΟΥΔΩΝ»

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΕΛΛΑΚ Ελεύθερο Λογισμικό Λογισμικό Ανοιχτού Κώδικα. Δρ. Δημήτρης Καβρουδάκης

ΠΡΟΓΡΑΜΜΑ ΓΑΛΛΙΚΩΝ ΣΠΟΥΔΩΝ ΓΑΛ 102 Προφορικός λόγος 6 ΓΑΛ 103 Γραπτός λόγος I 6 ΓΑΛ 170 e-french 6 ΓΑΛ Μάθημα περιορισμένης επιλογής 6

Τμήμα Μηχανικών Πληροφορικής ΤΕ. Επιχειρηματικά Μοντέλα Ανοιχτού Λογισμικού. Άννα Ρήγα (ΑΜ: Τ03134)

ΠΟΛΙΤΙΚΗ ΔΙΑΧΕΙΡΙΣΗΣ ΤΟΥ ΕΡΕΥΝΗΤΙΚΟΥ ΑΠΟΘΕΤΗΡΙΟΥ CRIS (CURRENT RESEARCH INFORMATION SYSTEMS) ΤΟΥ ΤΕΙ ΗΠΕΙΡΟΥ

Διήμερο εκπαιδευτικού επιμόρφωση Μέθοδος project στο νηπιαγωγείο. Έλενα Τζιαμπάζη Νίκη Χ γαβριήλ-σιέκκερη

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

Μπορούμε και χωρίς Πατέντες

Μέρος B: Εισαγωγή στις έννοιες παιδαγωγικής αξιοποίησης των ΤΠΕ με εφαρμογή στη διδακτική της Πληροφορικής Οργάνωση και Σχεδίαση Μαθήματος

Εισαγωγή στην Python. Διάλεξη 0

Εισαγωγή στους Υπολογιστές

Ελεύθερο Ανοικτό Λογισμικό

O7: Πρόγραμμα Κατάρτισης Εκπαιδευτικών O7-A1: Αναπτύσσοντας εργαλεία για το Πρόγραμμα Κατάρτισης Εκπαιδευτικών

Το γεγονός ότι αποτελεί λογισµικό ανοικτού κώδικα το καθιστά αρκετά ευέλικτο σε συνεχείς αλλαγές και βελτιώσεις. Υπάρχει µια πληθώρα χρηστών που το χρ

Η ΑΝΑΠΤΥΞΗ ΤΟΥ ΕΘΝΙΚΟΥ ΠΛΑΙΣΙΟΥ ΠΡΟΣΟΝΤΩΝ ΤΗΣ ΕΛΛΗΝΙΚΗΣ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ

Αναφορά εργασιών για το τρίμηνο Μάρτιος 2013 Μάιος 2013 Όνομα : Παπαχριστόπουλος Λεωνίδας

ΜΑΘΗΜΑ: ΜΑΡΚΕΤΙΝΓΚ ΠΡΟΙΌΝΤΩΝ ΞΥΛΟΥ ΚΑΙ ΕΠΙΠΛΟΥ ΜΑΡΚΕΤΙΝΓΚ

Διοίκηση Ανθρώπινου Δυναμικού. Παίγνια Αποφάσεων 9 ο Εξάμηνο

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

Μαθηση και διαδικασίες γραμματισμού

Γ Γυμνασίου: Οδηγίες Γραπτής Εργασίας και Σεμιναρίων. Επιμέλεια Καραβλίδης Αλέξανδρος. Πίνακας περιεχομένων

Fiche N /File Nr 6: COM-Part - p. 1

Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας

2. ΔΙΑΠΙΣΤΕΥΣΕΙΣ: ΠΙΣΤΟΠΟΙΗΣΗ Ε.ΚΕ.ΠΙΣ. ΠΙΣΤΟΠΟΙΗΣΗ DQS DIN EN ISO 9001:2008

Συγγραφή Τεχνικών Κειμένων

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ ΚΑΙ ΚΑΙΝΟΤΟΜΙΑ

Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων.

Αξιολόγηση του Εκπαιδευτικού Έργου στην Πρωτοβάθμια Εκπαίδευση. Διαδικασία Αυτοαξιολόγησης στη Σχολική Μονάδα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΟΔΗΓΟΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΣΕΜΙΝΑΡΙΟΥ

Η διάρκεια πραγματοποίησης της ανοιχτής εκπαιδευτικής πρακτικής ήταν 2 διδακτικές ώρες

Η ΣΕΙΣΜΙΚΟΤΗΤΑ ΤΗΣ ΕΛΛΑΔΑΣ

Κεφάλαιο 3 ο. Συστήματα πληροφοριών, οργανισμοί, μάνατζμεντ και στρατηγική

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Οργανωσιακός Σχεδιασμός και Ανάπτυξη Ανθρωπίνου Δυναμικού

στo πλαίσιo της Δράσης Ε.Α.Η.Σ.Β.

Ορισμός ιστορική διαδρομή Πληροφοριακή Παιδεία & Βιβλιοθήκες Πληροφορία ηθική των πληροφοριών 9/7/2009 2

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ. Τμήμα Μηχανικών Οικονομίας και Διοίκησης ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ ΓΕ0175 ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ 9

Πολυπολιτισμικότητα και Εκπαίδευση

ΜΟΝΑΔΕΣ ΑΡΙΣΤΕΙΑΣ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ

ΠΡΑΞΗ: «ΜΟ.ΔΙ.Π» (Μονάδα Διασφάλισης Ποιότητας) του Πανεπιστημίου Μακεδονίας» Κωδικός MIS ΥΠΟΕΡΓΟ:

Περιβαλλοντική Εκπαίδευση

Εκπαιδευτικές δράσεις σε προγράμματα πληροφοριακής παιδείας: Ανάπτυξη ψηφιακών μαθημάτων στο σύστημα διαχείρισης μάθησης LAMS

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Σχεδιασμός χωρητικότητας HP NonStop Server

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών

Εκπαιδευτική Μονάδα 8.1: Επαγγελματικοί ρόλοι και προφίλ για την παρακολούθηση και την εποπτεία.


ΜΑΘΗΜΑ 3ο. I. Μάνατζµεντ - Ορισµοί. H Εξέλιξη του Μάνατζµεντ Οι Λειτουργίες του Μάνατζµεντ

Ελληνική Εταιρεία Πιστοποιημένων Απεντομωτών (Ε.Ε.Π.Α.)

ΔΙΔΑΣΚΑΛΙΑ ΤΗΣ ΕΝΝΟΙΑΣ ΤΟΥ ΟΡΙΟΥ ΣΥΝΑΡΤΗΣΗΣ

Ερευνητική Εργασία (Project)

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ Μεταπτυχιακό Δίπλωμα Ειδίκευσης Υπολογιστικά Μαθηματικά και Πληροφορική Τεχνολογίες Πληροφορικής και Εκπαιδευτικό Λογισμικό Διπλωματική Εργασία ΓΡΗΓΟΡΗ Α. ΜΠΙΣΜΠΙΝΙΚΑΚΗ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ ΑΝΟΙΚΤΟΥ ΚΩΔΙΚΑ Επιβλέπων Καθηγητής ΜΩΥΣΗΣ Α. ΜΠΟΥΝΤΟΥΡΙΔΗΣ ΠΑΤΡΑ ΜΑΡΤΙΟΣ 2005 1

ΠΕΡΊΛΗΨΗ Η ανάπτυξη του λογισμικού ανοικτού κώδικα είναι μια καινοτόμος μέθοδος ανάπτυξης λογισμικού και εφαρμογών του, η οποία έχει να επιδείξει αρκετές επιτυχίες τα τελευταία οκτώ με δέκα χρόνια. Έτσι, έχουν διαμορφωθεί διάφορες θεωρίες για να εξηγήσουν την επιτυχία της, κυρίως από τη σκοπιά της οικονομικής επιστήμης και των επιστημών της οργάνωσης και της διοίκησης επιχειρήσεων. Η εργασία αυτή εξετάζει διάφορες πτυχές των ζητημάτων της ανάπτυξης του λογισμικού του ανοικτού κώδικα. Στo Κεφάλαιο 1, εισάγονται κάποιες βασικές έννοιες για το λογισμικό ανοικτού κώδικα και παρουσιάζονται μερικές από τις γνωστότερες άδειες χρήσης του ανοικτού λογισμικού. Ιδιαίτερα, εξετάζουμε τους ορισμούς και τις διαφορές μεταξύ του λογισμικού ανοικτού κώδικα και του ελεύθερου λογισμικού. Επίσης, εστιάζουμε την προσοχή μας στις εξής άδεις χρήσης: δημόσιας κυριότητας (public domain), BSD, καλλιτεχνικής άδειας, GPL και LGPL. Τέλος, δίνουμε μια σύντομη περιγραφή της χρονολογικής εξέλιξης των προσπαθειών ανάπτυξης του λογισμικού ανοικτού κώδικα. Στο Κεφάλαιο 2, αναλύονται τα σημαντικότερα χαρακτηριστικά της οργάνωσης και της ροής εργασίας στα έργα ανοικτού κώδικα. Αυτά αναφέρονται σε κάποια χαρακτηριστικά μεγέθη, στη δομή των έργων, στις διαδικασίες ανάπτυξής τους, στους χρήστες τους (την ομάδα στόχο), στην επικοινωνιακή-πληροφοριακή υποδομή και στην τεκμηρίωση των έργων αυτών. Με βάση αυτά τα χαρακτηριστικά γνωρίσματα, ο σκοπός είναι να μπορεί να περιγραφεί οποιοδήποτε έργο ανοικτού κώδικα και να μπορεί επίσης και να κατηγοριοποιηθεί. Μια τέτοια κατηγοριοποίηση διευκολύνει αφενός την έρευνα, μέσω του ορισμού εννοιών καθολικής ισχύος, και αφετέρου στηρίζει την οργάνωση των ίδιων των έργων, καθώς και την επιλογή τους από την ελεύθερη οικονομία. Στο Κεφάλαιο 3, ακολουθούμε τη δουλειά των Healy & Schussman (2003), οι οποίοι έχουν αναλύσει ένα πολύ μεγάλο δείγμα έργων ανοικτού κώδικα και, έτσι, έχουν εντοπίσει κάποια εντυπωσιακά δομικά χαρακτηριστικά των κοινοτήτων ανάπτυξης λογισμικού ανοικτού κώδικα. Οι Healy & Schussman παρατήρησαν ότι η κατανομή 2

των έργων αυτών για μια σειρά από δείκτες των δραστηριοτήτων, που αναπτύσσονται σε αυτά, είναι εντυπωσιακά ανομοιόμορφη. Εντόπισαν όμως ένα σχετικά μικρό αριθμό έργων, που παρουσιάζουν στοιχεία ισχυρής συνεργατικής δραστηριότητας. Τα έργα αυτά υποτίθεται ότι είναι χαρακτηριστικά για τις τυπικές διαδικασίες ανάπτυξης, που ακολουθούνται για τη διαμόρφωση του ανοικτού κώδικα. Τα συμπεράσματα των Healy & Schussman συμφωνούν με προγενέστερες μικρότερης κλίμακας εμπειρικές έρευνες. Μελετώντας τις διαφορές μεταξύ ενεργών και ανενεργών έργων, οι Healy & Schussman προτείνουν ότι αυτές μπορούν να εξηγηθούν με βάση τα κοινωνικοδομικά χαρακτηριστικά των κοινοτήτων ανάπτυξης των αντίστοιχων έργων, τα οποία έχουν τύχει ελάχιστης προσοχής στην υπάρχουσα βιβλιογραφία. Επιπλέον, όπως θα δούμε, οι Healy & Schussman διαμορφώνουν ορισμένες υποθέσεις εργασίας, μέσω των οποίων να μπορεί να γίνει καλύτερα κατανοητή η οικολογία των έργων ανάπτυξης λογισμικού ανοικτού κώδικα. Στο Κεφάλαιο 4, προσπαθούμε να μελετήσουμε το φαινόμενο του λογισμικού ανοικτού κώδικα κάτω από το πρίσμα των οικονομικών. Πιο συγκεκριμένα, μας απασχολούν οι ρόλοι των συνεργατών στα έργα ανάπτυξης τέτοιου λογισμικού, είτε σαν μεμονωμένα άτομα ή σαν οργανώσεις, και οι σχέσεις τους με τον ευρύτερο δημόσιο τομέα. Ακόμη, κάνουμε μια συζήτηση για τις νέες οικονομικές δυνατότητες, που ανοίγονται από τη χρήση του λογισμικού ανοικτού κώδικα. Έτσι, έχει ενδιαφέρον να δούμε τις επιχειρήσεις από τρεις διαφορετικές γωνίες: σαν χρήστες, σαν συνεργάτες και σαν παροχείς υπηρεσιών για την ανάπτυξη του λογισμικού αυτού. Τέλος, με βάση το έργο BerliOS, συζητάμε κάποια παραδείγματα μακροοικονομικών προοπτικών στην ιδιωτική πρωτοβουλία, τις νέες αγορές και τη Νέα Οικονομία, που μπορούν να προκύψουν από την υιοθέτηση του επιχειρησιακού μοντέλου του λογισμικού ανοικτού κώδικα. Στο Κεφάλαιο 5, ακολουθούμε την ανάλυση του Kelty (2001) για το κατά πόσο μπορεί κανείς να δει το ελεύθερο-δωρεάν λογισμικό σαν ένα κοινωνικό αγαθό παρόμοιο με την επιστήμη. Ιδιαίτερα, ο Kelty εξετάζει κατά πόσον το ελεύθεροδωρεάν λογισμικό είναι όπως η επιστήμη μια οικονομία ανταλλαγής δώρων, η οποία λειτουργεί με το δικό της νόμισμα. Ο βασικός ισχυρισμός του Kelty είναι ότι στην περίπτωση αυτή της οικονομίας του λογισμικού ελεύθερου και ανοικτού κώδικα, το νόμισμα των πληρωμών δεν είναι τίποτε άλλο παρά η φήμη, που αποκτούν 3

οι ατομικοί ή συλλογικοί παράγοντες, οι οποίοι με τη συνεργασία τους συμβάλουν και συνεισφέρουν στην ανάπτυξη του λογισμικού αυτού. Έτσι, ο Kelty εξετάζει τα ζητήματα της φήμης και της αναγνώρισης της συμβολής, αφενός μέσω μιας συνοπτικής θεωρητικής ανασκόπησης της ιστορίας των επιστημών κι αφετέρου με τη σύγκριση τόσο μεταφορικής όσο και πραγματικής των διαφορετικών εννοιών της συναλλαγής και της πνευματικής ιδιοκτησίας, που εμφανίζονται σε διάφορους τομείς της επιστήμης και της οικονομίας. Στο Κεφάλαιο 6, ακολουθώντας τη σχετική εργασία του Edwards (2001a), η ανάπτυξη του λογισμικού ανοικτού κώδικα αντιμετωπίζεται σαν μια διαδικασία, που γίνεται στα πλαίσια μιας επιστημικής κοινότητας. Με τον όρο αυτό, αποδίδεται το γεγονός ότι, σε μια τέτοια κοινότητα, η ανάπτυξη του λογισμικού είναι μία διαδικασία ανοικτής μάθησης, στην οποίαν τα εμπλεκόμενα μέρη, συνεισφέροντας με το προσωπικό έργο τους στην επίτευξη των ομαδικών στόχων, ταυτόχρονα μορφώνονται και μαθαίνουν πολλές χρήσιμες γνώσεις από τη συνεργασία, την αλληλεπίδραση και την αλληλοβοήθεια με τους άλλους συνεργάτες. Ιδιαίτερα, εισάγοντας τις θεωρητικές έννοιες της εγκατεστημένης μάθησης και της νομιμοποιημένης περιφερειακής συμμετοχής, ο Edwards μελετά πώς οι μαθησιακές διαδικασίες αυτές συμβάλουν στη διαμόρφωση του χαρακτήρα μιας επιστημικής κοινότητας, που αναπτύσσει λογισμικό ανοικτού κώδικα. Ο συνδυασμός αυτών των δύο εννοιών φαίνεται να είναι καρποφόρος και ικανός να εξηγήσει μερικές από τις εμπειρικές παρατηρήσεις τέτοιων κοινοτήτων, ρίχνοντας άπλετο φως στα ζητήματα της κατανόησης των κινήτρων, της συμπεριφοράς και της δυναμικής των ομάδων, που εμπλέκονται σε τέτοια έργα. Στο Κεφάλαιο 7, γίνεται μια συζήτηση των επιχειρησιακών προγραμμάτων του Υπουργείου Παιδείας για την πληροφορική στην εκπαίδευση. Το βασικό ερώτημα, που τίθεται, είναι αν τελικά το μάθημα της πληροφορικής,έτσι όπως διδάσκεται, υπηρετεί τον αρχικό στόχο της πολιτικής, με τον οποίο οι υπολογιστές εισέβαλλαν στην εκπαίδευση. Εξετάζονται κάποια προβλήματα, που έχει η χρήση του κλειστούεμπορικού λογισμικού στην εκπαίδευση. Παρατίθενται μια σειρά από πλεονεκτήματα για τη χρήση του λογισμικού ανοικτού κώδικα στην εκπαίδευση, τα οποία του προσδίδουν σαφώς μεγαλύτερη παιδαγωγική αξία. Βεβαίως, σχολιάζονται τα συνήθη επιχειρήματα εναντίον του λογισμικού ανοικτού κώδικα. Στο τέλος, γίνεται μια 4

προσπάθεια να εξαχθούν ορισμένα συμπεράσματα και να διατυπωθούν κάποιες συγκεκριμένες προτάσεις για τις ευεργετικές δυνατότητες, που έχει το λογισμικό αυτό στις εκπαιδευτικές και μαθησιακές διαδικασίες. Στο Κεφάλαιο 8, περιγράφουμε μια σειρά από λογισμικά ανοικτού κώδικα, που ήδη χρησιμοποιούνται ή μπορούν να χρησιμοποιηθούν στην εκπαίδευση. Πρόκειται για λογισμικό σε σχέση με εφαρμογές γραφείου, επεξεργασίας εικόνας και διαφόρων οπτικοποιήσεων (visualizations) π.χ., σχημάτων και γραφικών παραστάσεων εφαρμογών στα μαθηματικά, στη διαχείριση βάσεων δεδομένων, στο Internet κ.λπ. Τέλος, κάνουμε μια σύντομη παρουσίαση των περιεχομένων του έργου KDE- Edutainment, μιας προσπάθειας για την ανάπτυξη λογισμικού ανοικτού κώδικα, που συνδυάζει μάθηση και διασκέδαση. Σαν Παράρτημα, στο Κεφάλαιο 9, δίνουμε έναν κατάλογο χρήσιμων ιστοσελίδων και ιστοτόπων, στους οποίους μπορούν να βρεθούν πολλές περισσότερες πληροφορίες για το λογισμικό ανοικτού κώδικα και τις εφαρμογές του στην εκπαίδευση. 5

Περιεχόμενα 1.ΒΑΣΙΚΈΣ ΈΝΝΟΙΕΣ... 8 1.1ΕΙΣΑΓΩΓΉ...8 1.2ΒΑΣΙΚΈΣ ΈΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΊ... 8 1.2.1Ορισμός Λογισμικού Ανοικτού Κώδικα... 10 1.2.2Ορισμός Ελεύθερου Λογισμικού... 12 1.2.3Διαφορές Λογισμικού Ανοικτού Κώδικα και Ελεύθερου Λογισμικού...12 1.3ΆΔΕΙΕΣ ΧΡΉΣΗΣ... 14 1.3.1Δημόσιας Κυριότητας (Public Domain)... 15 1.3.2BSD... 15 1.3.3Καλλιτεχνική Άδεια...16 1.3.4GPL... 16 1.3.5LGPL...17 1.4ΙΣΤΟΡΊΑ ΕΞΈΛΙΞΗΣ ΤΟΥ ΛΟΓΙΣΜΙΚΟΎ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ...17 2ΧΑΡΑΚΤΗΡΙΣΤΙΚΆ ΤΩΝ ΈΡΓΩΝ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ...20 2.1ΧΑΡΑΚΤΗΡΙΣΤΙΚΆ ΜΕΓΈΘΗ...21 2.1.1Μήκος Κώδικα και Αριθμός Υπευθύνων Ανάπτυξης... 21 2.1.2Υποέργα... 23 2.2ΔΟΜΙΚΆ ΧΑΡΑΚΤΗΡΙΣΤΙΚΆ...25 2.2.1Οργανωτική Δομή...25 2.2.2Οργάνωση της Ροής Εργασίας και Διαδικασία Έκδοσης Κώδικα... 28 2.3ΧΑΡΑΚΤΗΡΙΣΤΙΚΆ ΔΙΑΔΙΚΑΣΙΏΝ ΑΝΆΠΤΥΞΗΣ... 30 2.3.1Στάδιο Ανάπτυξης...31 2.3.2Λειτουργικό Σύστημα...32 2.3.3Γλώσσα Προγραμματισμού...33 2.3.4Βαθμός Δραστηριότητας...34 2.3.5Αριθμοδότηση Έκδοσης...36 2.4ΧΑΡΑΚΤΗΡΙΣΤΙΚΆ ΧΡΗΣΤΏΝ...36 2.4.1Ομάδα Στόχος... 37 2.4.2Διεπαφή Χρήστη... 38 2.4.3Γλώσσα...39 2.4.4Θεματικό Πεδίο... 40 2.5ΥΠΟΔΟΜΉ ΕΠΙΚΟΙΝΩΝΙΏΝ ΚΑΙ ΠΑΡΟΥΣΊΑΣΗΣ... 40 2.5.1Ιστοσελίδες... 41 2.5.2Λίστες Ηλεκτρονικού Ταχυδρομείου και Ομάδες Νέων...42 2.6ΤΕΚΜΗΡΊΩΣΗ... 42 2.6.1Τεκμηρίωση του Προϊόντος...42 2.6.2Τεκμηρίωση Έργου... 43 3ΟΡΓΆΝΩΣΗ ΈΡΓΩΝ ΛΟΓΙΣΜΙΚΟΎ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ...44 3.1ΕΙΣΑΓΩΓΉ...44 3.2Η ΥΠΆΡΧΟΥΣΑ ΘΕΩΡΊΑ ΚΑΙ ΈΡΕΥΝΑ... 47 3.3ΘΕΩΡΊΕΣ ΤΟΥ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ...48 3.4ΤΑ ΥΠΆΡΧΟΝΤΑ ΕΜΠΕΙΡΙΚΆ ΣΤΟΙΧΕΊΑ...53 3.5ΔΕΔΟΜΈΝΑ ΚΑΙ ΜΈΘΟΔΟΙ...54 3.6ΑΠΟΤΕΛΈΣΜΑΤΑ...56 3.7ΣΥΖΉΤΗΣΗ...60 4ΛΟΓΙΣΜΙΚΌ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ ΚΑΙ ΟΙΚΟΝΟΜΊΑ...68 4.1ΣΥΝΕΡΓΆΤΕΣ ΚΑΙ ΡΌΛΟΙ...68 4.1.1Ρόλοι και Κίνητρα Μεμονωμένων Ατόμων... 68 4.1.2Οργανώσεις... 70 4.1.3Δημόσιος Τομέας...70 4.2ΟΙΚΟΝΟΜΙΚΈΣ ΔΥΝΑΤΌΤΗΤΕΣ...71 4.2.1Η Επιχείρηση σαν Χρήστης...73 4.2.2Η Επιχείρηση σαν Συνεργάτης στην Ανάπτυξη... 73 6

4.2.3Η Επιχείρηση σαν Παροχέας Υπηρεσιών...74 4.3ΜΑΚΡΟΟΙΚΟΝΟΜΙΚΉ ΠΡΟΟΠΤΙΚΉ...75 4.4ΈΝΑ ΠΑΡΆΔΕΙΓΜΑ: ΤΟ ΈΡΓΟ BERLIOS... 75 5Η ΦΉΜΗ ΣΑΝ ΚΊΝΗΤΡΟ ΑΝΆΠΤΥΞΗΣ ΈΡΓΩΝ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ...77 5.1ΕΙΣΑΓΩΓΉ...77 5.2ΣΑΝ ΤΗΝ ΕΠΙΣΤΉΜΗ...78 5.3ΦΉΜΗ ΚΑΙ ΑΝΑΓΝΏΡΙΣΗ ΣΥΜΒΟΛΉΣ ΣΤΗΝ ΕΠΙΣΤΉΜΗ... 81 5.4ΒΙΒΛΙΟΓΡΑΦΙΚΈΣ ΠΑΡΑΠΟΜΠΈΣ ΚΑΙ ΦΉΜΗ... 87 5.5ΣΥΜΠΕΡΆΣΜΑΤΑ ΓΙΑ ΤΗ ΦΉΜΗ...92 6 ΚΟΙΝΌΤΗΤΕΣ ΚΑΙ ΜΆΘΗΣΗ ΣΤΑ ΈΡΓΑ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ...97 6.1ΕΠΙΣΤΗΜΙΚΈΣ ΚΟΙΝΌΤΗΤΕΣ... 97 6.2ΕΓΚΑΤΕΣΤΗΜΈΝΗ ΜΆΘΗΣΗ...114 6.3ΣΥΜΠΕΡΆΣΜΑΤΑ... 120 7ΛΟΓΙΣΜΙΚΌ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ ΚΑΙ ΕΚΠΑΊΔΕΥΣΗ... 122 7.1 ΕΙΣΑΓΩΓΉ...122 7.2ΕΠΙΧΕΙΡΗΣΙΑΚΆ ΠΡΟΓΡΆΜΜΑΤΑ ΓΙΑ ΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΣΤΗΝ ΕΚΠΑΊΔΕΥΣΗ...123 7.3ΠΛΗΡΟΦΟΡΙΚΉ ΣΤΗΝ ΠΡΩΤΟΒΆΘΜΙΑ ΚΑΙ ΔΕΥΤΕΡΟΒΆΘΜΙΑ ΕΚΠΑΊΔΕΥΣΗ... 125 7.4ΤΟ ΠΡΌΒΛΗΜΑ ΜΕ ΤΟ ΕΜΠΟΡΙΚΌ ΛΟΓΙΣΜΙΚΌ ΣΤΗΝ ΕΚΠΑΊΔΕΥΣΗ... 128 7.5ΠΛΕΟΝΕΚΤΉΜΑΤΑ ΤΟΥ ΛΟΓΙΣΜΙΚΟΎ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ... 132 7.6ΕΠΙΧΕΙΡΉΜΑΤΑ ΕΝΑΝΤΊΟΝ ΤΟΥ ΛΟΓΙΣΜΙΚΟΎ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ...140 7.7ΠΡΟΤΆΣΕΙΣ ΓΙΑ ΤΗΝ ΕΚΠΑΊΔΕΥΣΗ...145 8ΠΑΡΑΔΕΊΓΜΑΤΑ ΛΟΓΙΣΜΙΚΟΎ ΑΝΟΙΚΤΟΎ ΚΏΔΙΚΑ ΓΙΑ ΤΗΝ ΕΚΠΑΊΔΕΥΣΗ... 150 8.1ΕΙΣΑΓΩΓΉ...150 8.2ΕΦΑΡΜΟΓΈΣ ΓΡΑΦΕΊΟΥ...150 8.3ΕΙΚΌΝΕΣ, ΣΧΉΜΑΤΑ ΚΑΙ ΓΡΑΦΙΚΈΣ ΠΑΡΑΣΤΆΣΕΙΣ...155 8.4ΜΑΘΗΜΑΤΙΚΌ ΛΟΓΙΣΜΙΚΌ... 158 8.5ΛΟΓΙΣΜΙΚΌ ΔΙΑΧΕΊΡΙΣΗΣ ΒΆΣΕΩΝ ΔΕΔΟΜΈΝΩΝ... 162 8.6ΕΦΑΡΜΟΓΈΣ ΓΙΑ ΤΟ INTERNET...165 8.7ΤΟ ΈΡΓΟ KDE-EDUTAINMENT... 167 9ΚΑΤΆΛΟΓΟΣ ΣΧΕΤΙΚΏΝ ΙΣΤΌΤΟΠΩΝ... 176 10ΣΧΌΛΙΑ...178 11ΒΙΒΛΙΟΓΡΑΦΊΑ...184 1 7

1. Βασικές Έννοιες 1.1 Εισαγωγή Έχοντας πλέον ξεπεράσει κατά πολύ τα πανεπιστημιακά και ακαδημαϊκά σύνορα, το ελεύθερο λογισμικό είναι σήμερα ένας οικονομικός παράγοντας ο οποίος δεν πρέπει να υποτιμάται (Sieckmann, 2001, Κεφ. 1.1). Όπως υποδηλώνει το παραπάνω απόσπασμα του Sieckmann, ο ρόλος του ελεύθερου λογισμικού (αλλά και του λογισμικού ανοικτού κώδικα) στην οικονομία γίνεται όλο και πιο σημαντικός, ανεξάρτητα από το αν κάποιος είναι χρήστης ή υπεύθυνος ανάπτυξής του. Με αυτό, δημιουργείται ένας καινούργιος πόρος, τον οποίο πρέπει να εκμεταλλεύεται κανείς όσο το δυνατόν αποτελεσματικότερα με βάση τις αρχές της οικονομίας. Από αυτές τις σκέψεις μπορούν να προκύψουν ερωτήματα για το πώς, που, πότε και από ποιον μπορεί να χρησιμοποιηθεί αυτός ο πόρος και αν μπορεί να έχει κάποια χρησιμότητα. Στην πράξη, διαπιστώνουμε ότι στο Internet διατηρείται ένα ευρύ σύνολο από έργα ανοικτού κώδικα, όπως χαρακτηριστικά μπορεί κανείς να δει στην πύλη ανάπτυξης έργων ανοικτού κώδικα SourceForge.net (SourceForge.net, 2003f). Μέσω αυτού του συστήματος ή και μέσω κάποιων άλλων παρόμοιων συστημάτων εργάζεται ένας μεγάλος αριθμός υπευθύνων ανάπτυξης λογισμικού σε έργα που αφορούν όλους σχεδόν τους τομείς του λογισμικού. 1.2 Βασικές Έννοιες και Ορισμοί Αυτό το κεφάλαιο θα αποτελέσει μια γενική επισκόπηση των κυριοτέρων εννοιών, αδειών χρήσης και μια σύντομη περίληψη μερικών από τα σπουδαιότερα γεγονότα στην ιστορία της εξέλιξης του ανοικτού κώδικα. Το λογισμικό ανοικτού κώδικα είναι ένα λογισμικό όπως όλα τα άλλα: Μια ακολουθία εντολών που ερμηνεύονται από έναν υπολογιστή, ο οποίος εκτελεί τις ανάλογες ενέργειες. Το λογισμικό υπάρχει σε ποικίλες μορφές και μεγέθη κι είναι 8

κατασκευασμένο για να λύνει διαφορετικά προβλήματα. Δεν υπάρχει κανένα λογισμικό, που καλύπτει όλους τους τομείς των χρήσεων, αλλά συνέχεια αναπτύσσεται ακόμα περισσότερο λογισμικό, λόγω του ότι οι υπολογιστές είναι μέρος σχεδόν κάθε εργασιακής λειτουργίας. Τα περισσότερα λογισμικά λύνουν κάποια συγκεκριμένα προβλήματα. Π.χ., το λογισμικό επεξεργασίας κειμένου λύνει το πρόβλημα της γραφής με τη μορφοποίηση του κειμένου και τα προγράμματα του ηλεκτρονικού ταχυδρομείου είναι ένα είδους λογισμικού για την αποστολή και λήψη μηνυμάτων ηλεκτρονικού ταχυδρομείου κ.ο.κ. Το λογισμικό βοηθά τους ανθρώπους να κάνουν διάφορα πράγματα, μερικά από τα οποία μπορούν να επιτευχθούν μόνο μέσω του υπολογιστή, που είναι εξοπλισμένος με το κατάλληλο λογισμικό. Έτσι, κάποια πράγματα γίνονται ευκολότερα και γρηγορότερα, ούτως ώστε να προκύπτει ένα κέρδος παραγωγικότητας. Λαμβάνοντας υπόψη τον αυξανόμενο αριθμό υπολογιστών στην κοινωνία, δεν μας δημιουργεί καμία έκπληξη το γεγονός ότι το λογισμικό θεωρείται αγαθό, που συχνά είναι και ελκυστικό και απαραίτητο. Το λογισμικό ανοικτού κώδικα (Open Source Software, που συχνά θα αναφέρεται με τα αρχικά στα αγγλικά OSS) είναι λογισμικό υπολογιστών, μαζί με το οποίο χορηγείται μια άδεια χρήσης, που είναι πολύ διαφορετική από τις άδειες του εμπορικού λογισμικού, όπως του Office Suite της Microsoft ή του λειτουργικού συστήματος Windows. Η άδεια χρήσης είναι μια νομική συμφωνία μεταξύ του χρήστη και του παραγωγού. Η άδεια αυτή καθορίζει τους όρους χρήσης, τους οποίους πρέπει να αποδεχτεί ο χρήστης, για να του επιτραπεί να χρησιμοποιήσει το λογισμικό. Τυπικά οι εμπορικές επιχειρήσεις βασίζονται σε πολύ αυστηρά σχήματα αδειών, τα οποία δίνουν στο χρήστη μόνο ένα ελάχιστο τμήμα δικαιωμάτων. Οι εμπορικές άδειες δεν επιτρέπουν στους χρήστες να αντιγράφουν ή τροποποιούν το λογισμικό με κανένα τρόπο. Επιτρέπεται στους χρήστες μόνο να χρησιμοποιούν το λογισμικό. Το γεγονός αυτό στηρίζεται σε μια λογική, που είναι κατανοητή από οικονομικής πλευράς, διότι η αντιγραφή θα μείωνε την πώληση και οι τροποποιήσεις θα συνεπαγόταν ένα είδος αντιστροφής της διαδικασίας παραγωγής, το οποίο θα μείωνε τα ανταγωνιστικά πλεονεκτήματα της επιχείρησης πώλησης του λογισμικού. Οι εμπορικές επιχειρήσεις ποτέ δεν δημοσιοποιούν τον πηγαίο κώδικα για το λογισμικό τους. Ο πηγαίος κώδικας του λογισμικού είναι οι κατανοητές από τον άνθρωπο οδηγίες του λογισμικού, προτού αυτό μεταφραστεί σε κάτι αναγνώσιμο από τον υπολογιστή (ένα δυαδικό αρχείο). Αν δινόταν ο πηγαίος κώδικας, τότε κάθε έμπειρος 9

προγραμματιστής θα ήταν σε θέση να καταλάβει πώς είχε κατασκευαστεί το λογισμικό και θα μπορούσε να κάνει τις επιθυμητές τροποποιήσεις. Οι εταιρίες θεωρούν τον πηγαίο κώδικα επιχειρησιακό μυστικό, αφού όλες οι σχετικές προσπάθειες ανάπτυξης του λογισμικού απεικονίζονται στον πηγαίο κώδικα. Ο πηγαίος κώδικας για το λογισμικό μπορεί να συγκριθεί με το τεχνικό σχέδιο μιας κατασκευής. Για να χρησιμοποιηθεί το λογισμικό, ο πηγαίος κώδικας πρέπει να μεταγλωττιστεί. Όταν ο πηγαίος κώδικας μεταγλωττίζεται, ένα ειδικό πρόγραμμα (ο μεταγλωττιστής) μεταφράζει τον κατανοητό από τον άνθρωπο πηγαίο κώδικα σε κώδικα αναγνώσιμο από τη μηχανή, που ο υπολογιστής μπορεί να καταλάβει. Στις επόμενες παραγράφους, θα οριστούν σημαντικές βασικές έννοιες, οι οποίες θα αναλυθούν περισσότερο στη συνέχεια της εργασίας. Οι ορισμοί που θα ακολουθήσουν ορίζουν πότε ένα πρόγραμμα χαρακτηρίζεται σαν λογισμικό ανοικτού κώδικα και πότε σαν ελεύθερο λογισμικό. 1.2.1 Ορισμός Λογισμικού Ανοικτού Κώδικα Ο Bruce Perens, μέλος του έργου Debian, διατύπωσε τις βασικές αρχές του ορισμού του ανοικτού κώδικα στους κανονισμούς Debian για το ελεύθερο λογισμικό (Debian Project, 2003e). Αφού απαλλάχτηκαν από τις ειδικότερες διατυπώσεις που αφορούσαν το έργο Debian, οι αρχές αυτές χρησιμοποιήθηκαν από την Πρωτοβουλία Ανοικτού Κώδικα (Open Source Initiative ή σε συντομογραφία OSI) για τη διαμόρφωση της έκδοσης 1.0 του ορισμού του ανοικτού κώδικα 1 (Open Source Initiative, 2003c). Ο ορισμός του ανοικτού κώδικα στην έκδοση 1.9 αναφέρει τις εξής δέκα προϋποθέσεις, για να μπορεί ένα λογισμικό να ονομάζεται λογισμικό ανοικτού κώδικα: 1. Ελεύθερη διανομή: Η άδεια χρήσης δεν επιτρέπεται να περιορίζει τη διανομή (δωρεά ή πώληση) του λογισμικού σε πακέτα προγραμμάτων, που προέρχονται από διαφορετικές πηγές το καθένα. Για τη διανομή δεν επιτρέπεται να απαιτηθούν δασμοί. 10

2. Πηγαίος κώδικας: Η διανομή του λογισμικού πρέπει να επιτρέπεται τόσο στη μορφή του πηγαίου κώδικα όσο και σε μεταγλωττισμένη μορφή. Εάν ο πηγαίος κώδικας δεν συμπεριλαμβάνεται στη διανομή, τότε πρέπει να υπάρχει η δυνατότητα να τον αποκτήσει κανείς δωρεάν (π.χ., μέσω του Internet) ή με δικά του έξοδα. Ο πηγαίος κώδικας δεν επιτρέπεται να έχει γραφεί με ακατανόητο τρόπο ή να βρίσκεται σε κάποια ενδιάμεση μορφή (π.χ., προμεταγλωττισμένος). 3. Παραγόμενο λογισμικό: Αλλαγές και παράγωγα πρέπει να επιτρέπονται. Αυτά θα πρέπει να μπορούν να δημοσιοποιούνται με την ίδια άδεια χρήσης. 4. Ακεραιότητα του πηγαίου κώδικα του συγγραφέα: Η επαναδιανομή του τροποποιημένου πηγαίου κώδικα επιτρέπεται μόνο με τον περιορισμό ότι η άδεια χρήσης προβλέπει τη χρησιμοποίηση των επονομαζόμενων patches 2. Η άδεια χρήσης επιτρέπεται να προστατεύει το όνομα του προγράμματος και να επιτρέπει τη διανομή του τροποποιημένου πηγαίου κώδικα μόνο κάτω από διαφορετικό όνομα. 5. Καμία διάκριση σε βάρος ατόμων ή ομάδων: Η άδεια χρήσης δεν επιτρέπεται να βλάπτει κάποιο άτομο ή κάποια ομάδα ατόμων. 6. Κανένας περιορισμός ως προς το πεδίο εφαρμογής: Το πεδίο εφαρμογής του λογισμικού δεν επιτρέπεται να περιορίζεται από την άδεια χρήσης. 7. Επαναδιανομή της άδειας χρήσης: Τα δικαιώματα που αποκτούνται πρέπει να περιέρχονται σε όλα τα άτομα που αποκτούν το λογισμικό, χωρίς αυτά να χρειάζεται να εφοδιαστούν με επιπρόσθετη άδεια χρήσης. 8. Η άδεια χρήσης δεν επιτρέπεται να περιορίζεται σε ένα ορισμένο πακέτο λογισμικού: Τα δικαιώματα που αποκτούνται από ένα πρόγραμμα δεν πρέπει να εξαρτούνται από το αν το πρόγραμμα είναι μέρος ενός πακέτου λογισμικού. Αν το πρόγραμμα αφαιρεθεί από το πακέτο τότε αυτό σαν επακόλουθο δεν πρέπει να έχει τον περιορισμό των δικαιωμάτων. 9. Η άδεια χρήσης δεν επιτρέπεται να εμποδίζει τη συνδιανομή του λογισμικού μαζί με άλλα λογισμικά: Η άδεια χρήσης δεν πρέπει να περιορίζει τη διανομή του λογισμικού μαζί με άλλα προγράμματα (π.χ., να μην αναγκάζει τα άλλα προγράμματα να είναι ανοικτού κώδικα). 10. Η άδεια χρήσης πρέπει να είναι ουδέτερη τεχνολογίας: Κανένας όρος της άδειας χρήσης δεν πρέπει να βασίζεται σε μια ορισμένη τεχνολογία, τρόπο ή διεπαφή. 11

Κάθε άδεια χρήσης που υποβάλλεται στην Πρωτοβουλία Ανοικτού Κώδικα εξετάζεται αν είναι σύμφωνη με τον ορισμό του ανοικτού κώδικα. Αν η άδεια χρήσης συμφωνεί με τον ορισμό, τότε γίνεται δεκτή στον κατάλογο των επονομαζόμενων αδειών χρήσης που είναι πιστοποιημένες από την OSI (Open Source Initiative, 2003d). 1.2.2 Ορισμός Ελεύθερου Λογισμικού Η έκφραση ελεύθερο λογισμικό συχνά εξισώνεται με αυτήν του ανοικτού λογισμικού. O ορισμός αυτής της έννοιας πηγάζει από το έργο GNU και βασίζεται πάνω σε τέσσερα είδη ελευθερίας (GNU Project, 2003a), τα οποία πρέπει να χορηγούνται σε κάθε χρήστη του λογισμικού: Ελευθερία 0: Η ελευθερία να χρησιμοποιεί κανείς το πρόγραμμα για οποιοδήποτε σκοπό Ελευθερία 1: Η ελευθερία να κατανοεί κανείς πώς λειτουργεί το πρόγραμμα και πώς μπορεί να το προσαρμόσει στις δικές του απαιτήσεις. Η πρόσβαση στο πηγαίο κώδικα είναι για την απόκτηση αυτής της ελευθερίας βασική προϋπόθεση. Ελευθερία 2: Η ελευθερία να διανέμει κανείς αντίγραφα με στόχο να βοηθήσει τους συνάνθρώπους του. Ελευθερία 3: Η ελευθερία να βελτιώνει κανείς το πρόγραμμα και να δημοσιοποιεί τις βελτιώσεις έτσι ώστε να ωφελείται ολόκληρη η κοινότητα από αυτές. Η πρόσβαση στο πηγαίο κώδικα είναι για την απόκτηση αυτής της ελευθερίας βασική προϋπόθεση. 1.2.3 Διαφορές Λογισμικού Ανοικτού Κώδικα και Ελεύθερου Λογισμικού To λογισμικό ανοικτού κώδικα εκ πρώτης όψεως δεν φαίνεται να διαφέρει από το ελεύθερο λογισμικό. Μόνο αν εξετάσουμε τους ορισμούς τους με την αυστηρή τους σημασία, όπως αυτοί έχουν διατυπωθεί από την Πρωτοβουλία Ανοικτού Κώδικα (Open Source Initiative ή OSI) και το Ίδρυμα Ελεύθερου Λογισμικού (Free Software 12

Foundation ή FSF), αντίστοιχα, διαπιστώνουμε ότι στην πραγματικότητα πρόκειται για διαφορετικά πράγματα (σύμφωνα με το άρθρο της Γερμανικής Wikipedia, http://de. wikipedia. org/ wiki/ Open_Source# Open_ Source_und_Freie_Software). Η απόφαση να χρησιμοποιηθεί ο όρος του ανοικτού κώδικα, που είχε προταθεί από το Ινστιτούτο Christine Peterson Foresight, δικαιολογείται από το γεγονός ότι η λέξη free στα αγγλικά έχει δυο έννοιες ( ελεύθερος και δωρεάν ). Το Ίδρυμα FSF κατανοεί τη λέξη με την έννοια της ελευθερίας ( free speech, not free beer, δηλαδή, ελεύθερος λόγος, όχι δωρεάν μπύρα ), παρότι η λέξη αυτή συχνά συσχετίζεται με την έννοια του δωρεάν. Το πρόβλημα οξύνεται περισσότερο από το γεγονός ότι το ελεύθερο λογισμικό στις περισσότερες περιπτώσεις είναι όντως δωρεάν. Κάποτε υπήρχε η ελπίδα ότι χρησιμοποιώντας το χαρακτηρισμό του ανοικτού κώδικα θα διαλυόταν αυτή η σύγχυση και θα γινόταν ευκολότερη η εμπορευματοποίηση του λογισμικού ανοικτού κώδικα από οικονομικούς παράγοντες. Αμέσως μετά την εισαγωγή του νέου όρου (ανοικτού κώδικα), το FSF άσκησε κριτική στο κίνημα του ανοικτού κώδικα, κατηγορώντας το ότι επέφερε νέα σύγχυση, διότι οι στόχοι του δεν ακολουθούσαν κοινωνικά και ηθικά κριτήρια, αλλά ήταν καθαρά τεχνικής φύσεως. Επίσης, κατηγόρησε το κίνημα ότι δεν ήθελε οπωσδήποτε να προστατεύσει το ελεύθερο λογισμικό από τη μελλοντική εκμετάλλευση των κερδοσκόπων, οι οποίοι θα μπορούσαν να μετέτρεπαν τις ελεύθερες άδειες χρήσης σε μη ελεύθερες (π.χ., σχετικά με την άδεια χρήσης BSD). Πάνω απ όλα όμως, το FSF κατηγορούσε το κίνημα ανοικτού κώδικα για το γεγονός ότι έδινε έμφαση στην ελευθερία εξέτασης του πηγαίου κώδικα, όχι όμως και στην απεριόριστη ελευθερία επαναδιανομής και τροποποίησής του. Για παράδειγμα, για το πρόγραμμα κρυπτογραφίας PGP (Pretty Good Privacy), που είναι λογισμικό ανοικτού κώδικα, απαγορεύεται για την τελευταία έκδοσή του η επαναδιανομή και τροποποίηση του πηγαίου κώδικα. Ο ορισμός του ελεύθερου λογισμικού είναι, επομένως, περισσότερο περιοριστικός από τον ορισμό του ανοικτού κώδικα. Με άλλα λόγια, ενώ το ελεύθερο λογισμικό 13

είναι λογισμικό ανοικτού κώδικα, το λογισμικό ανοικτού κώδικα δεν είναι οπωσδήποτε ελεύθερο. Στην καθημερινή πρακτική όμως, αυτοί οι δύο όροι χρησιμοποιούνται σαν συνώνυμα, κάτι που θα κάνουμε κι εμείς συχνά στη συνέχεια της εργασίας αυτής. 1.3 Άδειες Χρήσης Οι ορισμοί που παρουσιάστηκαν στην παράγραφο 1.2 ασκούν μια σχετικά μεγάλη επιρροή στη μορφοποίηση των αδειών χρήσης λογισμικού. Όλες οι άδειες χρήσης έχουν μερικά κοινά χαρακτηριστικά. Σε αυτά τα χαρακτηριστικά ανήκει το γεγονός ότι κάθε άδεια χρήσης αποκλείει οποιοδήποτε είδος εγγύησης για το λογισμικό (Open Source Initiative, 2003d). Oι Lerner & Tirole διεξήγαγαν το 2002 μια έρευνα για τις άδειες χρήσης 38610 έργων του SourceForge 3 (Lerner & Tirole, 2002). Στα αποτελέσματα της έρευνας μπορεί κανείς να διαβάσει ποιοι ήταν οι πέντε συχνότεροι τύποι άδειας χρήσης. Αυτοί αναφέρονται συνοπτικά στον Πίνακα 1. Αυτές τις άδειες χρήσης είναι όλες πιστοποιημένες από την OSI εκτός από τις άδειες της Δημόσιας Κυριότητας (Public Domain) (δείτε 2.1.1). Μια λίστα όλων των πιστοποιημένων αδειών χρήσης από το OSI υπάρχει στις ιστοσελίδες της Πρωτοβουλίας Ανοικτού Κώδικα (Open Source Initiative, 2003d). Τύπος άδειας χρήσης Παρατηρήσεις Ενεργά έργα GPL 18.133 5.801 LGPL 2.501 1.047 BSD License 1.708 618 Public Domain 820 244 Artistic License 736 223 Πίνακας 1: Οι πέντε συχνότεροι τύποι άδειας χρήσης στο SourceForge (Lerner & Tirole, 2002). Οι Lerner και Tirole διαπίστωσαν την ύπαρξη δυο κρίσιμων χαρακτηριστικών γνωρισμάτων στις άδειες χρήσης ανοικτού λογισμικού (Lerner & Tirole, 2002, σελ. 2): 14

Όταν η άδεια χρήσης απαιτεί, μαζί με τις τροποποιημένες εκδόσεις να δημοσιοποιείται πάντα και ο πηγαίος κώδικας, τότε χαρακτηρίζεται σαν περιοριστική. Αυτός ο όρος είναι γνωστός και σαν Copyleft. Όταν η άδεια χρήσης απαγορεύει να περιλαμβάνονται τμήματα του πηγαίου κώδικα σε άλλα προγράμματα αν δεν περιέρχονται αυτά τα προγράμματα αναγκαστικά στον ίδιο τύπο άδειας χρήσης, τότε χαρακτηρίζεται σαν αυστηρά περιοριστική Με βάση αυτά τα δυο χαρακτηριστικά γνωρίσματα οι άδειες χρήσης χωρίζονται σε τρεις κατηγορίες (Lerner & Tirole, 2002, σελ. 3): Μη περιοριστικές (π.χ., BSD, δείτε 2.2.2). Περιοριστικές (π.χ., LGPL, δείτε 2.2.5). Αυστηρά περιοριστικές (π.χ., GPL, δείτε 2.2.4). Στις επόμενες παραγράφους θα παρουσιαστούν συνοπτικά οι πέντε συχνότεροι τύποι αδειών χρήσης λογισμικού, τις οποίες κατέγραψαν οι Lerner & Tirole. 1.3.1 Δημόσιας Κυριότητας (Public Domain) Η άδεια χρήσης Δημόσιας Κυριότητας (Public Domain) είναι η ασθενέστερη μορφή άδειας χρήσης και δεν πιστοποιήθηκε από την Πρωτοβουλία Ανοικτού Κώδικα (δείτε 1.2.1). Επειδή δεν υπάρχουν καθόλου συγγραφικά δικαιώματα ή περιορισμοί επαναδιανομής ή χρήσης του λογισμικού, μπορεί να αμφισβητηθεί αν η άδεια χρήσης Δημόσιας Κυριότητας μπορεί να χαρακτηριστεί σαν άδεια χρήσης (Rosen, 2002). 1.3.2 BSD Το λογισμικό το οποίο ανήκει στον τύπο του BSD (Open Source Initiative, 2003b) μπορεί βασικά να χρησιμοποιείται απεριόριστα. Ο κώδικας μπορεί να συμπεριληφθεί σε εμπορικά προϊόντα και δεν υπάρχει υποχρέωση επαναδιανομής του πηγαίου 15

κώδικα (Grassmuck, 2002, σελ. 279-281). Μόνο μια υπενθύμιση των πνευματικών δικαιωμάτων των (αρχικών) υπευθύνων ανάπτυξης και η αναφορά του πανεπιστημίου του Berkeley (μόνο στην αυθεντική άδεια χρήσης του BSD) πρέπει να υπάρχει στις διανομές τόσο του μεταγλωττισμένου όσο και του πηγαίου κώδικα όπως και μέσα στα προγράμματα, στα οποία συμπεριλήφθηκαν τμήματα του λογισμικού. Αυτές οι υπενθυμίσεις πρέπει να υπάρχουν ακόμα και σε περιπτώσεις διαφήμισης. Ανάλογα με την παραλλαγή της άδειας χρήσης του BSD μπορούν να παραληφθούν μερικοί από τους περιορισμούς. Έργα τα οποία έχουν αναπτυχθεί βάσει μιας άδειας χρήσης του τύπου BSD είναι, για παράδειγμα, τα εξής: FreeBSD, Apache (Apache Software Foundation, 2003a), PostgreSQL (PostgreSQL Global Development Group, 2002). 1.3.3 Καλλιτεχνική Άδεια Η βασική ιδέα της Καλλιτεχνικής Άδειας (Artistic License) είναι, ότι παρέχει στον συγγραφέα ένα είδος καλλιτεχνικού ελέγχου της ανάπτυξης του λογισμικού (Sieckmann, 2001, Κεφ. 4.2.4). Οι χρήστες μπορούν να χρησιμοποιούν και να αναπαραγάγουν το λογισμικό απεριόριστα. Οι συγγραφείς συνεχίζουν να διατηρούν το δικαίωμα να αποφασίζουν για την συνέχιση της ανάπτυξης. Ένα υπόδειγμα μιας Καλλιτεχνικής Άδειας υπάρχει στην ιστοσελίδα της Πρωτοβουλίας Ανοικτού Κώδικα (Open Source Initiative, 2003a). Ένα από τα γνωστότερα έργα αυτού του τύπου άδειας είναι η γλώσσα προγραμματισμού Perl (perl.com, 1997). 1.3.4 GPL Η άδεια χρήσης GPL (τα αρχικά του General Public License, Γενική Δημόσια Άδεια), η οποία διατυπώθηκε για πρώτη φορά στο έργο GNU από το Ίδρυμα του Ελεύθερου Λογισμικού (Free Software Foundation), ανήκει στην τάξη των αυστηρά περιοριστικών αδειών χρήσης. Ίσως να είναι η πιο διαδεδομένη άδεια χρήσης ανοικτού κώδικα (δείτε Πίνακα 1). Όπως και στις άλλες άδειες χρήσης, που παρουσιάστηκαν ήδη εδώ, υπάρχει υποχρέωση δημοσιοποίησης του πηγαίου κώδικα και το λογισμικό μπορεί να χρησιμοποιείται ελεύθερα, να επαναδιανέμεται και να τροποποιείται. Οι ειδικοί κανονισμοί της άδειας χρήσης GPL χαρακτηρίζονται συχνά 16

και αυτοί σαν Copyleft. Αυτοί απαιτούν, το λογισμικό το οποίο περιλαμβάνει τμήματα που ανήκουν στην GPL να θεωρείται σαν παραγόμενο έργο και να κληρονομεί τους ίδιους κανονισμούς (Grassmuck, 2002, σελ. 281-286). Σε συνδυασμούς λογισμικού ανοικτού κώδικα και ιδιόκτητου λογισμικού αυτός ο όρος αποτελεί βασικά ένα άλυτο πρόβλημα. Ένα πολύ γνωστό παράδειγμα λογισμικού του τύπου GPL είναι το λειτουργικό σύστημα Linux. 1.3.5 LGPL Ο συντάκτης της άδειας χρήσης LGPL (τα αρχικά του Lesser Public License, Λιγότερο Δημόσιας Άδειας) είναι ακριβώς όπως και για το GPL το έργο GNU. Αυτή η άδεια χρήσης είναι με ελάχιστες διαφορές όμοια με την GPL. Αναπτύχθηκε κυρίως για βιβλιοθήκες συναρτήσεων ή / και αντικειμένων. Τα προγράμματα τα οποία χρησιμοποιούν αυτές τις βιβλιοθήκες, δεν θεωρούνται παραγόμενα έργα και δεν υπόκεινται στους περιορισμούς του Copyleft. Αυτό δεν ισχύει όμως για αλλαγές στην ίδια την βιβλιοθήκη. Αυτές πρέπει επίσης να δημοσιοποιηθούν με τους περιορισμούς της LGPL (Grassmuck, 2002, σελ. 289-293). 1.4 Ιστορία Εξέλιξης του Λογισμικού Ανοικτού Κώδικα Η προϊστορία του λογισμικού ανοικτού κώδικα περιέχει όλες τις φάσεις της ανάπτυξης που σχετίζεται με το λειτουργικό σύστημα UNIX (Salus, 1994), τους διαδόχους του ή / και τα παράγωγά του, την γρήγορη εξάπλωση του Internet και τη νεοσυσταθείσα κουλτούρα των hackers (Raymond, 2001). Ιστορικά, το λογισμικό ανοικτού κώδικα έχει υπάρξει από την πρώτη περίοδο της πληροφορικής ως λογισμικό κοινής χρήσης. Στην πρώτη περίοδο του προγραμματισμού στο MIT, οι σπουδαστές και τα μέλη της λέσχης των σιδηροδρομικών μοντέλων (Levy, 1984) μοιράζονταν το λογισμικό τους. Υπήρχε μια κοινή αντίληψη ότι μπορεί να μάθει ο ένας από τον άλλον και να επεξεργάζεται ο ένας το λογισμικό του άλλου. Στις αρχές της δεκαετίας του 1970, όταν το λειτουργικό σύστημα Unix γεννιόταν στην AT&T, τα πανεπιστήμια είχαν την άδεια να το 17

χρησιμοποιούν ελεύθερα. Ο πηγαίος κώδικας ήταν δωρεάν και τα πανεπιστήμια επέστρεφαν τις συνεισφορές τους στην AT&T (για μια σε βάθος περιγραφή των πρώτων ημερών του Unix, δείτε Salus, 1994, και Edwards, 2000b). Μερικά από τα σημαντικά ορόσημα (Working Group on Libre Software, 2000, Appendix C) ήσαν η ίδρυση του έργου GNU από τον Richard Stallman το 1984, η ίδρυση του Ιδρύματος Ελεύθερου Λογισμικού (Free Software Foundation) το 1985 και οι αρχές των ελεύθερων λειτουργικών συστημάτων BSD, όπως και του Linux, το 1991. Μια περίληψη βρίσκεται στον Πίνακα 2. Στο Μανιφέστο του GNU (GNU Project, 1985, 1993) παρουσιάζεται ένα νέο είδος ανάπτυξης λογισμικού, το οποίο δημιουργείται με την μορφή κοινών έργων μεταξύ των υπεύθυνων ανάπτυξης και των (ενεργών) χρηστών και περιέχει όχι μόνο ελεύθερη χρήση και αναπαραγωγή, αλλά και κώδικα που είναι δημόσια προσβάσιμος. Οι εκάστοτε χρήστες μπορούν να επηρεάσουν από μόνοι τους την ανάπτυξη του λογισμικού. Ο βαθμός συμμετοχής στο έργο, όπως και η είσοδος και η έξοδος σε αυτό είναι βασικά ελεύθερες επιλογές καθενός. Δεν υπάρχει καμιά δέσμευση. Πολλά έργα γύρω από το έργο GNU ή / και γύρω από το BSD έχουν μια παρόμοια πολιτική ανάπτυξης η οποία κάνει χρήση των αδειών χρήσης που παρουσιάστηκαν στην παράγραφο 1.3 1972 Ο πηγαίος κώδικας αναπαράγεται ελεύθερα στους ακαδημαϊκούς κύκλους. 1976 Ο Καθηγητής Donald E. Knuth από το Stanford διανέμει ελεύθερα το πρόγραμμα μορφοποίησης κειμένου TeX. 1984 Το έργο GNU ιδρύθηκε από τον Richard Stallman. 1985 Δημοσιοποιήθηκε το Μανιφέστο του GNU. Ιδρύθηκε το Ίδρυμα Ελεύθερου Λογισμικού (Free Software Foundation). 1991 Δημιουργία του ελεύθερου λειτουργικού συστήματος BSD και του Linux. 1995 Έγινε διαθέσιμη η πρώτη δημόσια έκδοση του ελεύθερου εξυπηρετητή του παγκόσμιου ιστού Apache. 1996 Πρώτο συνέδριο του λογισμικού ελεύθερης διανομής στο Cambridge, Massachusetts, ΗΠΑ. 1998 Η Netscape δημοσιοποιεί τον κώδικα του φυλλομετρητή της. 18

Η Christine Peterson και άλλοι εισάγουν την έννοια του ανοικτού κώδικα. Ιδρύθηκε η Πρωτοβουλία Ανοικτού Κώδικα (Open Source Initiative). Πίνακας 2: Σημαντικά ορόσημα της ιστορίας του λογισμικού ανοικτού κώδικα (Πηγή: Working Group on Libre Software, 2000, Appendix C). Στο έργο GNU πρωτοχρησιμοποιήθηκε η έκφραση ελεύθερο λογισμικό (δείτε 1.2.2). Σύμφωνα με την Πρωτοβουλία Ανοικτού Κώδικα (Open Source Initiative), ο χαρακτηρισμός ανοικτός κώδικας αναφέρθηκε για πρώτη φορά κατά τη διάρκεια μιας στρατηγικής σύσκεψης στις 3 Φεβρουαρίου 1998 στο Palo Alto της Καλιφόρνιας των ΗΠΑ. Η σύσκεψη αυτή αντέδρασε στην αναγγελία της Netscape, ότι δήθεν θα διένειμε ελεύθερα τον πηγαίο κώδικα του φυλλομετρητή της (browser). Την ιδέα αυτού του χαρακτηρισμού συνέλαβε η Christine Peterson (Open Source Initiative, 2003e). Τον Φεβρουάριο του 1998 ιδρύθηκε από τον Bruce Perens η Πρωτοβουλία του Ανοικτού Κώδικα, η οποία είναι μια κοινωφελής οργάνωση με έδρα το Redwood City στην Καλιφόρνια των ΗΠΑ. 19

2 Χαρακτηριστικά των Έργων Ανοικτού Κώδικα Στο κεφάλαιο αυτό, θα ασχοληθούμε με τα γενικά χαρακτηριστικά, τις δομές και τις ιδιότητες των έργων ανοικτού κώδικα. Τα χαρακτηριστικά αφορούν την οργάνωση και τη διαχείριση της δομής των έργων ανοικτού κώδικα. Είναι οργανωμένα σε τέσσερις κύριες ομάδες: χαρακτηριστικά μεγέθη (παράγραφος 2.1), δομικά χαρακτηριστικά (2.2), χαρακτηριστικά ανάπτυξης (2.3) και χαρακτηριστικά χρηστών (4.4). Στο τέλος, γίνεται αναφορά και στην υποδομή των επικοινωνιών και της παρουσίασης 2.5) του έργου καθώς και της τεκμηρίωσής του (2.6). Στόχος είναι να δημιουργηθεί ένα πλαίσιο ανάλυσης, με τη βοήθεια του οποίου θα μπορούν να αναγνωριστούν τέτοια στοιχεία, όπως το μέγεθος, το εύρος, η δομή, η πρόοδος, η ροή, καθώς και οι στόχοι ενός έργου ανοικτού κώδικα, έτσι ώστε στη συνέχεια να μπορούν αυτά να ταξινομηθούν σε κατηγορίες. Ταξινόμηση Trove Στις παραγράφους 2.3. και 2.4 χρησιμοποιείται σαν βάση η ταξινόμηση Trove από το SourceForge.net (SourceForge.net, 2003d) η οποία είναι συστατικό του λογισμικού του SourceForge (SourceForge.net, 2003b). Αυτή την ταξινόμηση χρησιμοποιούν, για παράδειγμα, ο μεγαλύτερος εξυπηρετητής έργων ανοικτού κώδικα SourceForge.net με 65.000 έργα ή ο εξυπηρετητής έργων BerliOS με περίπου 800 έργα (BerliOS Project, 2003a) καθώς και το ευρετήριο έργων ανοικτού κώδικα freshmeat.net με περίπου 29000 έργα. (freshmeat.net, 2003). Η ταξινόμηση κατά Trove βασίζεται στις εξής κατηγορίες: Στάδιο ανάπτυξης (Development Status): Αυτή η κατηγορία λαμβάνει υπ όψιν την ωριμότητα του πηγαίου κώδικα των έργων (περισσότερα στην παράγραφο 2.3.1). Διεπαφή Χρήστη (Environment): Αυτή η κατηγορία περιγράφει τον τρόπο αλληλεπίδρασης του προγράμματος με το χρήστη (π.χ., Windows, κονσόλα, εξυπηρετητής) δείτε παράγραφο 2.4.2. 20

Ομάδα Στόχος (Intended Audience): Εδώ ορίζεται η ομάδα των ατόμων ή οργανώσεων, για την οποία έχει σχεδιαστεί το προϊόν (περισσότερα στην παράγραφο 2.4.1). Άδεια Χρήσης (License): Η τέταρτη ομάδα αφορά την άδεια χρήσης του έργου. Διακρίνονται οι άδειες χρήσης που είναι πιστοποιημένες από την OSI (δείτε παράγραφο 1.3), οι άδειες χρήσης Δημόσιας Κυριότητας (Public Domain) και άλλες διαφορετικές άδειες χρήσεις. Φυσική Γλώσσα (Natural Language): Σε αυτή την κατηγορία καθορίζεται η φυσική γλώσσα, με την οποία είναι γραμμένη η διεπαφή του έργου (και η τεκμηρίωση) περισσότερα στην παράγραφο 2.4.3 Γλώσσα Προγραμματισμού (Programming Language): Οι γλώσσες προγραμματισμού που χρησιμοποιούνται στο έργο αναφέρονται σε αυτήν την κατηγορία (δείτε παράγραφο 2.3.3). Θεματική περιοχή (Topic): Η κατηγοριοποίηση εξαρτάται από την ομάδαστόχο και περιγράφει τη θεματική περιοχή, για την οποίαν προσφέρει λύσεις το έργο (περισσότερα στη παράγραφο 2.4.4). 2.1 Χαρακτηριστικά Μεγέθη Ένα από τα βασικά χαρακτηριστικά ταξινόμησης των έργων ανοικτού κώδικα είναι το μέγεθός τους. Αυτό όμως μπορεί να μετρηθεί με βάση διάφορα κριτήρια. Για το σκοπό μας, τα εξής κριτήρια είναι ενδιαφέροντα: μήκος κώδικα, αριθμός των συμμετεχόντων υπευθύνων ανάπτυξης, η ύπαρξη υποέργων, το μέγεθος των υποέργων κ.λπ. 2.1.1 Μήκος Κώδικα και Αριθμός Υπευθύνων Ανάπτυξης Το μήκος του κώδικα είναι ένα σημαντικό μέτρο, το οποίο βρίσκεται σε στενή σχέση με άλλα χαρακτηριστικά. Το μήκος αυτό μπορεί να μετρηθεί σε γραμμές κώδικα (LOC Lines of Code) αλλά μπορεί να θεωρήσει κανείς και τη χωρητικότητα της μνήμης που απαιτείται για να αποθηκευτεί όλος ο πηγαίος κώδικας του έργου. Στην έρευνα του FLOSS (International Institute of Infonomics and Berlecon Research 21

GmbH, 2002, Μέρος 5, Παράγραφος 1.5) εξετάζονται 16905 έργα ανοικτού κώδικα ως προς το μέγεθός τους σε Bytes και ως προς τον αριθμό των υπευθύνων ανάπτυξης. Λόγω του μεγάλου αριθμού και της ποικιλίας των έργων που εξετάσθηκαν, μπορεί να υποτεθεί, ότι θα υπάρχει μια παρόμοια κατανομή σε όλο το σύνολο των έργων ανοικτού κώδικα. Το μικρότερο έργο έχει ένα μέγεθος 69 Bytes και το μεγαλύτερο 97.379.040 Bytes. Η διάμεσος βρίσκεται στα 53.430 Bytes. Το 17% των έργων είναι μικρότερα από 10.000 Bytes και μόνο 1% είναι μεγαλύτερα από 5.000.000 Bytes. Την κατανομή των μεγεθών σε Bytes της έρευνας του FLOSS μπορεί να δει κανείς στον Πίνακα 3. Όσο αφορά τον αριθμό των υπευθύνων ανάπτυξης, τα περισσότερα έργα έχουν έναν ή δυο υπεύθυνους (8911-52,71%) και μόνο 7 έργα (0,04%) έχουν περισσότερους από 500 υπεύθυνους ανάπτυξης. Σε αυτή την περίπτωση, η διάμεσος βρίσκεται στους 2 υπεύθυνους ανάπτυξης. Τα αντίστοιχα δεδομένα εμφανίζονται στον Πίνακα 4. Τα αποτελέσματα αυτά μπορούν να συγκριθούν με αυτά της ανάλυσης των 27.918 έργων του SourceForge.net που διεξήχθη το 2001 από τον Kienzle (Kienzle, 2001, 2.1): Το 67% των έργων του SourceForge.net έχουν μόνο έναν υπεύθυνο ανάπτυξης (του FLOSS περίπου 30%), το 28% έχουν 2-5 υπεύθυνους ανάπτυξης (του FLOSS περίπου 50%) και μόνο το 5% έχουν περισσότερους από 5 υπεύθυνους ανάπτυξης (του FLOSS περίπου 20%). Ο μέγιστος αριθμός υπευθύνων ανάπτυξης είναι όμως 78, γεγονός το οποίο σημαίνει ότι το SourceForge.net δεν χρησιμοποιείται σαν πλατφόρμα ανάπτυξης μεγαλυτέρων έργων. Μέγεθος σε Bytes Ποσοστό Πάνω από 1.000.000 6,7 % 500.001-1.000.000 5,9 % 200.001-500.000 12,5 % 100.001-200.000 12,2 % 50.001-100.000 14,2 % 35.001-50.000 7,6 % 20.001-35.000 11,6 % 15.001-20.000 5,6 % 10.001-15.000 6,9 % 5.001-10.000 8,8 % Κάτω από 5.000 8,1 % Πίνακας 3: Έργα ανοικτού κώδικα ως προς το μέγεθός τους (International Institute of Infonomics and Berlecon Research GmbH, 2002, Μέρος 5). 22

Στην έρευνα του FLOSS, συσχετίζεται το μέγεθος των έργων με τον αριθμό των υπευθύνων ανάπτυξης και εξακριβώνεται ότι στα έργα που έχουν μεγαλύτερο πηγαίο κώδικα συνεργάζονται και περισσότεροι υπεύθυνοι ανάπτυξης. Αυτό με αριθμούς μεταφράζεται ως εξής: Ένας υπεύθυνος ανάπτυξης συναντάται σε έργα που έχουν μέγεθος μεταξύ 69 και 20.000 Bytes, δυο υπεύθυνοι ανάπτυξης σε έργα μεγέθους 5.000 και 50.000 Bytes και τέσσερις υπεύθυνοι ανάπτυξης σε έργα μεγέθους μεταξύ 50.000 και 1.000.000 Bytes. Επτά έως είκοσι υπεύθυνοι ανάπτυξης απασχολούνται σε έργα μεγέθους από 500.000 Bytes και άνω. Βασιζόμενοι σε αυτές τις σχέσεις, μπορούμε να κάνουμε μια απλή κατηγοριοποίηση των έργων ανοικτού κώδικα ως προς το μέγεθός τους, όπως μπορεί κανείς να δει στον Πίνακα 5. Ανάλογα όμως με την περίσταση, μπορεί να επιλέξει κανείς αν θέλει να κατηγοριοποιήσει τα έργα ως προς τον αριθμό των υπευθύνων ανάπτυξής τους ή ως προς το μέγεθός τους. 2.1.2 Υποέργα Για να μπορεί κανείς να καταγράψει επιτυχώς τα μεγέθη ενός έργου, όπως αυτά αναλύθηκαν στη παράγραφο 2.1.1, πρέπει να μπορεί να καθορίσει την έκταση του εκάστοτε έργου. Πολλά έργα χωρίζονται σε υποέργα, τα οποία μπορεί να συνδέονται μεταξύ τους ή και όχι. Αν πρόκειται ουσιαστικά για ανεξάρτητα έργα, τα οποία κατά την ανάπτυξή τους δεν επηρεάζουν καθόλου ή μόνο πολύ λίγο το ένα το άλλο, τότε έχει περισσότερο νόημα να χρησιμοποιεί κανείς σαν βάση σύγκρισης αυτά τα υποέργα αντί για το κυρίως έργο. Τα υποέργα του Debian Linux (Debian-Project, 2003k) είναι ένα καλό παράδειγμα. Στην αντίθετη περίπτωση, τα υποέργα μπορούν να είναι τόσο εξαρτημένα το ένα από το άλλο έτσι ώστε τα υποέργα αυτά να αποτελούν ζωτικά μέρη του κυρίως έργου και να προκαλείται σοβαρή βλάβη στη λειτουργία του κυρίως έργου, αν τυχόν και αποκλειστούν αυτά από το έργο. Στην περίπτωση αυτή, έχει νόημα να παίρνει κανείς σαν μονάδα σύγκρισης το κυρίως έργο. Αποφασιστικό ρόλο όμως δεν παίζει μόνο η σχέση που έχει το κυρίως έργο με το υποέργο αλλά και οι σχέσεις των υποέργων μεταξύ τους. Γι αυτό το λόγο, τα υποέργα που ανήκουν σε πλατφόρμες ανάπτυξης όπως, π.χ., το HORDE μπορούν να θεωρηθούν σαν 23

αυτοδύναμα έργα ανοικτού κώδικα. Κάθε ένα από τα προγράμματα χρειάζεται μόνο το βασικό κορμό, για να μπορέσει να λειτουργήσει. Αριθμός υπευθύνων ανάπτυξης Αριθμός έργων Πάνω από 500 7 101-500 28 51-100 109 21-50 447 11-20 790 6-10 1672 5 825 4 1342 3 2210 2 4108 1 4803 Πίνακας 4: Έργα ανοικτού κώδικα ως προς τον αριθμό των υπευθύνων ανάπτυξης (Πηγή: International Institute of Infonomics and Berlecon Research GmbH, 2002). Κατηγορία Πολύ μικρό Μικρό Μεσαίου μεγέθους Μεγάλο Πολύ μεγάλο Ταξινόμηση ως προς το μέγεθος και αριθμό υπευθύνων ανάπτυξης Μέχρι 5.000 Byte και 1-2 υπεύθυνους ανάπτυξης 5.000-100.000 Bytes και 1-4 υπεύθυνους ανάπτυξης 100.000-500.000 Bytes ή 4-20 υπεύθυνους ανάπτυξης Από 500.000 Bytes ή από 20 υπεύθυνους ανάπτυξης Από 5.000.000 Bytes η από 100 υπεύθυνους ανάπτυξης Πίνακας 5: Κατηγοριοποίηση έργων OSS ως προς το μέγεθός τους και / ή αριθμό υπευθύνων ανάπτυξης. Μια ειδική μορφή υποέργων που συναντάται πολύ συχνά είναι τα επονομαζόμενα έργα τεκμηρίωσης. Τις περισσότερες φορές, μπορεί να τα συναντήσει κανείς σε μεγαλύτερα ή πολυπλοκότερα έργα και αυτά περιέχουν συχνά όχι μόνο τεκμηρίωση για τους χρήστες αλλά και για τους υπεύθυνους ανάπτυξης. Ένα αρκετά περιεκτικό παράδειγμα είναι σε αυτή τη περίπτωση το έργο τεκμηρίωσης του FreeBSD (FreeBSD Project, 2003h). Τέτοια έργα δεν είναι οπωσδήποτε πάντα έργα ανοικτού κώδικα, διότι σε αυτά παράγονται μόνο περιεχόμενα τεκμηρίωσης και όχι λογισμικό. 24

2.2 Δομικά Χαρακτηριστικά Σε αυτή τη παράγραφο θα παρουσιάσουμε κάποια σημαντικά δομικά χαρακτηριστικά και ιδιότητες των έργων ανοικτού κώδικα, που επηρεάζουν τη διαδικασία της ανάπτυξής του. Θα μελετήσουμε διεξοδικότερα την οργανωτική δομή (2.2.1) και τη διαχείριση της ροής εργασίας (2.2.2). Στην οργανωτική δομή, θα εξετάσουμε τη δομή της διαχείρισης και τον τρόπο λήψης των αποφάσεων καθώς και τους ρόλους και τα δικαιώματα κάθε συνεργάτη. Η διαχείριση της ροής εργασίας χαρακτηρίζεται από μια προτυποποιημένη διαδικασία των εκδόσεων του κώδικα. 2.2.1 Οργανωτική Δομή Όπως έχει ήδη περιγράψει ο Raymond (Raymond, 1998a), η γενική οργανωτική δομή των έργων ανοικτού κώδικα διαφέρει από αυτήν του ιδιόκτητου λογισμικού. Ο Raymond ονομάζει αυτές τις δυο μορφές ανάπτυξης αφενός παζάρι κι αφετέρου καθεδρικό ναό, αντίστοιχα. Η πρώτη μορφή, δηλαδή, ο καθεδρικός ναός, παριστάνει ένα κλειστό απομονωμένο σύστημα ανάπτυξης με αυστηρούς κανόνες. Ο αριθμός των υπευθύνων ανάπτυξης παραμένει βασικά από την αρχή ο ίδιος, το έργο έχει αυστηρά χρονικά όρια και κατανομές υπευθυνοτήτων. Άμεση επικοινωνία με την ομάδα στόχο δεν υπάρχει κατά τη διάρκεια της διαδικασίας ανάπτυξης. Αντιθέτως, στο δεύτερο μοντέλο, στο παζάρι, πολλοί ισότιμοι υπεύθυνοι ανάπτυξης προσφέρουν μικρότερα κομμάτια δουλειάς και υπάρχει κάποια εντατική επικοινωνία με τους χρήστες, όπως, π.χ., στην ανάπτυξη του πυρήνα του Linux. Το να μεταχειρίζεστε τους χρήστες σας σαν να είναι συνεργάτες σας είναι ο δρόμος με τους λιγότερους μπελάδες, που σας οδηγεί στην ταχεία βελτίωση του κώδικα και στην αποτελεσματική αποσφαλμάτωσή του (debugging) (Raymond, 1998a). Δομή Διοίκησης και Μηχανισμός Λήψης Αποφάσεων 25

Ιδιαίτερο ρόλο στη δομή των έργων ανοικτού κώδικα παίζει η δομή της διοίκησης των έργων και ο μηχανισμός λήψης των αποφάσεων. Διακρίνονται τα εξής μοντέλα (Raymond, 1998b): Το μοντέλο του καλού δικτάτορα: Ο καλός δικτάτορας έχει μόνος του τα δικαιώματα ελέγχου και την εξουσία να αποφασίζει για το έργο ολόκληρο. Δηλαδή, πρέπει να αποδέχεται τις εργασίες των υπευθύνων ανάπτυξης, να ορίζει τι θα συμπεριληφθεί στις διάφορες εκδόσεις και τι κατεύθυνση θα πάρει η περαιτέρω ανάπτυξη. Ο δικτάτορας αυτός μπορεί να μεταβιβάσει ορισμένους τομείς των αρμοδιοτήτων του σε έμπιστους υφιστάμενούς του (Johnson, 2001, παράγραφος 4.1). Το κλασικό παράδειγμα εδώ είναι ο Linus Torvalds σαν αρχηγός της ομάδας ανάπτυξης του πυρήνα του Linux. Το μοντέλο της εναλλασσόμενης δικτατορίας: Αυτή η μορφή ηγεσίας εφαρμόζεται, π.χ., στο έργο Perl. Η ηγεσία του έργου περιέρχεται εκ περιτροπής στα διάφορα κορυφαία στελέχη που ασχολούνται με την ανάπτυξή του. Το μοντέλο της επιτροπής: Στα έργα που διοικούνται από μια εκλεγμένη επιτροπή, τα αιρετά μέλη της επιτροπής εκλέγονται για ένα ορισμένο χρονικό διάστημα από όλους τους υπεύθυνους ανάπτυξης που έχουν δικαίωμα ψήφου. Αυτό, για παράδειγμα, γίνεται στο έργο FreeBSD 4 ή στο έργο Apache HTTP Server 5 Ρόλοι Συμμετεχόντων Στα έργα ανοικτού κώδικα, συμμετέχουν συνήθως οι ομάδες ατόμων που παρουσιάστηκαν στην παράγραφο 4.1.1. Το μοίρασμα των ρόλων εξαρτάται από το μέγεθος του έργου. Στη SourceForge.net φιλοξενούνται κυρίως μικρά και μεσαίου μεγέθους έργα και, π.χ., διακρίνονται μόνο δυο τύποι συνεργατών: οι διαχειριστές και οι υπεύθυνοι ανάπτυξης. Οι πρώτοι είναι αρμόδιοι για την υποδομή και τη διοίκηση (αναφορές λαθών χρηστών, διαχείριση των ομάδων συζητήσεων, λίστες ηλεκτρονικού ταχυδρομείου, ενδεχομένως, και διανομή αρχείων) και η δεύτερη ομάδα αποτελείται από τους υπεύθυνους ανάπτυξης, που είναι αρμόδιοι για τον πηγαίο κώδικα. Μεγάλα έργα όπως ο πυρήνας του Linux ή το FreeBSD διαθέτουν μια ολόκληρη σειρά από πόστα διαφόρων αρμοδιοτήτων. Το FreeBSD έχει έναν ειδικό για την ασφάλεια, ο οποίος μαζί με την ομάδα του είναι αρμόδιοι για τις 26

αναβαθμίσεις που σχετίζονται με την ασφάλεια, για επιδιορθώσεις του κώδικα και για τη σχετική ενημέρωση των χρηστών. Άλλα έργα πάλι διαθέτουν μια ομάδα που είναι υπεύθυνη για τις δημοσιοποιήσεις των εκδόσεων του έργου (Release-Team). Περιορισμοί Ανάθεσης Ρόλων Δεν μπορεί κάθε μέλος της ομάδας ενός έργου να αναλαμβάνει χωρίς περιορισμό οποιοδήποτε ρόλο στο έργο. Επειδή ορισμένοι ρόλοι (όπως, π.χ., ο ρόλος του υπεύθυνου ανάπτυξης) απαιτούν να έχει κανείς γνώσεις ή προσόντα, τα οποία πολλές φορές ζητούνται να τα αποδείξει κανείς μέσα σε μια δοκιμαστική περίοδο, υπάρχουν καταρχήν σε όλα τα έργα κάποιοι κανόνες για το μοίρασμα των ρόλων. Σε μερικά έργα, όπως, π.χ., στο FreeBSD, υπάρχουν ακόμα και οι μόνιμες θέσεις απασχόλησης με σαφή διαχωρισμένο τομέα αρμοδιοτήτων. Οι διαχειριστές του έργου SourceForge.net (δείτε SourceForge.net, 2003a) είναι οι μόνοι που έχουν το δικαίωμα να μεταβιβάζουν αρμοδιότητες σχετικές με το έργο σε άλλους χρήστες. Μπορούν να προσλαμβάνουν και να απολύουν υπεύθυνους ανάπτυξης, να ρυθμίζουν την πρόσβαση στον πηγαίο κώδικα και να ορίζουν τους διαχειριστές υποπεριοχών, όπως για τις λίστες ηλεκτρονικού ταχυδρομείου και για την υποστήριξη του έργου. Στο έργο FreeBSD οι διαχειριστές των εκάστοτε περιοχών (Core, Ports, Documentation) αποφασίζουν για την πρόσληψη και απόλυση των υπευθύνων ανάπτυξης. Ένα από τα πιο ακραία παραδείγματα αυτού του είδους είναι το έργο Debian. Η πρόσληψη ενός νέου υπευθύνου ανάπτυξης είναι μια εξαιρετικά πολύπλοκη διαδικασία (Debian Project, 2003c, κεφ. 2), η οποία περιλαμβάνει όχι μόνο μια δοκιμασία των ικανοτήτων του υποψηφίου αλλά και μια λεπτομερή εξέταση της ταυτότητας του προσώπου του. Επεμβάσεις στον Πηγαίο Κώδικα Οι υπεύθυνοι ανάπτυξης διακρίνονται σε υπεύθυνους ανάπτυξης με δικαιοδοσία άμεσης πρόσβασης στον πηγαίο κώδικα και σε υπεύθυνους ανάπτυξης χωρίς δικαιοδοσία άμεσης πρόσβαση στον πηγαίο κώδικα 6 Μόνο οι υπεύθυνοι ανάπτυξης με άμεση πρόσβαση στον πηγαίο κώδικα επιτρέπεται να κάνουν αλλαγές σε αυτόν. Για αυτόν το λόγο, οι εργασίες που γίνονται από άλλους ενεργούς συμμετέχοντες 27

κατά τη διάρκεια της διαδικασίας ανάπτυξης του ανοικτού κώδικα (μέσω λίστας ηλεκτρονικού ταχυδρομείου ή ομάδες συζητήσεων) αναμένονται ότι είτε θα ενσωματωθούν στον πηγαίο κώδικα, αφού πρώτα διορθωθούν από τους εξουσιοδοτημένους υπεύθυνους ανάπτυξης, είτε θα απορριφθούν. 2.2.2 Οργάνωση της Ροής Εργασίας και Διαδικασία Έκδοσης Κώδικα Με την οργάνωση της ροής εργασίας ενός έργου ανοικτού κώδικα εννοούμε τους γραπτούς (ή άγραφους) νόμους, που διέπουν την ανάπτυξη, και τον τρόπο με τον οποίο διενεργείται η έκδοση (release) δημοσιοποίηση του κώδικα. Προτυποποίηση των Διαδικασιών Η προτυποποίηση (standardization) των διαδικασιών ανάπτυξης συνήθως προκύπτει από τα ίδια τα εργαλεία και την πλατφόρμα της ανάπτυξης. Πολλά έργα ανοικτού κώδικα χρησιμοποιούν προτυποποιημένα εργαλεία ανάπτυξης και διαμόρφωσης που προέρχονται από το έργο GNU, όπως, π.χ., το εργαλείο GNU-autoconf (GNU Project, 2001a), το οποίο χρησιμοποιείται για την αυτόματη ανεξάρτητη λειτουργικού συστήματος διαμόρφωση, και το μεταγλωττιστή GCC GNU C (GNU Project, 2003b) σαν εργαλείο μεταγλώττισης. Άλλοι γνωστοί κανόνες είναι, π.χ., οι ρυθμίσεις ονομάτων και μονοπατιών έτσι ώστε να μην παρακωλύεται η σαφήνεια των έργων. Πολλά μεγάλα έργα, στα οποία συνεργάζονται πολλοί υπεύθυνοι ανάπτυξης, διαθέτουν στους χρήστες τους λεπτομερή τεκμηρίωση. Ένα σχετικό παράδειγμα είναι το εγχειρίδιο ανάπτυξης του FreeBSD (FreeBSD Project, 2003f). Διαδικασία Έκδοσης του Κώδικα Ο πυρήνας της οργάνωσης της ροής εργασίας είναι η διαδικασία έκδοσης (δημοσιοποίησης) του κώδικα. Αυτή η διαδικασία εξαρτάται κατά πολύ από τις συνθήκες της ανάπτυξης (δείτε την παράγραφο 2.3.1). Οι εκδόσεις που διαπραγματευόμαστε εδώ είναι διατεταγμένες και καταγεγραμμένες εκδόσεις του έργου υπό τη μορφή αρχείων. Ο Erenkrantz (2003, κεφ. 2) απαριθμεί τα εξής 28

χαρακτηριστικά γνωρίσματα της διαχείρισης της διαδικασίας έκδοσης των έργων ανοικτού κώδικα: Η αρμόδια αρχή της έκδοσης: Το έργο χρειάζεται να υπάγεται σε κάποια αρχή, ή οποία θα είναι αρμόδια για το συντονισμό της διαδικασίας της έκδοσης. Στα μικρά έργα συνήθως η αρχή αυτή αποτελείται από ένα άτομο, στα μεγαλύτερα όμως έργα, όπως, π.χ., στο FreeBSD, είναι μια ομάδα ατόμων αυτή που αναλαμβάνει την εργασία. Η αριθμοδότηση της έκδοσης: Σε κάθε έκδοση δίνεται ένας διακριτικός αριθμός π.χ., ένας αριθμός έκδοσης. Από αυτόν πρέπει να φαίνεται καθαρά το στάδιο της ανάπτυξης και η αναμενόμενη σταθερότητα που αντιστοιχεί σε αυτήν την έκδοση (π.χ., σταθερότητα άλφα, βήτα, RC κ.λπ.) περισσότερα στην παράγραφο 2.3.5. Δοκιμές προ-εκδόσεων: Εσωτερικοί κανονισμοί του έργου μπορούν να καθορίζουν τις προϋποθέσεις που πρέπει να πληρούνται για να προχωρήσει η ανάπτυξη μιας έκδοση (π.χ., νέες λειτουργίες, σταθερότητα). Έγκριση των εκδόσεων: Η τελική έγκριση μιας έκδοσης μπορεί να γίνει ανάλογα με τους κανόνες του έργου είτε αποκλειστικά από την αρμόδια αρχή της έκδοσης είτε να απαιτείται επιπρόσθετα και η έγκριση μιας άλλης ελεγκτικής αρχής. Διανομή: Η κοινότητα πρέπει να πληροφορηθεί τη νέα έκδοση (μέσω της λίστας ηλεκτρονικού ταχυδρομείου ή των ομάδων συζητήσεων) και η έκδοση πρέπει να διατίθεται δωρεάν. Μορφοποίηση αρχείων: Οι κανονισμοί μορφοποίησης ρυθμίζουν τη μορφή που πρέπει να έχουν τα αρχεία που θα δημοσιοποιηθούν. Στόχος είναι μια όσο το δυνατόν πιο εύκολη και ομοιόμορφη διαχείριση των αρχείων. Τα περισσότερα έργα, όπως το έργο Mozilla (mozilla.org, 2003) ή το FreeBSD (FreeBSD Project, 2003k), ακολουθούν την εξής πολιτική δημοσιοποίησης: ALPHA-> BETA->RC->RELEASE Σε πολλές περιπτώσεις δημοσιοποιούνται στην αρχή οι εκδόσεις άλφα. Στην ουσία αυτές είναι μόνο στιγμιαίες απεικονίσεις (snapshots) του αναπτυσσόμενου πηγαίου 29