Πέμπτη, 15 Δεκεμβρίου 2011

Τα βασικά προβλήματα του ανοικτού λογισμικού!... (μέρος 1ο - open/libreoffice)

Είναι γνωστό πως είμαι από τους θερμούς υποστηρικτές του ανοικτού λογισμικού και χρησιμοποιώ μόνο ΕΛ/ΛΑΚ εφαρμογές στο 90% των εργασιών μου. Το 10% της χρήσης του κλειστού λογισμικού μου είναι στη σχεδίαση κυκλωμάτων, όπου χρησιμοποιώ το EAGLE σε περιβάλλον Linux (αγορασμένο) και οι εκτυπώσεις των CD/DVD με τον εκτυπωτή μου, όπου δεν υποστηρίζεται αυτού του είδους η εκτύπωση στο αγαπημένο μου λειτουργικό...

Αυτό το άρθρο το γράφω στις 01:00 ξημερώματα, γιατί πραγματικά κάθε φορά που χρησιμοποιώ μια από τις "σουίτες γραφείου", όπως θέλουν να τις αποκαλούν κάποιοι, OpenOffice ή LibreOffice, ξέρω ότι το 80% του χρόνου χρήσης θα συνοδεύεται από κατάρες, βρισιές και ατελείωτα χτυπήματα του γραφείου μου. Δεν είναι λίγες οι φορές που αναφέρονται προβλήματα με τις εν λόγω εφαρμογές από φίλους, γνωστούς κ.λ.π. Και οι περισσότεροι είναι υποστηρικτές του Ανοικτού Λογισμικού, όπως εγώ.

Θα ξεκινήσω παραθέτωντας δύο φωτογραφίες. Η πρώτη δείχνει το OpenOffice την ώρα που γράφω ένα ερωτηματολόγιο. Το ερωτηματολόγιο αυτό περιέχει και σχήματα. Έτσι, το διάγραμμα που φαίνεται είναι ένα διάγραμμα, που κατασκευάζεται στην ίδια "σουίτα" (ο Θεός να το κάνει αυτό το πράμα να γίνει σουίτα) γραφείου. Την ώρα που δημιουργείται το σχήμα, όλα φαίνονται μια χαρά:

Οι κόκκινες γραμμές ξεκινάνε από το σημείο (0,0), δηλαδή την αρχή των αξόνων.

Μπορείτε να παρατηρήσετε τη διαφορά στο στιγμιότυπο που φαίνεται εδώ; Είναι το ίδιο στιγμιότυπο, όμως το πρόγραμμα έχει βγει από τη σχεδίαση και έχει μπει και πάλι στη σύνθεση κειμένου. Ξαφνικά οι κόκκινες γραμμές έχουν περάσει κάτω από τον οριζόντιο άξονα!... Δηλαδή, πόση προσπάθεια θέλει αυτό το πράγμα στον προγραμματισμό να γίνει. Τόσο διαφορετικές είναι οι ρουτίνες της σύνθεσης της εικόνας στο write (που είναι ο κειμενογράφος) από το draw (που είναι το κομμάτι του σχεδίου); Δηλαδή πόσο άθλια μπορεί να κάνει τον κώδικά του ένας προγραμματιστής; Πόσο σοβαρά, τελικά, παίρνουμε τη δουλειά που κάνουμε;

Το πρόβλημα δεν είναι το ότι το πρόγραμμα έχει bugs. Ακόμα και το "Hello, world" που θα φτιάξει κάποιος μπορεί να έχει bugs... Το πρόβλημα είναι πως οι διαθέσιμες επιλογές, όσες κι αν φαίνονται να είναι (τα διαφόρων ειδών office που υπάρχουν), τόσο πιο χάλια είναι και η κατάσταση. Το πρόβλημα είναι πως θέλουμε το ανοικτό λογισμικό να είναι αυτό που προτείνουμε στον κόσμο για τη σταθερότητά του, αλλά κανένας μας δεν λέει ότι "φίλε, βάλε Linux και άμα γράψεις ένα σοβαρό κείμενο, να με χεχαιρετίσεις!"...

Πρέπει κάποια στιγμή να το πάρουμε χαμπάρι, πως δεν είναι μόνο το kernel και τα εφέ στα γραφικά περιβάλλοντα αυτά που θα κάνουν τον κόσμο να περάσει στο ανοικτό λογισμικό. Όλο το παιχνίδι με το αν το GNOME3.7865455 θα έχει καλύτερα τρισδιάστατα εφέ από το KDE 8.576576554563543-4 είναι μόνο το 0.1% του χρόνου του χρήστη και τίποτα άλλο! Είναι η λειτουργικότητα του όλου πακέτου, λειτουργικού και λογισμικού υποστήριξης, αυτή που θα κάνει κάποιον να μεταβεί στο Linux και να φύγει από κάποιο άλλο λειτουργικό. Και αυτή βασίζεται σε λίγα βασικά πράγματα:

  1. Κανένας δε μπορεί να πετάξει στα σκουπίδια τη δουλειά που έχει κάνει μέχρι τώρα σε κάποιο άλλο λειτουργικό. Το πρώτο πράγμα που θέλει είναι κατά κάποιο τρόπο συμβατότητα, ώστε τα αρχεία που έχει δημιουργήσει να μπορεί να τα επεξεργαστεί ΕΠΙΤΥΧΩΣ και με ανοικτό λογισμικό! Με οποιοδήποτε τρόπο θα πρέπει να μπορεί να κάνει import τα αρχεία του και να μπορεί να συνεχίσει τη δουλειά που μέχρι τώρα είχε κάνει, λίγη ή πολλή!
  2. Τα βασικά προγράμματα (δε μιλάω για τα εξηζητημένα, όπως το πακέτο που προανέφερα), όπως κειμενογράφος, λογιστικά φύλλα, παρουσιάσεις, απλή σχεδίαση σχημάτων, media players κ.λ.π. ΝΑ ΛΕΙΤΟΥΡΓΟΥΝ ΧΩΡΙΣ ΝΑ ΚΑΝΟΥΝ ΤΟ ΧΡΗΣΤΗ ΝΑ ΜΑΘΕΙ ΟΛΑ ΤΑ ΤΡΟΠΑΡΙΑ ΜΕ ΑΛΦΑΒΗΤΙΚΗ ΣΕΙΡΑ!!!!! Να μην είναι υποχρεωμένος να μάθει LaTeX για να μπορέσει να γράψει ένα κείμενο δύο σελίδων... Έλεος!

Είναι ήδη αργά και πρέπει να συνεχίσω τη δουλειά μου. Ίσως αν έχω οίστρο κάποια άλλη μέρα να δώσω και το δεύτερο μέρος...

9 σχόλια:

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

    ΑπάντησηΔιαγραφή
  2. There is no free lunch! Αν το επιχειρηματικό μοντέλο πίσω από την κατασκευή οποιουδήποτε λογισμικού (ανοικτού/κλειστού) "δεν βγαίνει", δεν θα φτάσουμε ποτέ στο σημείο της "απροβλημάτιστης" λειτουργίας. Το desktop και το office παραδοσιακά υποφέρουν από αυτό το πρόβλημα.

    Φιλικά
    /Δημήτρης

    ΑπάντησηΔιαγραφή
  3. Διαφωνώ Δημήτρη. Δεν είναι απαραίτητο να υπάρχει επιχειρηματικό μοντέλο για να πετύχει ένα λογισμικό (πχ. Firefox που είναι εφαρμογή Desktop).

    Συμφωνώ με το νόημα του post πάντως. Οι προγραμματιστές πρέπει να αρχίσουν να λαμβάνουν σοβαρά πως το UX είναι σημαντικό. Ίσως να αφήνουν που και που και κανένα designer να μπαίνει στα χωράφια τους ;)

    ΑπάντησηΔιαγραφή
  4. Έχεις αναρωτηθεί ποιός πληρώνει για το firefox? Αν θυμάμαι καλά η Google καλύπτει το 85% της επιχορήγησής τους...

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

    Για άλλα κομμάτια όμως (πχ user interfaces) που απαιτείται πολύ και διαρκής, και συνεπής, και συχνά βαρετή εργασία (στύλ QA), εκεί υπάρχει πρόβλημα.

    ΑπάντησηΔιαγραφή
  5. Μα προφανώς έχει έσοδα ο Mozilla για να πληρώνει τους υπαλλήλους του. Αλλά παρόλα αυτά παραμένει non-profit. Ομοίως υπάρχουν αρκετά community projects (πχ. αρκετές διανομές) που παράγουν αξιόλογα αποτελέσματα έχοντας ως μοναδικά έσοδα τα donations από εταιρίες που επωφελούνται απ' τη δουλειά τους.

    ΑπάντησηΔιαγραφή
  6. Άρα συμφωνουμε! Επιχειρηματικό μοντέλο ειναι ακόμα και αυτό στο οποίο ένας contributor έχει δουλειά και έσοδα από άλλες πηγές που του επιτρέπουν να συνεισφέρει τακτικα. (πχ αγάμη θυγατέρα με σύνταξη του μπαμπά).

    ΑπάντησηΔιαγραφή
  7. Αν έκαναν όλοι οι χρήστες LO έστω και ένα bug report και έπεφταν και κάποια bounties, σε συνδυασμό με τις διανομές, το Google SoC κλπ αυτό μπορεί να είναι αρκετά βιώσιμο "επιχειρηματικό μοντέλο" σχετικά με το bug fixing.

    Επίσης ειδικά για σουίτες γραφείου μπορεί να είναι πολύ επικερδές το training/certification, που μπορεί να χρηματοδοτήσει νέα features.

    Το κύριο πρόβλημα του LO IMHO είναι το μεγάλο υπερ-bloated codebase και ο υπερβολικά μεγάλος χρόνος και πόροι που χρειάζονται για ένα build. Αν αυτά διορθωθούν το project έχει πολλές πιθανότητες προόδου / βελτίωσης.

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Δεν έχεις άδικο σε αυτό που αναφέρεις εδώ αλλά αυτό που δε μπορώ να εντάξω σε αυτή τη λογική είναι:
      Γράφω ένα κείμενο το οποίο είναι για τη δουλειά μου. Το κείμενο είναι γεμάτο με πίνακες, σχήματα, χρωματάκια, συναρτήσεις κ.λ.π. που σημαίνει πως είναι αρκετά χρονοβόρα διαδικασία. Κάθε λίγο και λιγάκι κάθομαι και ψάχνω να βρω διάφορα workarounds για τα προβλήματα που παρουσιάζει το συγκεκριμένο πακέτο. Τελικά καταφέρνω να βγάλω το κείμενο σε 10 ώρες ενώ αν δούλευε σωστά θα το είχα βγαλει σε 3 και χωρίς να χρειάζομαι ηρεμιστικές ενέσεις για να κατέβει η πίεση από το 82 στο 10! Πιστεύεις ότι μέσα σε ένα τέτοιο πανικό πρώτο μου μέλημα είναι να κάνω bug report σε κάτι που ήδη ο ίδιος ο προγραμματιστής θα έπρεπε να έχει ελέγξει; Ναι, το bug report θα βοηθούσε. Ας μου βρει κάποιος 132 ώρες ακόμα μέσα στην ημέρα και ευχαρίστως θα κάνω report σε γύρω στα 2048 bugs!
      Όταν έχω ένα απλό κείμενο γραμμένο σε openOffice με το κλασικό open document format. Το κείμενο στην πρώτη σελίδα (εξώφυλλο) έχει ένα διπλό border. Ανοίγω το εν λόγω κείμενο με το LibreOffice και βλέπω το πάνω μέρος του border να είναι θεόχοντρο! Ναι, είμαι σίγουρος πως ένα workaround του στυλ "ξαναθέτω το border της σελίδας και ξανασώζω το κείμενο" θα δούλευε. Αλλά γιατί να πρέπει να κάνω το ίδιο σε 4096 κείμενα που έχω γράψει; Γιατί να σπαταλήσω τόσο χρόνο που αλλιώς θα ήταν δημιουργικός; Γιατί ο προγραμματιστής που έγραψε τον κώδικα δεν το τέσταρε; Δε νομίζω ότι αυτό περιέχεται στις έξτρα περιπτώσεις που μπορεί να σου ξεφύγει!. Για screenshots και φωτό από το εν λόγω κείμενο έχω να σου δείξω.
      Αυτό που θέλω να πω είναι πως σωστά λες ότι τα bug reports θα βοηθούσαν, αλλά κανένας δε μπορεί να έχει την απαίτηση να έχει κάποιος το χρόνο να ασχοληθεί με κάτι το οποίο θα έπρεπε να είναι ήδη τεσταρισμένο! Για πιο περίεργα σημεία και όχι τα προφανή, φυσικά και θα βάλω νερό στο κρασί μου.

      Διαγραφή
  8. "Γράφω ένα κείμενο το οποίο είναι για τη δουλειά μου. Το κείμενο είναι γεμάτο με πίνακες, σχήματα, χρωματάκια, συναρτήσεις κ.λ.π. που σημαίνει πως είναι αρκετά χρονοβόρα διαδικασία. "
    Και ποιός μας εγγυήθηκε φίλοι ότι το Office της Microsoft δουλεύει flawlessly, δηλαδή αψεγάδιαστα;
    Οι Linux word processors αποδεδειγμένα προσφέρουν πολλά περισσότερα από το "out-dated" MS Word. Πιστεύω ότι διατηρεί μια καθαρή πρωτοπορεία στο Excel. Το να αλλάζεις όμως τη θέση στα εικονίδια σε κάθε νέο version του Word δεν αποτελεί πρόοδο.
    Ας περιμένουμε λίγο, διαφορετικά ας ξαναδεθούμε στο άρμα του κου Gates ως άλλοι Έκτορες.

    ΑπάντησηΔιαγραφή