Software is too important to leave it to programmers

Update 2011/02/22: I have answered to the comments by “Anonymous” in a separate page

After reading Software piracy is also the Government’s fault a website developer wrote to me (synthesizing):

  1. trying to write programs or websites “for everybody” is something that requires a lot of development time; therefore, unless the customer paid to have something viewable with any browser/operating system, you do it. Otherwise, you DON’T. You try to make happy the makority of users and who gives a f**k if not all versions of Linux support Vmw (a video format) out of the box. Sure, that’s ugly to say, but that’s the way it goes

  2. I don’t even care much for people who use Open Source Software that they didn’t pay and then demand to be treated as those who paid something

  3. Here’s a (deliberately) stupid example: if I build my own car myself with my friends, in our spare time, I certainly don’t expect the same performances as an Audi

Strictly speaking, point 1 is absolutely correct (not always, but often) from a purely technical point of view. That’s why I’m not upset, in general, with Web developers who try to follow it. I am upset with their CUSTOMERS (who, in the article this guy is criticizing, are mainly Public Schools and Administrations) that pay developers to get things half-done, or do things badly themselves. Even when there is no real need to do it, violating the mandate they receive from all their users, that is citizens. I’m also upset with those customers that are private businesses but go against the interest of their own customers, including the ones who normally use proprietary software. Home banking is a perfect example: I may only use Windows and Internet Explorer in my home or office, but my bank must still set up a remote banking website that works on every browser. Because it is my right (being a paying user of their services!) to access my account even from a resort in Polinesia that only happens to run Linux or Windows 95. Otherwise I go to another bank.

Point 1 also seems to completely ignore what vendor independence or software neutrality mean and the fact that, at least on paper, these principles are already acknowledged or imposed by law in many countries. The cases of software piracy for which a Government is responsible (that is the ones I was actually talking about) are exactly those where the Government itself doesn’t enforce those principles.

In the same context, this is how point 2 sounds to me: “if a student, after paying all school taxes and fees has no money left to buy a computer powerful enough to open files in .docx format, that is to run recent versions of OpenOffice, LibreOffice or even a cracked version of MS Office, and his or her teacher only publishes courseware in that format (out of pure ignorance or lazyness, certainly not out of a real need)… I don’t care for that student, that demands to use that courseware just as much as his classmates who could afford a computer!”

Point 3 is so off topic that it doesn’t even matter if and how much it’s stupid. This said, if I build myself a car that uses the same fuel as an Audi, of course I don’t expect the same performances. But a gas station that refused to serve customers who don’t own an Audi would go bankrupt in one week.

So, it’s the Government’s fault or not?

Software piracy is the fault of Public Administrations in all cases when they produce or let use in public contexts, but without any real need (as it happens in the great majority of real world cases in the context of my article), closed file formats or computer protocols, that force other people to only use certain programs.

Every citizen is entitled to have public services usable with any operating system, including those that are legally usable without paying any license fee, because he or she already paid in advance for those services and, very often, the software isn’t a problem at all. A public website made with proprietary software may be acceptable, as long as it’s completely usable by everybody, with any browser or operating system, including Open Source ones.

Instead, in the context of that article, production or demand of document and service compatible with one specific software program (whatever it is, even Open Source), rather than with open standard, is an intrinsically stupid thing. The fact that this is just what actually happens in many real cases can only be explained remembering that we’re still at the dawn of the information age. Therefore, the committents of some works (I repeat: I have an issue with them, rather than with developers) don’t realize yet that tolerating or giving that kind of specifications is just as smart as saying “please develop paper forms that can be filled with Bic pens, we’ll also make them compatible with Mont Blanc pens if there will be some money left”.

If today it still seems naive to demand only open computer protocols and file formats that’s just a reason to be patient, not to give up. Because software, like it or not, makes legislation (read the computer health certificates story). Therefore, since making or obeying laws is and must remain the responsibility of lawmakers and (all!) citizens it is essential that these people understand that strategic decisions about software (like which kind of formats are acceptable in public contexts) are too important to be left to programmers and other technical specialists.