Byte, noviembre del 85

¡Voy tarde! Es diciembre y en la portada de Byte dice que aún es noviembre (sí, de 1985, claro). Anyway, vamos allá, de urgencia, con el repaso a la revista

La portada de la revista Byte noviembre de 1985. El precio es de tres dólares con noventa y cinco. El tema de portada es Inside the IBM PCs. La ilustración, en blanco y negro, es una figura humana (parece un hombre vestido de traje con un maletín en la mano, frente a un enorme ordenador tipo PC de la época que parece desmontarse en una especie de puzzle tridimensional

Y comenzamos con el que sigue siendo el tema, en 2025, de revistas de informática, entradas de blogs y vídeos de YouTube a tutiplén: utilidades de dominio público:

Public-Domain Utilities

Build an extensive software library for free

by Jon R. Edwards

THE EXTENSIVE public domain collection for the IBM Personal Computer and compatibles is a very valuable resource. It is easily possible to build an extensive software library and incorporate the utilities into your home projects or to save considerable time and effort by installing a RAM (random-access read/write memory)-disk and print spooler. Most programs in the public domain provide source code; you can learn from the code and, more important, you can customize the routines for your own requirements. Undoubtedly, some of the software will fill your needs, and the more obscure programs may simply trigger your imagination.

The notion that "free means shoddy" does not necessarily apply to this software. I suspect that most of the free utilities were originally written to fill individual needs and as part of the "hacker ethic" have been shared with the public. The programs adequately fill many needs, and they have a tendency, as the user community modifies and expands them, to become more and more bug-free and sophisticated. Most public-domain programs provide limited functionality, and their user interfaces and documentation are generally less polished than commercial products, but it is amazing how many commercial products do very little more than integrate the capabilities of programs that already exist in the public domain. If nothing else, exposure to these programs will make you more aware of what to look for and expect from the products you buy. And who knows —in the short descriptions that follow, you may find software that's perfectly suited to your needs. At least the price is right.

Free Software

To the best of my ability, I have concentrated on free, no-strings-attached software and not on shareware or user-supported software. There is, to be sure, a growing amount of shareware for the IBM family, and much of it is excellent (see "Public-Domain Gems" by John Markoff and Ezra Shapiro, March BYTE, page 207), but the products often do not provide source code, and their authors usually request a contribution; most users legitimately feel that the products deserve financial support.

Naturally, I cannot guarantee that the software you download will function as you hope it will. I certainly hope you find dozens of interesting utilities here and that your investigations lead you to new and exciting things, but I take no responsibility if the programs you download do nothing or turn your screen inside out.

Locating free software is getting easier and easier. There are more users groups, bulletin-board systems (BBSs), and public-domain copying services than ever before, and the...

Cuarenta años más tarde seguimos igual de locos por obtener utilidades gratuitas y seguimos teniendo que explicar que «gratis» no necesariamente es «malo». Es curioso, eso sí, comprobar que en 1985 había que explicar que muchas de las utilidades venían con su código fuente («código abierto» se puso de moda a finales de los noventa, dice la Wikipedia). Y a uno le entran sudores fríos pensando en descargarse software de BBS a través de los módems de la época (por mucho que los programas pesaran entonces una miseria al comparalos con los actuales).

Si hacéis click en la página y seguís leyendo encontraréis utilidades de disco, de memoria, de estatus del sistema, de ayuda para el uso del teclado, de manipulación de texto y de archivos, de control de pantalla, pequeñas aplicaciones, utilidades de impresión, software de comunicaciones o lenguajes de programación (Forth, LISP, Logo). Lo de siempre: hemos cambiado, en cuarenta años, pero no tanto como uno podría imaginar.

Creo que llevábamos un tiempo sin fijarnos en la publicidad:

Diez megas en 8 minutos son algo más de 20 kilobytes por segundo (mi conexión de fibra da fácilmente 50 megabytes por segundo, o bastante más de 20 gigas en 8 minutos, y los puertos USB 3 llegan a los 500 megabytes por segundo) por apenas 180 dólares de la época (460 euros de hoy). Quejaos de que el pen USB os va lento y es caro, va… Y si seguimos con el tema, podemos repasar las velocidades de los discos de la época en general:

Factors Affecting Disk Performance

Four major physical factors determine overall disk performance: access time, cylinder size, transfer rate, and average latency.

Access time is the amount of time it takes to move the read/write heads over the desired tracks (cylinders). Once the heads are over the desired tracks, they must settle down from the moving height to the read/write height. This is called the settling time and is normally included in the access time. Specifications for AT and XT disk-drive options are shown in table A.

A cylinder is composed of all tracks that are under the read/write heads at one time. Thus, tracks per cylinder is the same as the number of data heads in the drive. Cylinder size is defined as tracks/cylinder x sectors/track x bytes/sector.

The Quantum Q540, for example, has four platters and eight data heads,

while the Vertex VI 70 has four platters, seven data heads, and one servo head. The difference is that the Quantum drive uses an embedded (or wedge) servo, where the servo signal is embedded on the data tracks, preceding the data portion of each sector on the disk. The Vertex drive uses a dedicated servo that requires its own surface. This difference means that the Quantum drive has 8.5K bytes more data available to it before it must seek the next track; if all other factors were equal (which they aren't), the Quantum would be slightly faster in those cases that required reading that "extra" 8.5K bytes.

Transfer rate is the rate at which data comes off the disk. It depends on rotation rate, bit density, and sector interleaving. The first two factors are practically the same for all AT-compatible 5!4-inch hard disks, but not for all

floppy disks (the AT's spin 20 percent faster than the other PC floppies).

Sector interleaving is used to cut down the effective transfer rate. The interleave factor of 6 used on the XT cuts the effective transfer rate from 5 megabits per second to 0.833 megabit per second. Note that embedded servo disks, such as those used in the XT and the AT, actually spin about 1 percent slower than 3600 revolutions per minute (rpm) to allow for the increased density due to the servo.

Average latency is the time required for a disk to spin one-half of a revolution. For hard disks, which spin at 3600 rpm, the average latency is 8.33 ms (1/3600 rpm x 60 seconds/minute x 0.5 = 8.33 ms per half revolution). This is due to the fact that after the heads finish seeking and settling, you must wait for the required sector to come under the heads.

¿Lo más rápido de la época? 300 kilobytes por segundo. Y ni siquiera me siento viejo recordándolo… ¿Que a qué precio salían, decís?

Four Hard Disks For Under $1000

Inexpensive help for your disk storage space woes

by Richard Grehan

IF YOU ARE a peruser of the back pages of BYTE like most of us. you cannot have failed to notice the plummeting prices of hard-disk systems, particularly those available for the IBM Personal Computer. It is commonplace to find a complete subsystem, including hard disk, controller card, and software, for under $1000.

The advantages of a hard disk should be obvious: Its speed, convenience, and storage space eliminate most of the agonies involved with managing a large pile of floppy disks. If you're interested in setting up a personal bulletin-board system, the purchase of a hard-disk system should be your top priority.

I selected four hard-disk systems from the pages of BYTE and other computer periodicals. My only criterion was that the complete system must cost less than $1000. This article by no means exhausts all the under-$1000 hard disks advertised, but it should give you an idea of some possible trade-offs and troubles if you decide that a hard disk is your PC's next peripheral. Performance and price information is provided in table 1.

The Sider

The Sider is from First Class Peripherals, a Carson City, Nevada, company. An external drive, it is consequently the easiest of the four to install. This also means that the drive has its own power supply; the only added power burden to your PC is the interface card. Additionally, since the Sider does not replace one of your system's floppy-disk drives (all of the internal drives reviewed install in place of one floppy-disk drive), you lose no functionality when you need 
to, say, copy one floppy disk to another. Best of all, you are spared the trouble of digging through the technical manuals to discover which switches on the PC's motherboard you have to flip to configure the IBM as a one-floppy system.

The Sider comes in a rather large (7 1/2 inches tall, I6 1/2 inches long, and 3 1/2 inches wide) creamwhite molded-plastic housing. The hard disk is mounted on its side, and the mechanism is convection-cooled via the case's slotted top. (This slotted top warrants caution: Small objects and certainly fluids could be unwittingly dropped into the inner workings of the unit, inflicting heaven knows what damage.) Since the unit is taller than it is wide, I experienced a notunjustified fear of knocking it over. A rather stiff but comfortably long cable connects the drive to the interface card. The installation and operation guide that comes with the Sider is a small 31 -page booklet. It is clear and easy to read, obviously written for people with an absolute minimum of hardware knowledge. It includes numerous illustrations of what goes where an

Sí. Menos de mil dólares (más de dos mil quinientos de hoy con la inflación) es «inexpensive». ¿Por qué capacidades? 800 dólares te dan un disco externo (súper llevable: 19 por 42 por 9 centímetros, más o menos; no me atrevo a consultar el peso) de diez megas y que «solo» hace falta encender 30 segundos antes que el ordenador (lo juro, haced clic en la imagen, pasad página y leed). Uno de los internos, el SyQuest (compañía que duraría hasta su bancarrota en 1998), llega a la barbaridad de 30 megabytes #madreDelAmorHermoso. Y si hay que economizar, tenéis el Rodime, que os da 10 megas por apenas 500 dólares. Me los quitan de las manos. Bendita ley de Moore (y familia).

¿Otra cosa que no es exactamente reciente? Dame un problema, no importa qué problema, y alguien te lo resolverá con una hoja de cálculo:

Circuit Design with Lotus 1-2-3

Use the famous spreadsheet to design circuits and print out schematics

by John L. Haynes

SPREADSHEETS, especially those with graphics, are not just for business applications; they can be of great help to circuit designers or anyone else designing systems that can be described by equations.

As an example, let's take a look at the application of one spreadsheet, Lotus 1-2-3, to one technical problem, electronic circuit design and analysis. We'll look at both digital and linear circuits.

Digital Circuits

Digital circuits are built from logic building blocks— inverters, NAND gates, flip-flops, etc. We can simulate each of these components with the equations in a cell of a spreadsheet, using the spreadsheet's built-in logical operators shown in figure 1. For instance, in the spreadsheet portion of Lotus 1-2-3, the equivalent of an inverter is the operator #NOT#, structured as #NOT#(A= 1). This structure means the state of the operator #NOT# is not true, or equal to a logical 0, if the state in the parentheses is true. This is equivalent to the output of an inverter circuit whose input is A. Similarly, the model of a NAND gate, #NOT# (A=1#AND#B = 1). is not true if input A and input B are both true. The flip-flop is a bit more complex, since its output depends not only on its input conditions but on the transition of a clock pulse. For simplicity, let's assume that there is a narrow clock pulse that triggers the flip-flop whenever the clock pulse is true— in other words, whenever its logic state is a logical 1. The Q output remains in its present state until the clock is true; it then assumes the state of the input D. The O' output is the logical opposite of Q.

These actions are easily simulated using the logical @IF function. It is structured as @IF(AB,C) and means IF A THEN B ELSE C. That is, if the logical condition of A is true, then the function equals B. Otherwise, the function equals C. Setting the variables as @IF(C= 1 , D,Q). we can interpret the state of the function as: If the clock C is true, the state is equal to D; otherwise, it remains Q. The Q' output is handled with the #NOT# operator.

Given the ability to simulate logic components with spreadsheet functions and operators, let's now look at how we can use this technique to build a simple digital circuit. The synchronizing circuit of figure 2 is a commonly encountered arrangement. Known variously as an edge detector, a synchronizing circuit, and a digital differentiator, it develops a pulse one clock period long when an external,

Diseño de circuitos electrónicos con Lotus 1-2-3. En serio. No es una inocentada. O sí, pero suprema.

Y recupero mi tema fetiche, «cosas que ni en broma se publicarían hoy en día en una revista generalista»:

One Million Primes Through the Sieve

Generate a million primes on your IBM PC without running out of memory

by T. A. Peng

A POPULAR WAY to benchmark microcomputers is with the Sieve of Eratosthenes. It is a simple and effective method for generating prime numbers. However, if you try to use the Sieve to obtain more than a few thousand primes on your IBM PC, you will soon encounter the dreaded phrase, "Out of memory." You would think, then, that as far as microcomputers are concerned, the Sieve of Eratosthenes would be an impractical way to generate a large number of primes. This is not so. Let me show you how to use the Sieve to generate a million primes on your microcomputer. Listing 1 (written in Microsoft BASIC) illustrates how, with very little memory, you can put 500.000 numbers through the Sieve to obtain all the primes less than 1,000,000. The idea is quite simple. Use an array of flags to represent the first 1000 odd numbers. After the nonprimes among them have been sieved out, reinitialize the array to represent the next 1000 odd numbers. Lines 120 through 140 initialize the array and lines 340 through 360 reinitialize it before you use it for the next 1000 numbers. The largest prime whose square is less than 1,000,000 is 997 and it is the 168th primestarting with the prime 2. To generate all the primes less than 1,000,000, you don't have to use primes larger than 997, This is the reason for line 220 and for the size of two of the arrays in line 110. The loop in lines 240 through 270 flags all numbers less than 1000 that do not yield primes. (We have K = I + nP, so that K + K + 1 = (I + I + 1) + 2nP = P(2n + 1), which is not a prime.) After each loop is executed, the value of K will be greater than 1000 (and K would flag the next number if the size of the array were larger) and this is remembered as K(C). The variable C keeps count of the primes generated with C - 1 as the actual number of primes generated at the end of each loop. Line 390 assures that the value of K lies between 1 and 1000. You need line 460 to give the correct value for the prime Q in line 490. All the variables except C, Q, and R are integer-valued. There is a reason for this. If the program executes correctly, the output of line 540 should read, "999,983 is the 78,498th prime and the largest less than 1,000,000."

It is clear how to modify listing 1 to generate all the primes less than 2,000,000 or even 10,000,000, but to get a predetermined number of primes, we need to know a little about their distribution. Specifically, what we need to know is the size of the arrays K and P and the largest prime to be used in the Sieve. And in order to know this, we must have a rough idea of how large the...

La criba de Erastótenes, amigas y amigos. Que, por cierto, no es un algoritmo especialmente complicado de entender (dejamos como ejercicio para la lectora girar la página e intentar entender el código en BASIC de la siguiente página :-)). Ahora me han enrado ganas de comprobar cuánta RAM consume el programita en Python que genera ChatGPT en menos tiempo del que necesitarías para teclear las tres primeras líneas del programa propuesto en la revista… pero no las suficientes como para hacerlo de verdad O:-).

Y para cerrar… la multitarea:

Top View

IBM's long-awaited multitasking program makes its debut

BY TJ Byers

TOPVIEW is a multitasking program that, for $149, enables your IBM Personal Computer to install more than one program in the system. This is different from the window programs that presently claim to accomplish the same thing. When working with windows, you must quit a program before you can begin another. With TopView, however, you don't have to quit either one of them. Both can be resident on the screen— and. more important, in the microprocessor—at the same time.

Multitasking

TopView's multitasking capabilities allow several programs to run simultaneously (see photo 1). This isn't the same thing as switching between programs without quitting them; it means that you can actually have one program running in the background while using another. Let's say, for example, that you need to calculate a large spreadsheet, and the job will take several minutes. Instead of staring idly at the screen while the computer crunches away, you can banish the spreadsheet to TopView's background mode and proceed to work on another program— the computer will handle both tasks at the same time. While one program is making calculations in the background, the other can be receiving data from the keyboard. You lose no time waiting for one program to finish before you start the other.

Multitasking is not a new concept. Mainframe computers have used multitasking for many years to enhance their performance. What is new, however, is putting multitasking capabilities into a personal computer.

TopView brings multitasking to the IBM PC using a multiplexing technique known as time slicing. Basically, TopView divides the microprocessor's time into slots during which it switches rapidly from one program to another. The time slices are very short, on the order of milliseconds, and the switching action is not apparent to either the application program or the user, so the programs appear to be running concurrently on the machine. In actuality, they are processed consecutively in very quick order. The procedure gives a single computer the ability to run more than one program at a time.

Multitasking is not without its faults, however. While one program is being processed, the others are held in suspension. Consequently, the programs tend to run more slowly. The more programs you have running at the same time, the slower each apparently becomes. A quick benchmark test using TopView to conduct a simple word search of Writing Assistant on an IBM PC AT showed that it took a full 14 seconds to search a typical 3000-word file as...

Y es que, en 1985, que un ordenador personal fuese capaz de ejecutar múltiples programas en paralelo no era exactamente trivial. Tanto no lo era que no resultaba descabellado cobrar 150 dólares por el programa para hacerlo. Aunque te redujese un 75% el rendimiento del software (cosa que solo ibas a notar cuando ejecutases programas intensivos en cálculo, claro, pero eras tú quien tenía que pensar en ello) o se te comiese buena parte de la RAM del ordenador.

Por cierto: las interfaces «de ventanas» de la época no tenían precio (aunque, de hecho, hoy se están poniendo los programas «TUI», en un maravilloso retorno al pasado :-)).

Un par de fotos de los intentos de mostrar varias aplicaciones en pantalla usando una interfaz puramente textual. No me veo capaz de hacer una descripción fidedigna.

En fin, lo dejamos aquí, que vamos tarde. El mes que viene Dentro de unos días (seguramente semanas), más.

Como de costumbre, tenéis los archivos de la revista Byte en archive.org, y si queréis, podéis ir avanzando trabajo con el número de diciembre.

Hackers de bien

Estos días Antonio ‘Error 500’ Ortiz se ha marcado un par de entradas en el blog que me han llamado poderosamente la atención… por un lado El valor de Change.org y de la cultura de la adscripción y, por otro, Derechos civiles, intelectuales y “geeks” (no os perdáis el origen, Geeks are the New Guardians of Our Civil Liberties), que están íntimamente relacionadas entre sí (y si alguien no seguía Error 500, también puede aprovechar para repasar Aaron Swartz, in memoriam, bastante en la línea).

El tema lleva, casi automáticamente, a pensar en un puñado de proyectos que han visto la luz en los últimos tiempos, como España en llamas, Fixmedia.org o tuderechoasaber.es, por citar los tres que más han sonado en mi entorno (por cierto, todoos ellos salidos de esa fantástica fábrica de proyectos que es GOTEO, de la que hemos hablado recientemente en Mosaic, por aquello de tirar aún más de serendipia). Además, los dos últimos manifiestan características prodemocracia que me llevan al siguiente punto…

En unos días marcados por iniciativas legislativas populares y los problemas de nuestros partidos políticos mayoritarios con entender la democracia y lo que esta significa, los problemas de legitimidad con que carga Change.org últimamente me retrotraen a una iniciativa de la que me hice eco por aquí hace cosa de dos años y medio y que podría haber significado el paso adelante que Change no ha querido, sabido o podido dar hasta el momento: Usa tu DNI electrónico: recogida de firmas con e-ilp.org (que también recogieron en su momento Antonio en Recogida de firmas en internet con DNI electrónico e Ismael Peña en Firma online contra el Canon (este último en SociedadRed, otro recurso imprescindible sobre estas materias, que echa humo estos días)). A día de hoy www.e-ilp.org (un proyecto del grupo de investigación CCSG de la UAB con el soporte del Plan Avanza del Ministerio de Industria), languidece un poco (un mal endémico y casi inevitable entre los proyectos que nacen en las universidades cuando se seca el pozo del dinero público :-S), hasta el punto que os hará saltar una advertencia de seguridad porque el certificado de seguridad, mucho me temo, debe haber caducado. Aún así, el proyecto, afortunadamente, sobrevive como Recsig en SouceForge (una de las grandes virtudes del código abierto es que facilita que el código sobreviva al proyecto que le hizo nacer).

Y de ahí saltamos a otra iniciativa genial, hackforgood.net/barcelona, que se celebrará en el Campus Nord de la UPC los próximos 1, 2 y 3 de marzo. Ojalá se pudiese recuperar, mejorar y ampliar Recsig en ese marco. Pero, aunque no se consiga, es otro escenario en que dar unos cuantos pasos más adelante para demostrar que la comunidad hacker es una de las mejores vías con que contamos para salir de una situación que se me antoja cada vez más insostenible si no cambiamos de rumbo urgentemente.

WordPress 2.7, el trailer

Pues la verdad es que ya tengo ganas de ver la peli… (Versión grande.)

(Una pequeña reflexión sobre software libre y/o de código abierto… ¿Por qué casi todos los proyectos de este estilo flojean tanto por la ‘pata’ de las interfaces, la usabilidad y la experiencia de usuario? ¿Por qué me sorprende tanto (y tan poco a la vez) que la versión de WordPress que más me apetece probar se centre precisamente en esos puntos? ¿Necesita el código abierto unas lecciones sobre el tema? ¿O quizá las necesiten, directamente, las escuelas de ingeniería en informática?)

Free cooking

Vaya por delante: si me dan a elegir entre código libre y código abierto, me suena mucho más atractivo lo de abierto que lo de libre. Pero confieso que, incluso después de haber estudiado un poco el tema, sigo sin tener muy clara cuál es la diferencia y cada vez que consulto listados de licencias de la Free Software Foundation y de la OSI me hago un lío más grande. Cortito que es uno, oiga.

Vaya por delante, también, que, por filosofía, tanto ‘open’ como ‘free’ me suenan mejor que ‘closed’ o ‘proprietary’, pero que tengo por casa copias legales de Windows XP, de Vista, de Microsoft Office y un buen montón de software de Adobe. De la misma manera que tengo corriendo algún Linux y copias de OpenOffice.org, The Gimp o Inkscape. A igualdad del resto de factores, me quedaré con la solución abierta/libre sobre la cerrada/propietaria. Y a falta de una cuenta corriente infinita, lo gratis suena más atractivo que lo comercial, también (aunque no, no confundo ‘free as in free speech’ con ‘free as in free beer’).

Viene la cosa porque releo las anotaciones de Isma (Richard Stallman: Free Software and Beyond) y Julià Minguillon (Be free, my friend) sobre la charla de Richard Stallman en el FKFT (que me perdí, cosas que pasan, a pesar de currar un par de días de voluntario en la conferencia) y me vienen a la cabeza diversas cosas.

La más importante, sobre todo, por una anotación que recoge Isma de lo dicho por Stallman: que la analogía con las recetas de cocina es la mejor para comprender las cuatro libertades del software libre. Ciertamente, ¿no deberían garantizarse universalmente las cuatro libertades de las recetas de cocina?

  • La libertad de elaborar una receta, para cualquiera (libertad 0).
  • La libertad de estudiar una receta y adaptarla a tus necesidades (libertad 1). El acceso al ‘código’ de la receta es una precondición para esta libertad.
  • La libertad de redistribuir copias de la receta para ayudar al prójimo (libertad 2).
  • La libertad de mejorar la receta y publicar tus mejoras, para que toda la comunidad se beneficie (libertad 3). De nuevo, el acceso al ‘código’ es una precondición.

Hablamos de comida y no creo que nadie me discuta que la cocina es tan esencial como el software para la humanidad (habría, incluso, quien llegaría a decir que la cocina es más importante…). Tampoco discutirá nadie que es vital (nunca mejor dicho) la existencia de un corpus de recetas libres y abiertas, amplio y bien documentado.

Y sin embargo, todos (o al menos todos los que vivimos en el primer mundo y disponemos de una renta digna) hemos ido alguna vez a algún establecimiento de comidas que vulnera impunemente las cuatro libertades y, de regalo, no revelaría los secretos de sus recetas ni a punta de pistola. Corre por ahí una cierta compañía de refrescos con burbujas que, de hecho, considera su principal patrimonio el ‘código fuente’ de una de sus bebidas. Y puede que sean malvados, pero a casi nadie se le ocurriría decir que lo son por no divulgar sus recetas…

Además, la existencia de este tipo de empresas y establecimientos no atenta contra ese vital recetario libre y universal. Si hasta hay una OpenCola… Y, curiosamente, que exista un modelo de negocio basado en las recetas de código propietario y cerrado tampoco impide que el negocio alrededor de las recetas abiertas y/o libres sea boyante, incluso en tiempos de crisis. Enciéndase la tele un día de diario hacia el mediodía y podrán presenciar el trabajo de diversos ‘gurús de la receta libre’ que publican con total alegría [parte de] su propiedad intelectual y se ganan muy bien la vida con ello. Me han comentado, además, que hasta en las librerías se pueden comprar cientos de libros que publican el ‘código’ de infinidad de recetas. Muchos restaurantes viven de la explotación del ‘recetario libre’ porque disponer de la receta y convertirla en un plato no son la misma cosa: aún teniendo la receta usada por el restaurante en casa existen múltiples razones para pagar por que te la ‘ejecuten’: ahorro de tiempo y esfuerzo, que la ejecución del cocinero del restaurante es mejor que la nuestra… Existen estimaciones, de hecho, que dicen que el negocio alrededor del recetario abierto/libre es mucho mayor que el que se ha formado alrededor del modelo cerrado/propietario: parece ser que las industrias de las materias primas y los utensilios sacan mucho más del que cocina recetas abiertas y libres en casa que de los restaurantes cerrados. Hasta existen modelos mixtos: instituciones que obtienen beneficios de su ‘recetario cerrado’ y que también lo hacen de la ‘liberación’ de recetas… Finalmente, sin que nadie se rasgue las vestiduras, son multitud los que toman una receta abierta, la modifican para mejorarla… ¡y no publican el resultado!

Impresionante, ¿no?

Existen diversos factores que contribuyen al buen funcionamiento de la cosa:

  • Ni el recetario libre/abierto ni el cerrado/propietario están en peligro. Nada indica que vaya a dejar de hacer restaurantes ‘propietarios’ a medio plazo. Mientras tanto, el ‘recetario libre’ goza de indudable salud (comparativamente mejor en tiempos de crisis). Y tampoco tenemos monopolios. La oferta de establecimientos de cualquier tipo de comida es, casi intrínsecamente, no-monopolizable. Incluso si hablamos de comida rápida —que en ubicuidad sería comparable a sistemas operativos y suites de ofimática— el abanico de opciones cerradas/propietarias/abiertas/libres es mareante… Desafortunadamente, que esto sea así en el caso del software es, desde luego, más que discutible: aún sin hablar de programar, prefiero no saber qué porcentaje de la ‘comunidad informatizada’ podría sobrevivir sin el binomio cerrado y propietario de Windows más Microsoft Office. Parece que el ecosistema está ganando en diversidad con la cuota de mercado creciente de otras soluciones, tanto cerradas/propietarias (léase Apple) como abiertas/libres, aún siendo (¿todavía?) brutalmente minoritarias.
  • Hay múltiples garantías de calidad. A pesar del ocasional brote de legionela, podemos confiar en las recetas, tanto si tenemos acceso a ellas como si no. Cuando vamos a comer a un restaurante, independientemente del tipo de recetario que use este, existen mecanismos para asegurar la calidad y fiabilidad, tanto formales y «oficiales» (inspecciones de sanidad), como motores de recomendación ‘sociales’ o «tradicionales» (los tradicionales serían, por ejemplo, las críticas de los medios de comunicación, y van con doble comilla porque qué puede ser más tradicional que las recomendaciones sociales, en este caso) y ‘reglas de sentido común’ más o menos universalizadas (si el establecimiento está sucio, no entramos; si un restaurante está lleno y el de al lado vacío, querrá decir algo). De nuevo, cosas que pasan mucho menos en el mundo del software: ¿quién garantiza la calidad del software? La espantosa (aunque comprensible) y casi universal falta de cultura y educación informática impide a la inmensa mayoría elegir con un mínimo criterio entre dos o más alternativas. Es para echarse a llorar que muy probablemente haya más gente capacitada para elegir entre el Porsche y el Ferrari que nunca se podrán permitir que entre Microsoft Office y OpenOffice.org. Lo que nos lleva a recordar que…
  • Todo el mundo tiene una cierta idea de cocinar. Si hasta yo sé calentar pasta, oiga :-P. Todos sabemos interpretar el código de una receta, ejecutarlo e, incluso, adaptarlo a nuestras necesidades si falta un ingrediente o somos siete a cenar, y no cuatro. Hasta me atrevo a aventurar que son mayoría los que saben implementar sus mejoras a una receta, aún con las notables variaciones en aptitudes y formación para hacerlo (redistribuyan o no posteriormente esas mejoras). De nuevo, algo que no pasa con el código. Ni siquiera con la informática en general, como comentábamos antes.

Y todo esto me lleva a pensar que además de fomentar el desarrollo y uso de software de código libre y/o abierto, existen otras medidas tan o más importantes, a las que sería conveniente dedicar más esfuerzos que a la satanización del modelo cerrado:

  • Luchar contra los monopolios. Aún limitándonos al software cerrado/propietario, no es sano que una solución tenga una cuota de mercado del 90%. Y soy de los que opina que debería hacerse todo lo posible, además, para que en cualquier campo de aplicación lo suficientemente amplio exista una opción libre/abierta. Si para ello deben usarse fondos públicos, adelante.
  • Asegurar la calidad. Tantas cosas dependen del software… Una hoja de cálculo decide cuánto pagaré de hipoteca. Un par de líneas erróneas en el código de un alcoholímetro pueden resultar en una multa injusta o dar con los huesos de alguien en la cárcel (o dejar que siga circulando quien no debería). Un cambio de unidades mal hecho estrelló una sonda espacial contra Marte. Un signo cambiado en un programa de cálculo de estructuras puede matar. Un generador de números aleatorios mal ejecutado supone un problema para la seguridad de los que navegamos por la red, por no hablar del sistema financiero mundial. Ni el software abierto ni el cerrado están libres de pecado y tampoco hace falta ser alarmistas (de momento las cosas no nos van tan mal), pero hay que asegurar la calidad del software. Y eso implica procesos certificables en el desarrollo de software y, muy probablemente, en el caso del software cerrado, al menos la disponibilidad, limitada pero universal, del código fuente de prácticamente cualquier aplicación. El uso de estándares bien documentados es también uno de los hitos del camino de la calidad del software.
  • Fomentar la cultura informática. ¿Hace falta que todo el mundo sepa programar de manera competente? Probablemente ni tan solo sea una meta alcanzable (cuando ningún sistema educativo garantiza, ni siquiera, que todos seamos capaces de jugar al fútbol de manera competente :P). Pero quizá sí deberíamos saber todos qué es un algoritmo y ser conscientes de la complejidad de desarrollar software. Y me parece de cajón que unas ciertas competencias informáticas/ofimáticas son imprescindibles para casi todos. Añadamos, además, que no podemos hablar de cultura informática si nos limitamos a una única solución. Sea del tipo que sea: claman muchas voces contra un sistema educativo dependiente de las soluciones cerradas de Microsoft, pero haríamos un flaco favor a aquellos a quienes enseñamos si nos limitáramos a las soluciones de Apple o erradicáramos el software propietario del currículo, si este es competitivo y la solución imperante en el mundo laboral. Por poner un ejemplo no canónico: ¿qué escuela de diseño se atrevería a trabajar solo con Inkscape y obviar la existencia de Illustrator? Y como con todo, educar en diversidad es muy difícil e implica sacrificios: el tiempo es finito y si no enseñamos una suite ofimática, sino dos, restamos del tiempo que podríamos/deberíamos dedicar a otros apartados del currículo…

Pues eso. Otro día más ;-).

¿Symbian en abierto?

De hecho, no es tan sorprendente. El principal damnificado con la aparición de Android es Symbian (y, por extensión, Nokia): si un fabricante de móviles quiere un sistema operativo para sus smartphones, puede (i) querer el de Apple, pero ‘va a ser que no’, (ii) querer el de Microsoft, que tiene sus cosas, y pagar por ello (iii) querer el de Nokia y pagar por ello o… (iv) optar por Android y ahorrarse la licencia pero contar con el desarrollo de Google. No es difícil imaginar que eso iba a acabar con las ya de por sí licencias de Symbian que no son de Nokia. O sea que en una huida adelante, cuentan en ZDNet, Nokia ha comprado la parte de Symbian que no le pertenecía y ha anunciado que liberará el código y dejará de cobrar por las licencias… Una gran noticia para los usuarios de smartphones :-).