FOSS: How much freedom do developers grant users? Part 1

In my article titled «Proprietary software and user enslavement«, I explained some of the reasons why the use of  proprietary (closed source) software enslaves the users. Richard Matthew Stallman started the GNU Project and the Free Software Foundation (FSF for short) as an opposing force and an alternative to the monopolistic tactics of the major software houses; on a similar wavelength is the course of action of the (originating from the FSF) Open Source Initiative (OSI for short) One would expect that, by definition, FOSS would, despite the ideological differences between the FSF and the OSI  (here is Richard Stallman’s position on these differences), ensure the users’ freedom. Right?

The answer is not that simple. Even in the realm of FOSS, there are products that have such a dominating position in the «ecosystem» that it could easily be considered a monopoly of some sort – especially if these projects don’t have communities of collaborating users and developers, but companies and foundations instead. Depending on the mentality of the management of the «mother» company or the foundation, there is a serious risk that the project leaders might turn it to a direction entirely opposite from what the users would like. Even worse, I have observed the absolutely unacceptable phenomenon in which a ring of courtiers and self-appointed praetorians forms around the project leaders and the main developers, attacking fiercely and with vulgar characterizations any user «insolent» enough to disagree with the primadonnaproject leader and his cliquedirect partners.

I’ll mention two recent examples:

  1. OpenOffice.org
  2. GNOME

Today, I’ll examine the first case – OpenOffice.org. In the second part, we’ll see what happened with the GNOME desktop.

OpenOffice.org/Apache OpenOffice/OOo started out as the StarOffice suite, a product of the German company StarDivision. In 1998, StarDivision started distributing it free of charge (thus offering many Linux users an alternative to the costly WordPerfect) and in 1999 the company was acquired by Sun Microsystems, which wanted to stop paying license fees to Microsoft for Microsoft Office – besides, Sun wanted to complete with Microsoft in the office suite market. In 2000, Sun Microsystems open sourced  StarOffice, renaming it as OpenOffice.org in the process. The aim was the creation of a strong community for the further development of the suite. After Sun was acquired by Oracle in 2010,  development work on OpenOffice all but ceased. Any improvements introduced to the code of the (now heavy and slow) suite by the developers simply did not get incorporated in later versoins – the talking (but completely empty) heads in charge at Oracle turned these lines of code into comments, making them have no effect on the functionality of the suite. Why? Because they simply didn’t give a damn. The people at Oracle never believed in FOSS, they don’t believe in it and they never will. As for their «Unbreakable Linux», it’s a bad copy of Red Hat Enterprise Linux (by the way, I’m still waiting to receive that «free CD» of «Unbreakable Linux» – it’s been five years now), it’s not so unbreakable, if I’m to believe professional sysadmins that use it at work.

As a result, The Document Foundation (backed by Novell, Red Hat, Canonical, Google and other companies) was founded, which forked OpenOffice – and there was LibreOffice, which is now under rapid, active development, and with the developers actually paying close attention to the opinion of the users, in stark contrast with what was happening in the Oracle days. Oracle started some drama, but eventually had to admit defeat and donated the source to the FOSS orphanage officially known as the Apache Foundation (although a more fitting name would be «the Graveyard Foundation»). At any rate, LibreOffice is doing fine, whereas OpenOffice.org’s future is uncertain.

.

What freedoms does (and should) FOSS offer its users? Well, according to the definition of Free Software (BTW, we’re talking about Free as in Free Speech, not Free as in Free Beer), we have four basic freedoms:

  • Freedom 0: The freedom to run the program for any purpose.
  • Freedom 1: The freedom to study how the program works, and change it to make it do what you wish. This usually requires access to the source code.
  • Freedom 2: The freedom to redistribute copies so you can help your neighbor.
  • Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits. This requires Freedom 1 to be exercised and usually requires access to the source code.

Personally, I believe that part of Freedom 1 and Freedom 3 can be satisfied even without the user studying and/or modifying an application’s source code. An application can be partly adapted to the user’s needs without the user needing to study the source code and without any requirement for the user to have any significant programming skills. For instance, if the application has an easy to use, effective and well-documented (i.e. with properly-written instructions) setup, adjustment and customization system, the user will be able to bring the application closer to his needs and requirements. It’s clear to every human being that has a brain (with the obvious exception of the FOSS divas and their hooligan fanboys) that, if we want a user who is not a «power user» or a die-hard programmer to be able to tailor an application to his needs, we are morally and essentially obliged to offer the user appropriate tools for this task, otherwise the promise of «freedom of the user to adapt the application to his needs» becomes void for the vast majority of the users, except maybe for those who have (a) the skills, (b) the desire, (b) the time to study the source code, experiment and risk part of their productivity. It’s obvious that if, in the name of some hare-brained «vision» the project leaders may have. Για παράδειγμα, αν η εφαρμογή έχει ένα εύχρηστο, αποτελεσματικό και με επαρκή τεκμηρίωση (δηλαδή οδηγίες) σύστημα ρύθμισης και παραμετροποίησης, ο χρήστης θα μπορέσει να φέρει την εφαρμογή πιο κοντά στις απαιτήσεις και στις ανάγκες του. Είναι σαφές σε κάθε νουνεχή άνθρωπο (εκτός από τις ντίβες του ΕΛ/ΛΑΚ και τα χουλιγκάνια τους) ότι, αν θέλουμε ένας χρήστης που δεν είναι «power user» ή προγραμματιστής να μπορεί να φέρνει την εκάστοτε εφαρμογή στα μέτρα του, είμαστε ηθικά και ουσιαστικά υποχρεωμένοι να παρέχουμε τέτοια εργαλεία στο χρήστη, αλλιώς η υπόσχεση περί «ελευθερίας προσαρμογής της εφαρμογής στις ανάγκες του χρήστη» καθίσταται κενό γράμμα για τη συντριπτική πλειοψηφία των χρηστών, εκτός ίσως από αυτούς που έχουν (α) τη γνώση, (β) την όρεξη και (γ) το χρόνο να μελετήσουν τον πηγαίο κώδικα, να πειραματιστούν και να ρισκάρουν να χάσουν μέρος της παραγωγικότητάς τους. Είναι προφανές μάλιστα πως, αν, εν ονόματι κάποιου «οράματος» των project leaders, customization capabilities are taken away from the end user, who rarely has any real programming skills and/or time to study the inner workings of the application, 90% of the users are forced to kiss Freedom 1 bye-bye.

Furthermore, Freedoms 1 and 3 are violated in their spirit by «project leaders» who refuse to incorporate the upstream contributions of the community’s developers. Open-sourcing the code so that you can «crowdsource» (i.e. – let’s be blunt here – gain access to cheap or gratis work by volunteers, students, researchers and hobbyists just because you’re too much of a cheapskate to pay professionals who will be working full-time) and then say «I refuse to accept your improvements» because you’re scared they’ll overshadow your own non-existent contribution (which is exactly what happened with Oracle and OpenOffice.org: the ruling idiots at Oracle were sitting on their collective posteriors and the community developers who did all the hard work decided they’d had enough and decided to do something that would, under other circumstances, be risky and potentially undesirable: fork the application; turns out they did the right thing).

Let’s be honest here: Putting a GPLv2 or GPLv3 or LGPL on your software does not guarantee that you are giving real freedom to your users. OK, as far as the letter of the licenses is concerned (i.e. on paper), you may be covered. But to really comply to their spirit, you must always keep the user’s need on your mind and act withcomplete respectnot only towards the users (who, whether you like it or not, even if the project is something you do for fun, are the ones who will judge whether it’s worth using or not), but the other volunteers who will offer their work, skills, time and man-hours to help your application become better. If you don’t understand that and hide behind the lame and idiotic excuse «it’s free, so shut up and stop complaining» (like we said, Free Software means «free as in free speech», not «free as in free beer», as Stallman himself, whom you keep invoking to cover your ass without even knowing what he has said and what he stands for, has said numerous times), then you ain’t worth anything and you should rid the developers’ gene pool of your pathetic presence.

Grumpy Open Source Guy

.

Shortlink: http://wp.me/p2mUDU-D

Advertisements

Proprietary software and user enslavement

Translated-adapted from the original article in Greek.

The proponents of Free/Open Source Software (FOSS for short) often accuse proprietary software of essentially enslaving the user. Let us take Adobe and Autodesk as an example: ever since they acquired companies that produced applications (often competitive to theirs), they have forced their users to move to Windows from Linux or other Unix flavors. Here, users were forced to use an operating system which, until then, they wouldn’t even consider (and I don’t know if and to what extent you can set up a decent render farm under Windows). Didn’t something like that happen with Bentley Systems, whose Microstation stopped, from version 5.0 onwards, being developed for Linux and other Unix-like operating systems? Or with PTC which ceased all support for Unix-like operating systems in 2010? Were the existing users asked? I think not…

In other cases, the changes in the way an application is used were such that they alienated existing users – see, for instance, what happened with the ribbon in recent versions of Microsoft Office. Many users, including myself, felt uncomfortable with the new user interface. Some reverted to MS Office 2003. Others tried newer versions and rejected them. Some others acted like good customers of a monopoly and got used to the new interface.

The harsh and ugly truth is that many proprietary software companies (and especially those who have the market locked under their monopoly) expect the user to accept every change they will force upon him. And yes, we are talking about forcing changes upon users, because, when you have gotten accustomed to a certain workflow for ten odd years now and suddenly the company, instead of evolving it and advancing it one step further, changes it completely without asking you, it forces its will upon you. And you are forced to shut up and put up, because all of your colleagues use this particular company’s software and the proprietary file format it has created. This means that the user will, willingly or not, end up in one of the two following solutions:

  • Soldier on with an older version he is familiar with, risking the upcoming cessation of support for it, especially when it comes to security patches, and also various backwards compatibility problems, which in turn are translated into interoperability problems with co-workers who use more recent versions.
  • Migrate to a newer version (with the associated monetary cost for the upgrade), whose interface, as I already mentioned, differs greatly from the previous one, causing some loss of productivity while the user gets used to the new one (this loss of productivity might even be permanent in some cases).

None of these two options is something a user would (or should) like. The software house, of course, has no reason to fret about it: it’s tied the user up to its product due to its monopoly (see: chokehold) on the market and the alternatives’ iffy compatibility and interoperability with its own standard – and the latter makes sense, because the alternatives’ file import/export filters that are «compatible» with the proprietary format are the product of reverse engineering, which is not always successful. The user is forced to do, literally, whatever the company dictates. If the new version is too «heavy» (oftentimes for no reason at all) and requires a hardware upgrade, the user is going to have to accept this cost, willy-nilly. If the new version is harder to use than the existing one (or even unusable) and/or introduces by default a new file format that older versions cannot – at least in the beginning – use (see the .docx, .xlsx etc formats in MS Office 2007; to view these files in MS Office 2003, you needed a plug-in, which became available later on), then the user will have to beg his colleagues to store (if they remember to do it) the files in an older format, which will make him look bad, as he will be the one who will make them take an extra step (not to mention this will even make him look like a cheapskate).

Also, what happens if the format in question just stops being supported altogether? What happens if (or when) the monopoly ceases to exist? If, for example, the company that right now enjoys a monopoly on the market goes bust (anyone remember Professional Write?) or the users abandon its application in favor of another (see what happened more than 20 years ago, when users left Lotus 1-2-3 for the vastly superior Microsoft Excel)? Then we’re looking at a tiresome, tedious, annoying and possibly costly data migration process in order to prevent the loss of old data. In other words, «de facto» file standards, which are «protected» by patents and are the exclusive possession of various companies (which, of course, don’t live forever), only guarantee one thing: that, at one moment or another, the data created by the users will be at risk of being lost, because this standard will cease to be supported.

Thus, proprietary software, especially when it’s the de facto standard due to its monopoly on the market, enslaves the user to the whim of the company enjoying the monopoly and in does not offer any guarantee to the user (who almost never reads the «End User License Agreement», which only serves to render the company completely free of any responsibility for the quality of its product and makes the user liable to paying ridiculous amounts of money to the company in case he even thinks of making a copy of the application to install it elsewhere). In the realm of proprietary software, there is no such thing as user freedom (and we are not even talking about customizing the application or modifying it to suit the user – such ideas are prosecuted as «copyright infringement»); proprietary software does not even let the user choose what kind of software (i.e. which application) he will use for his work.

Oh, and please don’t start saying «but no one forces you to use MATLAB, Word, AutoCAD, Photoshop etc». The ecosystem of the user base forces you and the lack of interoperability with other applications. When you have a monopoly, you don’t have choice – you have a one-way road.

Grumpy Open Source Guy

.

Shortlink: http://wp.me/p2mUDU-u

Από εδώ και μπρος, και στα αγγλικά – From now on, in English too

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

Given that the problems faced by software users are not subject to geographical boundaries, I have decided from now on to translate some of my posts in English. Time to break the language barrier. Also, I would like to encourage other Greek bloggers who can write in English to do the same.

Grumpy Open Source Guy

.

Shortlink: http://wp.me/p2mUDU-q

ΕΛ/ΛΑΚ: Πόση ελευθερία δίνουν στους χρήστες οι developers; Μέρος 1ο

Στο προηγούμενο άρθρο μου εξήγησα κάποιους από τους λόγους για τους οποίους η χρήση proprietary (κλειστού) λογισμικού υποδουλώνει τους χρήστες. Ως αντίπαλο δέος απέναντι στις μονοπωλιακές τακτικές των μεγάλων εταιρειών λογισμικού ξεκίνησε ο Richard Matthew Stallman το GNU Project και το Ίδρυμα Ελεύθερου Λογισμικού (Free Software Foundation) και σε παρόμοιο μήκος κύματος κινείται και η, προερχόμενη από το κίνημα του Ελεύθερου Λογισμικού, πρωτοβουλία Ανοιχτού Κώδικα (Open Source Initiative). Θα περίμενε λοιπόν κανείς ότι εξ ορισμού το ΕΛ/ΛΑΚ, παρά τις όποιες ιδεολογικές διαφορές μεταξύ των δυο κινημάτων Ελεύθερου Λογισμικού και Λογισμικού Ανοιχτού Κώδικα (εδώ μπορείτε να δείτε την τοποθέτηση του Richard Stallman), εξασφαλίζει την ελευθερία των χρηστών. Σωστά;

Η απάντηση δεν είναι τόσο απλή. Και στο χώρο του ΕΛ/ΛΑΚ υπάρχουν προϊόντα που αποκτούν κυρίαρχη θέση στο «οικοσύστημα», που θα μπορούσε άνετα να θεωρηθεί μονοπωλιακή – ειδικά αν πίσω από τα σχετικά project δεν βρίσκονται κοινότητες συνεργαζομένων χρηστών και developers, αλλά εταιρείες ή ιδρύματα (foundations). Ανάλογα με τη νοοτροπία της διοίκησης της «μαμάς» εταιρείας ή του ιδρύματος, υπάρχει ένα σοβαρό ενδεχόμενο οι υπεύθυνοι (δηλαδή αυτοί που κάνουν κουμάντο) του project να το στρέψουν προς κάποια κατεύθυνση εντελώς αντίθετη από αυτή που θα επιθυμούσαν οι χρήστες. Ακόμα χειρότερα δε, παρατηρούμε το επιεικώς απαράδεκτο φαινόμενο γύρω από τους project leaders και τους κυριότερους developers να συγκεντρώνεται ένας θίασος αυλοκολάκων και αυτόκλητων πραιτωριανών, οι οποίοι επιτίθενται με σκαιότατους χαρακτηρισμούς σε κάθε χρήστη που έχει το «θράσος» να διαφωνήσει με την primadonnaτον project leader και την κλίκα τηςτους άμεσους συνεργάτες του.

Θα αναφέρω δυο πρόσφατα παραδείγματα:

  1. OpenOffice.org
  2. GNOME

Σήμερα θα εξετάσουμε την πρώτη περίπτωση – το OpenOffice.org. Στο δεύτερο μέρος θα δούμε τι έγινε με το παραθυρικό περιβάλλον GNOME.

To OpenOffice.org/Apache OpenOffice/OOo ξεκίνησε τη ζωή του ως StarOffice και ήταν ένα προϊόν της γερμανικής StarDivision. Το 1998 άρχισε να το διανέμει δωρεάν (προσφέροντας έτσι σε αρκετούς χρήστες Linux μια εναλλακτική λύση σε σχέση με το δαπανηρό WordPerfect) και το 1999 εξαγοράστηκε από τη Sun Microsystems, η οποία ήθελε να σταματήσει να πληρώνει άδειες για το Microsoft Office στη Microsoft – χώρια που ήθελε και να την ανταγωνιστεί. Το 2000, η Sun Microsystems κοινοποίησε τον πηγαίο κώδικα του StarOffice, το οποίο πλέον μετονομάστηκε σε OpenOffice.org. Στόχος ήταν η δημιουργία μιας ισχυρής κοινότητας για την περαιτέρω ανάπτυξη της εφαρμογής. Μετά την απόκτηση της Sun από την Oracle το 2010, η περαιτέρω ανάπτυξη και βελτίωση του OpenOffice κυριολεκτικά σταμάτησε. Ό,τι βελτιώσεις κι αν επέφεραν στον κώδικα της (βαριάς και πάναργης πλέον) εφαρμογής οι developers της κοινότητας απλά δεν πέρναγε σε επόμενες εκδόσεις – οι ιθύνοντες μικρόνοες της Oracle κάνανε αυτές τις γραμμές κώδικα σχόλια (με αποτέλεσμα, φυσικά, να μην έχουν καμία επίδραση στη λειτουργικότητα της εφαρμογής). Για ποιο λόγο; Γιατί απλά δεν τους ένοιαζε. Δεν πίστεψαν ποτέ στο ΕΛ/ΛΑΚ εκεί στην Oracle κι ούτε πιστεύουν. Το δε «Unbreakable Linux» της Oracle, ένα κακέκτυπο του Red Hat Enterprise Linux (επί τη ευκαιρία, πάνε πέντε χρόνια που περιμένω εκείνο το δωρεάν CD του «Unbreakable Linux» που υποτίθεται θα έφτανε στο γραμματοκιβώτιο του σπιτιού μου), δεν είναι και τόσο unbreakable, σύμφωνα με τις μαρτυρίες επαγγελματιών προγραμματιστών που το χρησιμοποιούν στο χώρο εργασίας τους.

Το αποτέλεσμα ήταν η δημιουργία του The Document Foundation (με την υποστήριξη της Novell, της Red Hat, της Canonical, της Google κ.α. εταιρειών), το οποίο προχώρησε σε fork του OpenOffice – και εγένετο LibreOffice, που πλέον εξελίσσεται αρκετά γρήγορα και με τους developers να προσέχουν αρκετά τη γνώμη των χρηστών, σε αντίθεση με το τι γινόταν παλιότερα. Η Oracle τσίνισε, φώναξε, απείλησε, αλλά τελικά αναγκάστηκε να πιει ξυδάκι και τελικά έδωσε τον κώδικα στο ορφανοτροφείο του ΕΛ/ΛΑΚ που ακούει στο όνομα Apache Foundation. To LibreOffice πάντως μια χαρά πάει.

.

Τι ελευθερίες (πρέπει να) δίνει στους χρήστες το ΕΛ/ΛΑΚ; Σύμφωνα με τον ορισμό του Ελεύθερου Λογισμικού, έχουμε τέσσερις βασικές ελευθερίες:

  • Ελευθερία 0: Την ελευθερία της εκτέλεσης του λογισμικού για οποιονδήποτε σκοπό.
  • Ελευθερία 1: Την ελευθερία της μελέτης του τρόπου λειτουργίας του λογισμικού και της προσαρμογής του στις ανάγκες σας. Η πρόσβαση στον πηγαίο κώδικα είναι απαραίτητη προϋπόθεση γι’ αυτό.
  • Ελευθερία 2: Την ελευθερία της αναδιανομής αντιγράφων του λογισμικού ώστε να βοηθάτε το συνάνθρωπο σας.
  • Ελευθερία 3: Την ελευθερία της βελτίωσης της εφαρμογής και της δημοσίευσης των βελτιώσεων που έχετε κάνει στο ευρύ κοινό, ώστε να επωφεληθεί ολόκληρη η κοινότητα. Η πρόσβαση στον πηγαίο κώδικα είναι απαραίτητη προϋπόθεση γι’ αυτό.

Προσωπικά πιστεύω ότι μέρος της Ελευθερίας 1 και της Ελευθερίας 3 μπορεί να ικανοποιηθεί ακόμη και χωρίς ο χρήστης να εντρυφήσει στον πηγαίο κώδικα μιας εφαρμογής. Μια εφαρμογή μπορεί εν μέρει να προσαρμοστεί στις ανάγκες του χρήστη χωρίς ο ίδιος να χρειαστεί να μελετήσει τον πηγαίο κώδικα και χωρίς να χρειάζεται να έχει σπουδαίες γνώσεις προγραμματισμού. Για παράδειγμα, αν η εφαρμογή έχει ένα εύχρηστο, αποτελεσματικό και με επαρκή τεκμηρίωση (δηλαδή οδηγίες) σύστημα ρύθμισης και παραμετροποίησης, ο χρήστης θα μπορέσει να φέρει την εφαρμογή πιο κοντά στις απαιτήσεις και στις ανάγκες του. Είναι σαφές σε κάθε νουνεχή άνθρωπο (εκτός από τις ντίβες του ΕΛ/ΛΑΚ και τα χουλιγκάνια τους) ότι, αν θέλουμε ένας χρήστης που δεν είναι «power user» ή προγραμματιστής να μπορεί να φέρνει την εκάστοτε εφαρμογή στα μέτρα του, είμαστε ηθικά και ουσιαστικά υποχρεωμένοι να παρέχουμε τέτοια εργαλεία στο χρήστη, αλλιώς η υπόσχεση περί «ελευθερίας προσαρμογής της εφαρμογής στις ανάγκες του χρήστη» καθίσταται κενό γράμμα για τη συντριπτική πλειοψηφία των χρηστών, εκτός ίσως από αυτούς που έχουν (α) τη γνώση, (β) την όρεξη και (γ) το χρόνο να μελετήσουν τον πηγαίο κώδικα, να πειραματιστούν και να ρισκάρουν να χάσουν μέρος της παραγωγικότητάς τους. Είναι προφανές μάλιστα πως, αν, εν ονόματι κάποιου «οράματος» των project leaders,  αφαιρεθούν σε κάποια μεταγενέστερη έκδοση οι δυνατότητες παραμετροποίησης από τον τελικό χρήστη (end user), ο οποίος σπανίως έχει υπολογίσιμες γνώσεις προγραμματισμού ή/και χρόνο και διάθεση για να μελετήσει τον τρόπο λειτουργίας της εφαρμογής, η Ελευθερία 1 πάει περίπατο για το 90% των χρηστών.

Επίσης, οι Ελευθερίες 1 και 3 παραβιάζονται όσον αφορά το πνεύμα τους και από «project leaders» που αρνούνται να περάσουν στις επόμενες εκδόσεις μιας εφαρμογής τις βελτιώσεις που συνεισφέρουν οι developers της κοινότητας. Δε μπορείς από τη μια να ανοίγεις τον κώδικα για να κάνεις «crowdsourcing» (δηλαδή – για να μη μασάμε τα λόγια μας – να αποκτάς πρόσβαση σε φτηνή ή τζαμπέ εργασία εθελοντών, φοιτητών, ερευνητών, μελετητών και χομπιστών επειδή είσαι πολύ τσίπης για να πληρώσεις επαγγελματίες που θα δουλεύουν full-time) και μετά να λες «αρνούμαι να δεχτώ τις βελτιώσεις που έκαναν» γιατί φοβάσαι ότι θα επισκιάσουν τη δική σου ανύπαρκτη προσφορά (που αυτό ακριβώς έγινε με την Oracle και το OpenOffice.org: οι ιθύνοντες μικρόνοες της Oracle κωλοβάραγαν και οι developers της κοινότητας που κάνανε όλη τη χαμαλίκα πήραν ανάποδες και προχώρησαν στο – υπό άλλες συνθήκες ριψοκίνδυνο και ενδεχομένως ανεπιθύμητο – fork και πολύ καλά έκαναν).

Κακά τα ψέματα: το να κοτσάρεις μια GPLv2 ή GPLv3 ή μια LGPL στο λογισμικό σου δεν εγγυάται σε καμία περίπτωση ότι δίνεις ουσιαστική ελευθερία στους χρήστες. ΟΚ, με το γράμμα των αδειών είσαι εντάξει. Για να είσαι εντάξει όμως και με το πνεύμα τους, πρέπει εσύ ο ίδιος να σκέφτεσαι με γνώμονα τις ανάγκες του χρήστη και να ενεργείς με απόλυτο σεβασμό τόσο προς τους χρήστες (που, είτε σ’αρέσει είτε όχι, ακόμα κι αν το project το κάνεις για την πλάκα σου, αυτοί είναι που θα κρίνουν αν αξίζει τον κόπο ή όχι) όσο και προς τους άλλους εθελοντές που θα βάλουν πλάτη για να βελτιωθεί η εφαρμογή σου. Αν δεν το καταλαβαίνεις αυτό και κρύβεσαι πίσω από την πανηλίθια δικαιολογία «είναι δωρεάν, άρα μην παραπονιέστε» (κλασική σοφιστική σύγχυση – free software μαγκάκο σημαίνει «free as in free speech», όχι «free as in free beer» και το έχει πει επανειλημμένα σε συνεντεύξεις του ο ίδιος ο Stallman, τον οποίον επικαλείσαι χωρίς καν να ξέρεις τι έχει πει και τι πρεσβεύει), τότε απλά δεν αξίζεις μία.

Grumpy Open Source Guy

.

Shortlink: http://wp.me/p2mUDU-j

Proprietary (κλειστό) λογισμικό και υποδούλωση του χρήστη

Οι υπέρμαχοι του ΕΛ/ΛΑΚ συχνά κατηγορούν το proprietary (κλειστό) λογισμικό ότι ουσιαστικά υποδουλώνει τον χρήστη. Ας πάρουμε για παράδειγμα τις Adobe και Autodesk: από την ώρα που εξαγόρασαν εταιρείες που παρήγαγαν διάφορες εφαρμογές (συχνά ανταγωνιστικές προς τις δικές τους), εξανάγκασαν τους χρήστες τους να μεταβούν στα Windows από εκεί που χρησιμοποιούσαν Linux ή κάποιες άλλες εκδοχές του Unix. Εδώ, οι χρήστες εξαναγκάστηκαν να χρησιμοποιήσουν ένα λειτουργικό σύστημα που μέχρι πρότινος ούτε καν θα το συζητούσαν (και δεν ξέρω και κατά πόσο μπορεί να στηθεί ένα αξιοπρεπές render farm σε Windows). Κάτι ανάλογο δεν έγινε όμως και με τη Bentley Systems της οποίας το Microstation έπαψε από την έκδοση 5.0 και μετά να αναπτύσσεται για Linux και τα υπόλοιπα Unix-like λειτουργικά; Ή με την PTC που το 2010 σταμάτησε κάθε υποστήριξη προς Unix-like λειτουργικά; Ερωτήθηκαν οι υπάρχοντες χρήστες; Μάλλον όχι…

Σε άλλες περιπτώσεις, οι αλλαγές στον τρόπο χειρισμού μιας εφαρμογής ήταν τέτοιες που ξένισαν πολύ τους παλαιότερους χρήστες – δείτε π.χ. τι έγινε με το ribbon στις πρόσφατες εκδόσεις του Microsoft Office. Αρκετοί χρήστες, στους οποίους βάζω και τον εαυτό μου, νιώσανε άβολα με το νέο τρόπο χειρισμού. Κάποιοι επέστρεψαν στο MS Office 2003. Κάποιοι άλλοι δοκίμασαν τις νέες εκδόσεις και τις απέρριψαν. Κάποιοι άλλοι απλά βγάλανε το σκασμό σαν καλοί πελάτες μονοπωλιακής εταιρείας και συνηθίσανε το νέο τρόπο χειρισμού.

Η σκληρή και άσχημη πραγματικότητα είναι ότι πολλές εταιρείες proprietary λογισμικού (και ιδίως όσες έχουν μονοπωλιακή θέση στην αγορά) προσδοκούν ότι ο χρήστης θα δεχθεί κάθε αλλαγή που θα του επιβάλουν. Και ναι, μιλάμε για επιβολή, γιατί, όταν επί δέκα ολόκληρα χρόνια έχεις συνηθίσει ένα συγκεκριμένο workflow και ξαφνικά έρχεται η εταιρεία και, αντί να το εξελίξει πηγαίνοντάς το ένα βήμα παραπέρα, το αλλάζει εντελώς χωρίς να σε ρωτήσει, σου επιβάλλει τη θέλησή της. Κι εσύ είσαι υποχρεωμένος να βγάλεις το σκασμό και να το υποστείς, γιατί όλοι ανεξαιρέτως οι συνάδελφοί σου χρησιμοποιούν το λογισμικό της συγκεκριμένης εταιρείας στη δουλειά τους και τα proprietary φορμά αρχείων που εκείνη έχει φτιάξει. Αυτό σημαίνει ότι ο χρήστης, θέλει δε θέλει, θα υποχρεωθεί στο να καταλήξει σε μια από τις εξής δυο λύσεις:

  • Να παραμείνει σε κάποια παλιότερη έκδοση με την οποία είναι εξοικειωμένος, ρισκάροντας όμως την οριστική και επερχόμενη παύση της υποστήριξης προς αυτήν ιδίως σε ό,τι αφορά θέματα ασφαλείας, αλλά και τυχόν προβλήματα προς-τα-πίσω συμβατότητας (backwards compatibility), άρα και διαλειτουργικότητας, που θα μπορούσαν να αντιμετωπίσουν ο ίδιος και οι συνεργάτες του που χρησιμοποιούν νεότερες εκδόσεις.
  • Να μεταβεί σε νεότερη έκδοση (με το συνεπαγόμενο άμεσο οικονομικό κόστος για την αναβάθμιση), η οποία όμως, όπως προανέφερα, διαφέρει ριζικά ως προς τον τρόπο λειτουργίας και χρήσης της, με αποτέλεσμα να υπάρξει κάποια απώλεια παραγωγικότητας.

Καμία από τις δυο λύσεις δεν είναι αρεστή στο χρήστη. Η εταιρεία όμως δεν έχει κανένα λόγο να προβληματίζεται: έχει δέσει το γάιδαρό της λόγω μονοπωλιακής θέσης στην αγορά και προβληματικής συμβατότητας των εναλλακτικών λύσεων με το δικό της πρότυπο – λογικό είναι, γιατί οι εναλλακτικές προτάσεις προσφέρουν φίλτρα εισαγωγής-εξαγωγής αρχείων «συμβατά» με το proprietary φορμά τα οποία αποτελούν προϊόν reverse engineering, που δεν είναι πάντα ιδιαίτερα επιτυχημένο. Ο χρήστης είναι αναγκασμένος να κάνει, κυριολεκτικά, ό,τι του υπαγορεύσει η εταιρεία. Αν η νέα έκδοση της εφαρμογής είναι πολύ «βαριά» (συνήθως μάλιστα χωρίς κανέναν απολύτως λόγο) και απαιτεί αναβάθμιση του υπολογιστή του, ο χρήστης θα επωμιστεί αυτό το κόστος θέλοντας και μη. Αν είναι δύσχρηστη και εισάγει ως προεπιλογή ένα νέο φορμά αρχείων που οι παλιότερες εκδόσεις δε μπορούν – τουλάχιστον στην αρχή – να χρησιμοποιήσουν (όπως έγινε με τα .docx, .xlsx κ.ο.κ. στο MS Office 2007 που χρειάζονταν plug-in, το οποίο κυκλοφόρησε αργότερα, για να χρησιμοποιηθούν στο MS Office 2003), τότε θα αναγκάζεται να παρακαλάει τους συναδέλφους του να αποθηκεύουν (αν το θυμούνται) τα αρχεία σε παλιότερο φορμά, κάτι που θα δημιουργήσει δυσαρέσκεια για εκείνον, καθώς θα τους αναγκάζει να κάνουν ένα βήμα παραπάνω.

Αλήθεια, τι γίνεται έτσι και το συγκεκριμένο φορμά πάψει να υποστηρίζεται τελείως; Τι γίνεται αν το μονοπώλιο καταρρεύσει; Αν, φερ’ειπείν, η άλλοτε μονοπωλιακή εταιρεία βαρέσει κανόνι (θυμάται κανείς το Professional Write;) ή οι χρήστες εγκαταλείψουν την εφαρμογή της για χάρη κάποιας άλλης (όπως έγινε πριν από πάνω από 20 χρόνια με τη μετάβαση των χρηστών από το Lotus 1-2-3 στο πολύ ανώτερό του Microsoft Excel); Τότε θα έχουμε μια κοπιαστική, εκνευριστική και πιθανώς δαπανηρή διαδικασία data migration για να μην απωλεσθούν τα παλιά δεδομένα. Με απλά λόγια, τα «de facto» πρότυπα αρχείων, τα οποία «προστατεύονται» από πατέντες και αποτελούν κτήμα εταιρειών (οι οποίες φυσικά δεν είναι αιώνιες), το μόνο που εγγυώνται είναι ότι κάποια στιγμή τα δεδομένα που έχουν δημιουργήσει οι χρήστες θα κινδυνεύσουν να χαθούν γιατί έπαψε το πρότυπο αυτό να υποστηρίζεται.

Το proprietary λογισμικό λοιπόν, ειδικά όταν αποτελεί de facto πρότυπο λόγω μονοπωλιακής θέσης στην αγορά, υποδουλώνει τον χρήστη στις ορέξεις της κάθε εταιρείας και σε καμία περίπτωση δεν προσφέρει την παραμικρή εγγύηση στο χρήστη (ο οποίος σχεδόν ποτέ δε διαβάζει την «End User License Agreement», η οποία απλά απαλλάσσει την εταιρεία από κάθε ευθύνη για το αν το προϊόν της θα λειτουργεί σωστά και καθιστά το χρήστη αστικά και ποινικά υπόλογο για την περίπτωση που θα διανοηθεί να κάνει ένα αντίγραφο της εφαρμογής και να το εγκαταστήσει κάπου αλλού). Στο χώρο του proprietary λογισμικού δεν υπάρχει καμία ελευθερία για τον χρήστη (και δε συζητάμε καν για τροποποίηση και προσαρμογή της εφαρμογής στα μέτρα του χρήστη – αυτά απλώς απαγορεύονται διά ροπάλου και με απειλή αστικών και ποινικών διώξεων για «παραβίαση πνευματικών δικαιωμάτων») ούτε καν στο επίπεδο της επιλογής του τι θα χρησιμοποιεί.

Και μην έρθουν διάφοροι καλοθελητές να πουν «μα ξέρεις, δε σε υποχρεώνει κανένας να χρησιμοποιήσεις MATLAB, Word, AutoCAD, Photoshop ή δεν ξέρω κι εγώ τι άλλο». Σε υποχρεώνει το ίδιο το οικοσύστημα των χρηστών και η ουσιαστική έλλειψη διαλειτουργικότητας με άλλες εφαρμογές. Όταν σε κάποιο χώρο έχουμε μονοπώλιο δεν υπάρχει επιλογή – υπάρχει μονόδρομος.

Grumpy Open Source Guy

.

Shortlink: http://wp.me/p2mUDU-c

Το καθιερωμένο καλωσόρισμα…

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

Ο τίτλος του ιστολογίου από μόνος του μαρτυρά ότι είμαι γκρινιάρης, άρα και ανικανοποίητος. Και επίσης, ότι είμαι υπέρμαχος του Ελεύθερου Λογισμικού/Λογισμικού Ανοιχτού Κώδικα (ΕΛ/ΛΑΚ ή ΕΛΛΑΚ – Free/Libre and Open Source Software ή FOSS ή FLOSS αγγλιστί). Απεχθάνομαι τις μονοπωλιακές τακτικές των διαφόρων μεγάλων εταιρειών που μέσω επιθετικών εξαγορών βρέθηκαν να κυριαρχούν σε διάφορους τομείς και να επιβάλουν έτσι de facto τη θέλησή τους και τους όρους τους στους χρήστες, υποχρεώνοντάς τους ακόμη και σε αλλαγή λειτουργικού. Και βέβαια θεωρώ κατάπτυστη την πολιτική που ασκούν με τις εξωφρενικές υπερτιμολογήσεις των υπηρεσιών τους.

Θεωρώ ότι ο μόνος τρόπος για να ανακτήσουν οι χρήστες την ελευθερία τους και τη δυνατότητα πραγματικής διαλειτουργικότητας είναι το ΕΛ/ΛΑΚ – ο συγκερασμός δυο συγγενικών, αλλά διαφορετικών μεταξύ τους φιλοσοφιών ανάπτυξης λογισμικού, οι οποίες έχουν και το χαρακτήρα κοινωνικού κινήματος, με κάποιες πολιτικές προεκτάσεις. Όμως, ο ίδιος ο χώρος του ΕΛ/ΛΑΚ πρέπει να παρέχει και τα κατάλληλα εργαλεία (τις κατάλληλες εφαρμογές και την κατάλληλη αντιμετώπιση προς τον χρήστη) για να καταστεί εφικτή η χειραφέτηση των χρηστών. Δε μπορεί οι ηγήτορες του κινήματος του ΕΛ/ΛΑΚ να παριστάνουν τις ντίβες και να λένε «ο χρήστης θα πρέπει να συμφωνήσει με ό,τι κάνω εγώ γιατί του το προσφέρω τζάμπα, αλλιώς τη βόλτα του». Τα κινήματα αξίζουν μόνο όσο εξυπηρετούν την κοινωνία, δηλαδή στην περίπτωσή μας τους χρήστες. Και κάπου εδώ τελειώνει αυτό το άρθρο κι αρχίζει το ιστολόγιο…

Grumpy Open Source Guy

.

Shortlink: http://wp.me/p2mUDU-7