ports


Πως να συνεισφέρετε στο Debian 4

Debian_Desktop_fabswirlΤο άρθρο αυτό είναι βασισμένο στο αντίστοιχο άρθρο του Raphaël Hertzog. Μιας και εδώ και μερικά χρόνια χρησιμοποιώ Debian σαν βασική μου διανομή νομίζω ότι το λιγότερο που μπορώ να κάνω είναι να το μεταφράσω. Αν και το άρθρο επικεντρώνεται στο Debian νομίζω ότι αξίζει να το διαβάσουν χρήστες και άλλων διανομών και να στηρίξουν τις διανομές τους. Απλά στην θέση του Debian βάλτε την δική σας διανομή με τα ιδιαίτερα χαρακτηριστικά και δυνατότητες.

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

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

Ο Raphaël Hertzog σκοπεύει με μια σειρά άρθρων του να εξετάσει κάθε περίπτωση ξεχωριστά, εν το μεταξύ προτείνει μια άλλη προσέγγιση. Πριν απαντήσουμε στην ερώτηση “τι μπορώ να κάνω εγώ για το Debian;” χρειαζόμαστε κάποιες πληροφορίες για εσάς.

Τι σας παρακινεί;

Είστε εθελοντές, δεν κάνετε πράγματα για το Debian γιατί κάποιος σας είπε να το κάνετε. Πρέπει, λοιπόν, να έχετε κάποια εσωτερικά κίνητρα για να το κάνετε και το απόλυτο κίνητρο είναι ότι το απολαμβάνετε και σας αρέσει.

  • Έτσι λοιπόν τι σας αρέσει και ποια είναι τα κίνητρα σας;
  • Υπάρχει κάτι που θέλετε να μάθετε; Μια νέα γλώσσα προγραμματισμού; Packaging; Συγγραφή κώδικα; Διαχείριση συστήματος; Κάποιο συγκεκριμένο πακέτο λογισμικού;
  • Επιθυμείτε την αλληλεπίδραση με ευφυείς ανθρώπους;
  • Σας αρέσει να βοηθάτε τους χρήστες;
  • Θέλετε να διορθώνετε λογισμικό ώστε να δουλεύει για εσάς;
  • Θέλετε να φτιάξτε κάτι εκπληκτικό και χρήσιμο για εκατομμύρια ανθρώπων;

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

Γράψτε κάπου τις απαντήσεις στις ερωτήσεις αυτές, ίσως τις χρειαστείτε αργότερα όταν θα ρωτήστε τους Debian contributors πως μπορείτε να βοηθήστε.

Ποιες ικανότητες έχετε;

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

  • Σε ποιες γλώσσες είστε άνετοι. Είστε αρκετά σίγουροι για το εαυτό σας ώστε να γράψτε τεκμηρίωση ή να μεταφράστε τεκμηρίωση στις γλώσσες αυτές.
  • Είστε προγραμματιστές; Αν ναι ποιες γλώσσες γνωρίζετε;
  • Μπορείτε να διαγνώσετε προβλήματα; Μπορείτε να κάνετε debug χρησιμοποιώντας το strace και το gdb;
  • Μπορείτε να κάντε triage (διαλογή) σε ένα bug.
  • Έχετε γνώσεις debian packaging;
  • Είστε καλλιτέχνης ή web designer;
  • Γνωρίζετε πως να χρησιμοποιείτε συστήματα version control (git, subversion, bzr κτλ);

Πόσο χρόνο μπορείτε να δώστε στο Debian;

Passing timeΑυτή είναι η τελευταία σημαντική πληροφορία που πρέπει να δώσετε όταν ρωτάτε κάποιον τι μπορείτε να κάνετε για το Debian. Είναι άστοχο να σας δώσει κάποιος μια χρονοβόρα εργασία την στιγμή που μπορείτε να διαθέσετε μόνο 3ο λεπτά την εβδομάδα αν από την άλλη μπορείτε να δουλέψτε full time  για μια βδομάδα (πχ. σε διακοπές ή ανάμεσα σε δύο συμβόλαια) είναι επίσης χρήσιμο να το ξέρει κανείς.

Γενικά, η συνεισφορά στο Debian απαιτεί χρόνο, καλό είναι να είστε προετοιμασμένοι να ξοδέψετε κάποιες ώρες την εβδομάδα (ίσως και περισσότερες) μέχρι να μάθετε ότι χρειάζεται.

Βρίσκοντας κάτι να κάνετε

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

Τί σας τρώει;

Οι καλύτεροι στόχοι είναι αυτοί που καλύπτουν τις ανάγκες σας. Να μερικά παραδείγματα.

  • Παρατηρήσατε κάποιο χαρακτηριστικό που λείπει; Προσπαθήστε να το υλοποιήσετε.
  • Σας ενοχλεί κάποιο bug; Προσπαθήστε να το φτιάξτε.
  • Χάσατε πολύ χρόνο σε κάτι γιατί δεν υπήρχε τεκμηρίωση; Γράψτε την τεκμηρίωση που χρειάζεται και υποβάλετε την όπου χρειάζεται.
  • Υποβάλετε bug reports για ότι δεν μπορείτε να λύσετε μόνοι σας; Ακόμη και bug report για επιθυμητά χαρακτηριστικά.
  • Χρησιμοποιείτε λογισμικό που δεν έχει έτοιμα πακέτα για το Debian; Δημιουργήστε τα πακέτα και συντηρήστε τα.
  • Χρειάζεστε μια νεότερη έκδοση λογισμικό από αυτή του πακέτου που βρίσκεται στο αποθετήριο του Debian unstable που χρησιμοποιείτε; Επικοινωνήστε με το άτομο που συντηρεί το πακέτο και προσφέρετε του βοήθεια για να το κάνει update.
  • Χρειάζεστε μια νεότερη έκδοση λογισμικό από αυτή του πακέτου που βρίσκεται στο αποθετήριο του Debian stable που χρησιμοποιείτε; Επικοινωνήστε με το άτομο που συντηρεί το πακέτο και προσφέρετε του βοήθεια για να κάνει backport.

Αν είσαστε καλός Debian-ας πιθανόν να έχετε ήδη κάνει κάποια bug reports για θέματα που σας ενοχλούσαν. Τότε μπορείτε να ψάξετε στο http://bugs.debian.org/from:toemailsas@paradeigma.gr (όπου tomailsas@paradeigma.gr βάλτε το δικό σας email).

Επιλέξτε μια ομάδα

Limitations live only in our minds. But if we use our imaginations, our possibilities become limitless.Αν δεν έχετε κάτι να σας τρώει μπορείτε να στρέψτε την προσοχή σας σε μια ομάδα. Επισκεφθείτε το wiki.debian.org/Teams και διαβάστε την λίστα με τις ομάδες.

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

Κάποιες από τις ομάδες έχουν οδηγίες για τους νεωεισερχόμενους, αν ναι ακολουθήστε τες όταν υπάρχουν. Αλλιώς εγγραφείτε στην mailing list και στο μπείτε IRC κανάλι τους και δείτε πως δουλεύει η ομάδα. Δείτε αν σας αρέσει ο τρόπος που δουλεύει, μπορείτε να παρακολουθείτε περισσότερες από μια ομάδες και μετά από μερικές ημέρες/βδομάδες μπορείτε να επιλέξτε αυτή που σας ταιριάζει καλύτερα.

Αφού θα έχετε παρατηρήσει την ομάδα αρκετά, και αν ακόμη δεν γνωρίζετε πως μπορείτε να βοηθήστε μπορείτε πάντα να ρωτήστε στην mailing list. Συμπεριλάβετε τις απαντήσεις στις 3 ερωτήσεις που είχαμε κάνει για τα κίνητρα, τις ικανότητες σας και το διαθέσιμο χρόνο σας.

Επικεντρωθείτε σε ένα πακέτο

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

Στην περίπτωση αυτή μπορείτε να πάτε στο http://packages.qa.debian.org/dpkg (στην θέση του dpkg βάλτε το πακέτο που σας ενδιαφέρει). Κάτω αριστερά υπάρχει μια φόρμα στην οποία μπορείτε να συμπληρώστε το email σας και πατώντας το opt να δείτε τι επιλογές εγγραφής έχετε.  (θα λάβετε ένα mail για να εγκριθεί η φόρμα).

Από εδώ και πέρα θα μπορείτε να βλέπετε mail που βλέπει και το άτομο που κάνει την συντήρηση του πακέτου (και όχι μόνο αυτό) είναι καλή ιδέα να το ενημερώσετε ότι σκοπεύετε να το βοηθήστε. Μπορεί ακόμη και να σας δώσει δικαιώματα commit άμεσα ή θα σας ζητήσει να στείλετε patches για αρχή. Το σημαντικό είναι να έχετε μεταξύ σας μια καλή σχέση. Σε κάθε περίπτωση (ακόμη και αν το άτομο που συντηρεί το πακέτο δεν απαντήσει σε mail σας) θα είστε σε θέση να κατηγοριοποιήσετε bug και να βοηθήστε με την ροή των εισερχόμενων bug reports (ακόμη και να κάνετε forward τα bug όταν αυτό ενδείκνυται).

Βοηθήστε έναν Debian Developer

O Paul Tagliamonte μια φορά είχε γράψει στο blog του Hey, DDs. Need help? Πρόσφερε την βοήθεια του στους “καταπονημένους” Debian Developers χωρίς να παρέχει τα απαραίτητα στοιχεία (κίνητρα, ικανότητες, χρόνος) αλλά η προσέγγιση του ήταν καλή.

Ο καλύτερος τρόπος για να βοηθήστε είναι να συνεργάζεστε με τους υπάρχοντες Debian Developers. Ακόμη και αν “το μόνο” που θέλετε είναι έχετε την υποστήριξη (sponsoring) για το δικό σας πακέτο πρέπει να συνυπολογίστε ότι η καθοδήγηση (mentoring) είναι ένα πρόσθετο βάρος για πολλούς Debian Developers και είναι πιο εύκολο να έχετε την υποστήριξη κάποιου που έχετε προηγουμένως βοηθήσει. Διαλέξτε έναν Debian Developer που εργάζεται σε κάποια στοιχεία που σας αρέσουν και προσφέρετε του την βοήθεια σας.

Χαρακτηριστικά ο Raphaël Hertzog έχει φτιάξει μια σελίδα στο wiki του για το πως μπορείτε να τον βοηθήστε.

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


ανοιχτού κώδικα κυβέρνηση… αλά Αμερικανικά

New York´s Liberty Island - Statue Of Liberty & SeagullΠριν λίγες ημέρες είχα αναφερθεί σε κινήσεις νομοθετικού χαρακτήρα στη Μάλτα, αλλά και στην υλοποίηση ενός συστήματος τεκμηρίωσης Ελεύθερου Λογισμικού στην Γερμανία που έχουν ως βασικό και θεμελιώδες χαρακτηριστικό τους το ελεύθερο λογισμικό. Κατά πολλούς αναλυτές πολλά Ευρωπαϊκά κράτη προχωρούν με ταχείς ρυθμούς στην υιοθέτηση ανοιχτών μοντέλων ανάπτυξης λογισμικού και χρησιμοποιούν ανοιχτά πρότυπα όταν είναι διαθέσιμα.

Αν νομίζετε ότι στην άλλη πλευρά του Ατλαντικού οι Αμερικανοί σε πολλά τμήματα του δημόσιου τομέα τους να χρησιμοποιούν κλειστό λογισμικό συγκεκριμένης εταιρείας σε τέτοιο βαθμό που οι ανταγωνιστές της να υποβάλουν μηνύσεις εναντίων της ίδιας της Αμερικανικής κυβέρνησης. Όμως όπως συνήθως στα νομίσματα υπάρχει και η άλλη όψη.΄

Βλέπετε η Αμερικανική κυβέρνηση έχει επενδύσει πολλά χρήματα στο Ελεύθερο λογισμικό, λίγο οι κινήσεις συνδέσμων εταιρειών που ασχολούνται με το Ελεύθερο Λογισμικό στην Αμερική (ακόμη και μικρότερα κράτη όπως  η Ιταλία έχουν ανάλογους συνδέσμους), λίγο το “Recovery and Reinvestment Tax Act of 2009″ που ήταν ένα σχέδιο τόνωσης της Αμερικανικής Οικονομίας (που δεν είχε και θεαματική επιτυχία σε όλους τους τομείς της οικονομίας, από ότι φαίνεται), λίγο το πολύ σημαντικό για την αναδιοργάνωση της υγείας “Health Information Technology Public Utility Act of 2009″ και πολύ περισσότερο το γεγονός ειδικά το πρώτο διάστημα της νέας διακυβέρνησης των ΗΠΑ υπήρχαν πολλά στοιχεία που έδειχναν ότι η νέα κυβέρνηση “έβλεπε”  λιγότερο καχύποπτα το ανοιχτό λογισμικό… είναι λογικό να υπάρχει τουλάχιστον ενδιαφέρον για το ανοιχτό λογισμικό ειδικά σε κρατικό επίπεδο.

Ένας από τους πλέον ενδιαφέροντες οργανισμούς που προέκυψαν το τελευταίο διάστημα είναι το Civic Commons το εν λόγω site έχει δημιουργηθεί από το Code for America, το Open Plans και το Office of the Chief Technology Officer (που είναι κυβερνητικός οργανισμός).  Σκοπός του Civic Commons

  • Η διευκόλυνση του διαμοιρασμού κώδικα μεταξύ των κυβερνητικών υπηρεσιών ώστε να δημιουργηθεί ένα κυβερνητικό αποθετήριο κώδικα
  • Η διασύνδεση των κυβερνήσεων (τοπικών και κεντρικών) μέσα από όλες τις φάσεις προμήθεια λογισμικού, και η δημιουργία συστημάτων για περισσότερο διαφανείς και ενημερωμένες τεχνολογικές επιλογές
  • Η ανάπτυξη και υποστήριξη Ανοιχτών δεδομένων και  Ανοιχτών Στάνταρ σαν θεμέλια ενός  “Open Civic API” (sic)
  • Οι διαμοιρασμός των βέλτιστων τεχνολογικών επιλογών
  • Η δημιουργία μιας κοινότητας “civic hackers”(sic και πάλι) και εφοδιασμός τους με ξεκάθαρες ευκαιρίες ώστε να συμβάλλουν στην ανάπτυξη κυβερνητικής τεχνολογίας.

Ενδεικτικά, στις εφαρμογές που μπορεί κανείς να βρει στο Civic Commons θα βρείτε:

  • Το κώδικα πάνω στον οποίο βασίζεται το Federal Register
  • To OpenTripPlanner ένα πρόγραμμα σχεδιασμού διαδρομών με διάφορα μέσα μαζικής μεταφοράς.
  • Το OpenLegislation ένα πρόγραμμα διαδικτυακών και εφαρμογών κινητής τηλεφωνίας ώστε οι πολίτες να μπορούν άμεσα να ενημερώνονται για την νομοθετική διαδικασία
  • Το Portand Citized Reports που είναι μια εφαρμογή ώστε οι πολίτες του Portland να ενημερώνουν άμεσα τις δημοτικές υπηρεσίες για προβλήματα στις υποδομές του δήμου (βλέπε λακούβες κτλ)
  • και πολλές άλλες

Νομίζω ότι ειδικά η τοπική αυτοδιοίκηση σε Δημοτικό και Περιφερειακό επίπεδο θα μπορούσε να ωφεληθεί πολύ αν υπήρχαν παρόμοιες πρωτοβουλίες και στην χώρα μας.


κάτω από την GPL τα παιχνίδια Wolfenstein:Enemy Territory και Return To Castle Wolfenstein 4

return to castle wolfenstein - 1Ένα από τα πρώτα παιχνίδια που είχα παίξει σε υπολογιστή ήταν το Doom της id software. Η id software ήταν από τις πρώτες εταιρείες λογισμικού που ακόμη και εμπορικά παιχνίδια της ήταν διαθέσιμα για το Linux.

Όμως η εταιρεία δεν έμεινε εκεί καθώς 5 χρόνια μετά από την δημιουργία των game engines είχε την παράδοση να διαθέτει των κώδικα τους κάτω από την άδεια GPL (με μόνη εξαίρεση το Quake III που τελικά άργησε περίπου ένα χρόνο). Αν και οι προσπάθειες της id στο χώρο του Linux δεν ήταν πάντα επιτυχείς η χρήση του κώδικα ειδικά του Quake III είχε σαν αποτέλεσμα την δημιουργία μιας πλειάδας παιχνιδιών που ανοιχτού κώδικα για Linux που ήταν ιδιαίτερα επιτυχή. Επίσης, εδώ και χρόνια λόγω της διάθεσης του κώδικα τω παιχνιδιών της id κάτω από την GPL υπάρχει η παράδοση όταν κάποιος να αναπτύσσονται ports για κάθε λογής συσκεύη που μπορεί να τρέξει ελεύθερο λογισμικό… (μέχρι και για “ξεκλειδωμένα” iPod).

Πριν λίγες μέρες λοιπόν και στα πλαίσια του συνεδρίου Quakecon (του συνεδρίου του Quake) ο John Carmack προχώρησε στην διάθεση από μέρους της id του κώδικα του Wolfenstein:Enemy Territory και του Return To Castle Wolfenstein κάτω από την GPLv3. Μάλιστα στην περίπτωση του Return To Castle Wolfenstein παρέχετε το πλήρες παιχνίδι με τα απαραίτητα αρχεία παρακαλώ. Πιστεύω ότι η τακτική αυτή που εδώ και χρόνια ακολουθεί η id της προσδίδει περισσότερα οφέλη από ότι αρχικά φαίνεται, ίσως στο μέλλον δούμε και άλλες εταιρείες να ακολουθούν παρόμοιες τολμηρές κινήσεις.

Ήδη στον ftp server της id μπορείτε να βρείτε τo κώδικα.

Ενώ αν θέλετε να ασχοληθείτε με την ανάπτυξη του στα πλαίσια του ioquake μπορείτε να ακολουθείστε τα παρακάτω link.