Breve historia de la computación moderna

Con moderna me refiero a cuando todo esto empezó a tener verdadero sentido, o sea, el sentido que le damos ahora cuando hablamos de informática, y si bien las palabras difieren en su significado, ya que computación hace referencia al calculo en su sentido matemático mas estricto e informática se refiere al tratamiento automatizado de la información a través de computadoras, hablo del origen de lo que hoy llamamos tecnologías de la información.

Dos hombres son sin duda alguna los pilares fundamentales de la computación moderna, Ken Thompson y Dennis Ritchie. Thompson es conocido por su trabajo con el lenguaje de programación B, basado principalmente en el lenguaje BCPL usado durante el proyecto MULTICS, donde empezaron a nacer algunas de las ideas de lo que posteriormente fue Unix. Ritchie creó el lenguaje de programación C, absolutamente necesario para todo lo que vino después ya que aún hoy en día, la mayoría de las tareas que involucran a la programación se hacen usando este lenguaje o alguno de sus derivados, y junto con Thompson y gracias a C, crearon el sistema operativo Unix.

Hay otro nombre que debo mencionar y acá la historia se divide en dos, se trata de Gary Kildall, creador del sistema operativo CP/M, el cual años mas tarde fue copiado por Seatle Computer Inc renombrándolo QD-DOS, luego comprado por Microsoft, reescrito totalmente, y llamándolo MS-DOS fue el sistema que le ofrecieron a IBM para sus nuevas computadoras IBM-PC.

El hecho es que Gary tubo muchos logros importantes en la historia de las computadoras, los cuales fueron opacados cuando empresas mas grandes, o con un mejor departamento de marketing las adoptaron como propias. El primer sistema operativo con interfase gráfica (un shell para CP/M conocido como GEM) también se le atribuye a Gary Kildall, pero cuando ingenieros de Xerox estuvieron experimentando con esta nueva tecnología y el uso del mouse para manejar la interfase gráfica, los directivos de esa compañía lo consideraron algo completamente sin uso, así que durante una visita a sus laboratorios de gente de Apple, tuvieron la oportunidad de regalar esta investigación a Apple dando inicio a la generación de los primeros sistemas operativos con interfase gráfica. Ideas mas tarde implementadas por Microsoft en su Windows, y derivando en lo que casi lleva a Apple a la ruina.

Volviendo al lado bueno de la historia, Thompson y Ritchie (entre otros) crean el sistema operativo Unix, uno de los mejores de la historia, y esto empieza a tener repercusiones, aparecen cosas como el sistema de ventanas X-Window (sin s al final), y las terminales dummy, computadoras que se conectaban por red a otra con los programas y una instancia de estos se ejecutaba en la terminal a petición, si, aunque no lo crean, este concepto es muy muy antiguo, de hecho el sistema operativo MULTICS del cual, durante su desarrollo empezó a nacer lo que después seria Unix, planteaba una forma muy interesante de computo, que era la interacción de varias computadoras como una sola, así pequeñas terminales con poco poder de proceso podían unirse para formar una súper computadora capaz de resolver problemas mas complejos con mayor velocidad. En la actualidad Andrew Tanenbaum cree que esta forma de computo es la mejor para el futuro, creando para este propósito su sistema Amoeba (se pronuncia amiba y es el inglés para ameba), un sistema operativo moderno que opera de la misma forma en que lo iba a hacer el proyecto MULTICS, que nunca salio a la luz por las deficiencias de la tecnología de la época en la que se lo pretendió realizar.

Estos conceptos supusieron una verdadera revolución informática, que lamentablemente fue conocida en su época por muy pocos estudiosos embebidos en el tema, así fue como la universidad de Berkley comenzó a crear su propia implementación de un sistema Unix, naciendo lo que hoy se conoce como BSD o Berkley Software Distribution. Muchos supusieron que este sistema operativo mas los procesadores SPARC que iba a crear la empresa Sun MicroSystems iban a ser el futuro de la computación.

Y así lo creía también Andrew Tanembaun, un profesor de computación en la Vrije Universiteit de Amsterdam, que cuando la licencia para usar el sistema operativo Unix se vuelve mas rígida, prohibiendo leer su código fuente, se queda sin poder enseñar la parte práctica de como programar un sistema operativo desde cero, por lo cual decide crear él mismo su propio sistema operativo, pero mucho mas pequeño, tan solo para poder enseñar a sus alumnos a programar los componentes básicos de un sistema operativo, al cual llamo, por su tamaño, Minix, al estar basado en Unix pero estar pensado para enseñar programación.

Por aquel entonces lo que hoy conocemos como internet estaba muy inmadura aún, pero aún así había formas de intercomunicarse globalmente entre computadoras, una de ellas eran las listas de correo, discusiones interminables por mail de las cuales todos los días recibías una copia en tu casilla de correo, pero había una red muy particular que combinaba un poco esto de las listas de correo con lo que se conocía por entonces como BBS (Bulletin Board System), esta red se llamaba Usenet, y en ella participaban entre muchos otros Andrew Tanembaum y un jovencito finlandés llamado Linus Torvalds, quien después de participar en varias discusiones en las cuales Tanembaum se negaba a convertir a Minix en un sistema operativo mas grande, ya que de ese modo se perdería el foco de la razón por la que fue creado, decide publicar un muy buen día que él iba a crear su propio núcleo de sistema operativo, y así nació lo que hoy es conocido como Linux.

Algunos años antes Richard Stallman, desilusionado del rumbo que llevaba la informática con todo esto de las licencias que prohibían a otros programadores leer el código fuente de programas y sistemas operativos, decidió, crear su propio sistema operativo, bajo una filosofía que llama Software Libre, la cual permitía a cualquiera leer el código, modificarlo, redistribuirlo modificado o sin modificar, dando copias a sus vecinos o amigos del código modificado o sin modificar, y hasta vender el código modificado si así lo deseaba, explicando todo esto en una licencia de software conocida como GNU GPL (General Public Licence), actualmente en su versión 3, la cual crea un nuevo concepto diferente al del copyright, conocido como copyleft, y para difundir todos estos nuevos conceptos crea la Free Software Foundation, la cual ahora es su principal y única actividad recorriendo el mundo dando conferencias explicando esta filosofía.

El sistema operativo de Stallman, llamado GNU por la sigla recursiva GNU Not Unix, algo que la comunidad del software libre adopto como tradición, estaba casi completo, pero le faltaba algo fundamental, el núcleo, o kernel, aquel componente que se comunica directamente con el BIOS de la computadora y hace que todo funcione. Es así como uniendo la creación de Torvalds con la creación de Stallman nace el sistema operativo conocido como GNU/Linux (GNU con Linux). Al menos hasta que el núcleo desarrollado por el Proyecto GNU, llamado Mach, y Hurd (su sistema de servidores) estuvieran lo suficientemente maduros como para liberar una distribución estable del sistema.

Esto supuso otra revolución, y muchos programadores empezaron a volcarse a este sistema, creando así un sin fin de distribuciones GNU/Linux con muchas características diferentes, el hecho de poder leer el código fuente y modificarlo, hizo posible la creación de comunidades de programadores interesados en modificar alguno de los programas del sistema o este en su totalidad, para algún determinado propósito o por alguna meta en común, pero con el tiempo, y especialmente por la ambigüedad que las palabras Free Software tienen en ingles, fueron perdiendo la filosofía de la cual todo esto nació, cuando Stallman dijo Free, se refería a libertad (free as in freedom), y no a gratis (free as in free beer). Perdiendo la mayoría de los programadores que se dedican al mundo Linux, la noción de las cuatro libertades fundamentales que enumera Stallman en la GNU GPL, y hasta muchos desconociéndolas aún hoy en día.

Por motivos “comerciales” como, el convencer a una empresa establecida de pasarse al Free Software, muchos empezaron a llamar al concepto, Open Source (código abierto) ya que estas palabras causaban a las empresas mucho menos miedo del que les causaba la palabra Free. Pero este nuevo concepto solo habla de la posibilidad de leer el código fuente de los programas sin mencionar las otras libertades que según Stallman cada individuo debe tener sobre el software que utiliza. Es así como con el uso diario, los sistemas operativos Linux pierden dos cosas, el GNU al principio de su nombre, y el conocimiento de cualquiera que lo use de las libertades que supone el usar una computadora que funciona basada en esta filosofía.

El usar Linux para referirse al sistema operativo es completamente incorrecto, sería como seguir diciéndole DOS a Windows, o decirle NT a Windows hoy en la actualidad, algo totalmente impensable, y es que cuando Windows nace fue pensando nada mas que como un shell para el DOS, es decir, una interfase gráfica que enmascara todos los procesos que suceden por debajo de la misma. En si, todos, o la mayoría de los programas que vienen con cualquier distribución Linux, pertenecen al sistema operativo GNU, Linux es una parte importante del sistema, ya que sin él nada andaría, pero lo mismo pasaría de tener solamente Linux en una computadora, sin ninguna parte del proyecto GNU, simplemente, no se comportaría como un sistema operativo, sino mas bien como algo vagamente entendible para los seres humanos. Por lo tanto la denominación GNU con Linux es la más correcta para definir a cualquier distribución Linux.

Mas allá aún, existen otros sistemas operativos, que no usan el núcleo Linux, pero si usan muchos programas o casi todos los de GNU, como lo hacen otros sistemas basados en Unix o en BSD, como FreeBSD, OpenBSD, NetBSD y Solaris. De hecho una de los componentes fundamentales de cualquier distribución Linux o cualquiera de lo sistemas operativos basados en Unix o en BSD que acabo de mencionar, es el entorno de escritorio conocido como Gnome, que vendría a ser la interfase gráfica que todos estos sistemas operativos comparten, Gnome es parte de GNU.

Habiendo aclarado todo lo anterior, ahora si podemos volver a la parte fea de la historia, Kildall crea al abuelito del DOS, y al abuelito del sistema operativo de la Apple Lisa, y de las Apple MacIntosh, así como al abuelito de lo que hoy conocemos como Windows. Fue así que SCI le robó a Kildall, Microsoft le robo a SCI y le vendió como propio a IBM el DOS, en realidad se lo licenció, lo que significa que Microsoft sigue siendo el dueño pero que por cada PC que IBM vendiera con DOS instalado le correspondía un porcentaje a Microsoft. Por otro lado Xerox le roba a Kildall, y Apple le roba a Xerox, de ahí vino la Apple Lisa, y las primeras MacIntosh, sucesoras de las Apple I y II. Pero al final, Microsoft le termina robando a Apple para crear lo que llamaron Windows. Llevando a Apple a la ruina casi total por cuestiones de marketing. De hecho, el CP/M de Kildall era mucho mejor que el DOS de Microsoft, y hasta eran compatibles, es decir, lo programas de uno funcionaban en el otro, pero Microsoft ya poseía todo el mercado de las IBM PC y sus clones compatibles, y aún cuando Kildall cambió el nombre del CP/M por el de DR-DOS no pudo contra Microsoft que empezaba a ser el monstruo que hoy conocemos. Algo parecido pasó en la relación entre Microsoft y Apple, gente de Microsoft visitaba las oficinas de Apple ya que ambas compañías tenían un contrato para que Microsoft creara software para las computadoras Apple, es decir, el negocio de Gates siempre fue el software, dejando a otros fabricar las computadoras, mientras que Apple se dedicaba a ambas cosas, fabricar computadoras y su software. De este intercambio entre las compañías, nació dentro de Microsoft lo que hoy se conoce como Windows, copiando detalles de la interfase gráfica, y hasta herramientas como el bloc de notas, la calculadora, el paint y hasta el reloj. Pero, el día del gran anuncio de Apple, cuando habían gastado millones en publicidad, y estaban por lanzar sus nuevas computadoras, ya había en el mercado mundial, miles de computadoras con el sistema operativo de Microsoft. Se ve en la película Silicon Valley una escena que me impactó la primera vez que la vi, Steve Jobs siempre fue una persona muy interesada por la estética y la belleza, filosofía que aplicaba también en sus computadoras, a nivel hardware y software, cuando Jobs se da cuenta de la traición de Gates, le dice a este, nosotros somos mejores, a lo que Gates responde, ¿todavia no lo entiendes? Eso no importa. La lección mas importante que aprendió Jobs en toda su vida, no importa quien sea mejor, importa quien llega primero, quien logra convencer a las personas que son los mejores aunque no lo sean, o que son la única opción.

Mas tarde Jobs es echado de Apple y funda su propia compañía, NEXT, creando casi por si solo una nueva mini-revolución, la compañía responsable de las computadoras NEXTstation y el sistema operativo NEXTstep. Basandose en Unix como el núcleo de su sistema operativo y volcando en estas computadoras las ideas que él tenía sobre interfases gráficas de sistemas operativos, creó un montón de ideas que hoy para muchos suenan muy familiares, como el dock de aplicaciones, los menús de aplicaciones en una sola barra de todo el sistema y muchas otras cosas mas como detalles en los iconos, en las ventanas y hasta en la forma de buscar y encontrar archivos. Lo curioso es que visualmente, mas no en características y funcionalidades, este sistema era muy similar a lo que hoy conocemos como Windows 95 o Windows NT, pero ahí ya no se quien copio a quien, ni me animo a especularlo. En fin, una computadora NEXTstation fue uno de los primeros servidores de internet completamente operacionales funcionando con todos los conceptos que hoy tenemos sobre internet y sus servidores. Esto entre otros muchos logros individuales de Jobs, supuso su reincorporación a Apple. Trayendo consigo todo su bagaje de ideas. Entre ellas, el iPod.

Jobs empieza a trabajar encabezando el diseño de las nuevas computadoras Mac de Apple, vuelca en su sistema operativo características de Unix y de NEXTstep, creando lo que hoy conocemos como Mac OS X. La revolución en reproducción personal de musica que significó el iPod, fue para Apple una increíble recuperación económica, Jobs empieza a dar conferencias sobre su nuevo sistema operativo y sus ventajas. Pero en realidad, lo que había creado Jobs, no era una nueva computadora, o un nuevo sistema operativo, todas las ideas estaban ahí de antes, era lo mismo que ya había hecho tantas veces, lo único que era diferente, era su estrategia de marketing, como vender toda esa tecnología que había creado hace años de manera que una persona se convenza de que era su mejor opción. Pero, mas allá de todo eso, había creado un concepto completamente único y nuevo, una estrategia muy a largo plazo que debía aplicarse día a día, convertir a sus inventos, como el iPod, el iPhone, el iPad y las Macs, en meramente y nada más que un instrumento, sí, nuestros equipos son hermosos estéticamente hablando, tienen un sistema operativo con una interfase gráfica muy llamativa, y pagás miles por comprarlos, pero, cada vez que comprás uno, estás adquiriendo eso que hará que continuamente por el resto del tiempo que sigas usándolo tengas que comprarnos a nosotros, comprarnos la música, los vídeos, las películas, los programas y todo lo que quieras poner en ellos. Es decir que Apple no produce artefactos con tecnologías innovadoras que cambian la vida de sus usuarios, sino que crea instrumentos por los cuales atar a sus usuarios a lo que realmente ellos venden, que es todo lo demás que solo puedes adquirir en sus tiendas.

Pero lo mas llamativo de todo, y que muchos usuarios pasan por alto con respecto a las Macs, es que hace tiempo, estas eran totalmente incompatibles con las PC y con el sistema operativo Windows, mas que nada porque los procesadores que usaban eran los Motorola PowerPC y no los Intel o cualquiera derivado de la tecnología de Intel. Este concepto puede ser muy ajeno a personas no relacionadas con la programación, pero cada procesador tiene su propia arquitectura interna, y su código de instrucciones mínimas con las tareas más básicas, como operaciones matemáticas simples o las instrucciones para leer o escribir en determinada dirección de memoria, la suma de muchísimas de estas tareas sencillas en pocos milisegundos, son las que despliegan esos resultados que después vemos en la pantalla, pero para que llegue a nuestro monitor, esa información tiene que pasar del CPU (CPU no es el gabinete de una computadora es su procesador) al BIOS, del BIOS al núcleo del sistema operativo, del sistema operativo a la interfase gráfica del mismo, y esta debe activar las opciones gráficas que permiten que el resultado sea dibujado en pantalla, por ejemplo, en un entorno Windows básico el encargado de dibujar en la pantalla sería DirectDraw, uno de los componentes de DirectX. Cuando programamos, lo hacemos usando un lenguaje de programación parecido al lenguaje natural (escrito) pero con estructuras más rígidas que no permiten lugar a ambigüedades, para convertir ese código (que es texto) a un archivo capaz de ser ejecutado por un sistema operativo, se necesita de un compilador, este convertirá ese código a lenguaje ensamblador, y a continuación a lenguaje maquina, objeto, o binario, los pasos son varios y pueden variar, pero la idea es que dos computadoras con el mismo procesador, y sistemas operativos diferentes darán como resultado un ejecutable diferente, y dos computadoras con diferente procesador y sistema operativo diferente darán como resultados archivos ejecutables completamente diferentes y completamente incompatibles, y aún si el sistema operativo fuera el mismo, el resultado seguiría siendo diferente.

Ahora las Apple Mac usan no solo procesadores Intel, sino también arquitectura Intel en toda su placa madre, tanto así, que usan los mismos procesadores, las mismas memorias, los mismos discos rígidos, las mismas compacteras y los mismos puertos USB que las PC. Es decir que solo son diferentes a una PC en software, mas no en hardware, y si bien este software puede ser más estable y mas seguro que Windows, lo es por estar basado en Unix, que ya desde la base siempre fue un buen sistema operativo, así que los sistemas operativos GNU/Linux, también basados en Unix, ofrecen similares o mejores características en cuanto a estabilidad y seguridad. Y cuando digo estabilidad, me refiero a que no se cuelgan, tildan, o como sea que ustedes digan, al menos no tan seguido como Windows, y tanto GNU/Linux como Mac OS X no son tan estables como los pintan, tienen menos cuelgues que Windows eso es verdad, pero también hay que considerar un factor imposible de ignorar, que es la masividad, durante años Windows, Intel y las PC IBM compatibles dominaron el mercado de tal manera que muchos llegaron a pensar que era lo único que existía, y que Bill Gates era el inventor de la computadoras. Esta masividad, es lo que hace a Windows vulnerable e inestable por dos aspectos, el primero, el desconocimiento de los usuarios de qué tareas llevan inevitablemente a un cuelgue, y esto le puede pasar a cualquier computadora, es decir, no podés pedirle que divida por cero, o meterla en un bucle infinito de iteración recursiva, lo que diferencia a un sistema operativo de otro, es como este reacciona ante el error, a Windows por lo general le cuesta volver a su funcionamiento normal después de un error, otros sistemas operativos, tienen programado como reaccionar ante los errores para que estos no afecten la funcionalidad del sistema operativo, tanto que hasta algunos de los usuarios nunca se enteran cuando un error sucedió. La otra vulnerabilidad que genera la masividad, son los virus, GNU/Linux y Mac OS X están casi libres de estas amenazas, eso no quiere decir que no existan virus para esas plataformas, por lo general puede pasar dos cosas, quien programa virus suele ser alguien que esta aprendiendo a programar, rara vez un profesional de la programación se dedica a crear un virus, a menos que sea para una actividad delictiva mayor, o por alguna razón mas transcendental como ideología o filosofía. Los programadores envueltos en GNU/Linux, tienen toda la libertad de leer tanto código fuente como quieran, la mayoría no siente la necesidad de crear un virus para probar sus conocimientos o los de los otros, o para aprender alguna tarea determinada al escribir ese código malicioso, por lo tanto, si te gusta GNU/Linux, y te gusta programar o querés aprender a hacerlo, seguramente estarás en alguna comunidad de programadores que se comunica a través de un foro, y programando aplicaciones reales para el sistema operativo que en verdad sean útiles en lugar de crear software para hacer daño, es parte de la filosofía que involucra ser parte de GNU/Linux. En cuanto a Mac OS X, programar para esta plataforma es caro, es muy raro que alguien que no esté interesado en vender en la App Store sus aplicaciones o juegos adquiera un kit de desarrollo y una licencia de Apple, ya que una vez que aprendas a programar para esta plataforma vas a querer una retribución por todo el dinero que invertiste, sin embargo, como siempre, hay alternativas gratuitas, o menos caras, pero casi siempre implican violar la ley, si hacés eso en una plataforma Apple significa que no tenés amor por la misma, es decir, te interesan sus productos pero no estás dispuesto a pagar por ellos, es algo bastante contradictorio. En fin, Windows lleva tantos años y tantas computadoras en todo el mundo usan este sistema operativo, que es extremadamente fácil para cualquier niño, adolescente o adulto, empezar a programar para esta plataforma ya sea que adquiera los programas necesarios por medios legales o ilegales, es indiferente, y en el proceso de aprendizaje muchos incurrirán en la infracción de crear un software malicioso, llámese virus, troyano, spyware, addware o lo que sea.

Por la misma razón, por la masividad, las cuentas de Hotmail y de Facebook son las mas “hackeadas” en todo el mundo, y más que nada debido a la inexperiencia de sus usuarios, los cuales pueden caer fácilmente en infinidad de trampas para que gente maliciosa obtenga sus contraseñas y robe sus cuentas. En realidad lo que ustedes se imaginan como hacking, no existe, nadie se pone a correr un programita en su casa, que prueba mil claves por segundo hasta descifrar la contraseña de Facebook de su vecina. Nadie se pone a atravesar diez firewalls y obtener una contraseña que le permita acceder a un servidor de Hotmail como administrador para ver si su compañera de escuela tiene fotos desnuda en su correo. Nadie hace eso, porque es imposible de hacer, y si alguien lo intenta hacer no va a hacerlo por esos motivos, sino mas bien, por algo como Wikileaks, algo transcendental, importante y que valga la pena.

Otro detalle que Stallman siempre recalca, es el uso completamente erróneo de las palabras pirata y piratería, las libertades de las que habla la licencia de software de Stallman se refieren a un tema totalmente ético y hasta filosófico se podría decir y no a algo que tenga que ver con la informática o la computación, se trata de el derecho que como individuo tengo de compartir mi software con mi vecino, y que no se me trate como criminal por eso, para que eso suceda deben desaparecer la licencias privativas que prohíben ejercer mi total derecho y libertad de darle una copia de mi software a mi vecino. Stallman siempre dice que la piratería es algo muy malo, que atacar barcos para robarlos y secuestrar o matar personas durante el proceso es algo terriblemente malo. Y no así el compartir software, así que no se le debe llamar pirata a alguien que no ha atacado ni robado ningún barco ni tampoco ha secuestrado o matado gente para hacerlo. El planteamiento ético de Stallman es el siguiente, cuando yo adquiero un programa privativo el cual me dice que no puedo hacer una copia para mi amigo, la empresa que creo ese programa y esa licencia me esta obligando a no compartir con el mundo, con mi comunidad, con mi vecino, mi hermano, mi amigo, aquello que adquirí y por lo cual pagué, Stallman considera que atenta contra su ética el no poder compartir su software. El asunto es que desde el punto de vista de la mayoría de los seres humanos, el software se vende, y tenés que pagar por cada copia, si no lo querés pagar, lo obtenés de manera ilegal, lo cual significa que querés adquirir ese software sin pagar por él, pero ese es precisamente el dilema ético, si compro software y no se lo presto a mi amigo, estoy dentro del marco de la ley, pero estoy siendo un mal amigo, si adquiero software de manera ilegal y le hago una copia a mi amigo, quedo bien con mi amigo pero estoy violando la ley, no es ético que la imposición de las licencias privativas de software sea decidir entre violar la ley y ser un buen amigo, esto es porque de por si, la mera existencia de esa licencia es ilegal, y atenta contra las libertades individuales. Si yo soy un desarrollador de software, y quiero compartir el software que creo con mi comunidad, con todo el mundo si quiero, tengo la libertad de hacerlo, pero debo darle a quien use mi software la libertad de leer el código por el cual lo creé, sin importar si yo cobro por mi software o lo doy gratis, la libertad de leer como un programa fue creado es un factor fundamental, primero, por el aspecto educativo, el derecho que tengo a saber como funcionan las cosas, porque hacen lo que hacen, y aprender a hacer lo mismo, y segundo para saber si ese código no contiene ninguna función maliciosa que pueda perjudicarme en un futuro. Bien sabido es que Windows, lleva un control de como su software es usado por los usuarios, esto es ilegal, y atenta contra la privacidad, además de las posibles actividades delictivas en las que podrían estar envueltas el uso de mi información, pero como yo no tengo el derecho de leer el código fuente de Windows o de los programas que los componen, no puedo saber que tanta información este sistema guarda sobre mi y envía a Microsoft cada vez que me conecto a Internet. Esta información podría estar siendo usada por razones estadísticas pero no es el hecho, tengo el derecho a saber quien tiene mi información como la usa y por que la tiene, y solicitar que cesen toda actividad que recaude información sobre mi y la manera en que uso mi software así como un resarcimiento económico por los daños y perjuicios que me puede haber ocasionado el uso de esa información por personas ajenas a mí a las cuales no permití tener ni conocer esa información.

El detalle mas claro está en que tanto Windows como Mac OS X se actualizan solos y a través de internet, y aún cuando me soliciten autorización para descargar o instalar actualizaciones al final es algo inevitable que debo aceptar para continuar con el correcto funcionamiento del sistema, esto implica que, si estos sistemas no poseen características maliciosas, ¿como puedo saber yo si tales características no serán agregadas en alguna actualización futura?, la única forma sería acceder de manera libre al código por el cual fue creado. Pero no todas las personas saben programar, aún así puedo pedirle a un programador que verifique el código por mí, para ver si encuentra características maliciosas o no, y puedo pagarle por esa activad o no, eso depende del programador ya que en la filosofía del Free Software, free significa libre, y no gratis.

Las libertades de las que siempre habla Stallman son cuatro, y el siempre las enumera del cero al tres (muy al estilo programador, como el índice de los arreglos en lenguaje C). La libertad cero es la libertad de usar el software como quiera, la libertad uno es la libertad de poder leer y estudiar el código del software para saber como funciona cuando quiera y modificarlo en parte o en su totalidad para mejorarlo, corregirlo, o agregarle las funcionalidades que quiera, la libertad dos es la libertad de distribuir copias del software original sin modificar a quien quiera cuando quiera, y la libertad tres es la libertad de distribuir copias de mis versiones modificadas del software a terceros, por las cuales puedo cobrar o no, eso es a elección del programador, aún si el software del cual estas copias derivan era gratuito. Estas cuatro libertades son algo totalmente fundamentales en dos ámbitos muy importantes de toda sociedad, la educación, y el gobierno. Las instituciones educativas deberían si o si usar software libre, es la única filosofía de software que se corresponde con los ideales de la educación, y el uso de software privativo en la educación crea dependencia en los usuarios que nunca aprenden a lidiar con otras tecnologías, en las escuelas publicas enseñan Microsoft, ensañan Windows, no enseñan informática, no enseñan computación. Esto crea adultos que no van a saber usar otra cosa que no sea lo que aprendieron a usar cuando fueron educados, y hasta muchos desconocerán las alternativas libres y gratuitas que tienen ante el software privativo. Y en el caso de los gobiernos es totalmente esencial que el software libre sea el único que usen todas sus computadoras, siendo esta la única manera de que todos sus datos sensibles estén seguros y no puedan ser accedidos a distancia por individuos o corporaciones malintencionadas.

Otro detalle más que interesante en el software libre es la corrección de errores, el hecho de que el código sea libre y abierto permite a miles, sino millones de programadores en todo el mundo leerlo, encontrar errores, corregirlos, y agregar nuevas características que mejoren ese software. Esta es una de las libertades de las que habla Stallman que un individuo no programador no puede ejercer, pero puede ejercerla a través de un tercero, pagándole a un programador para que agregue al software una característica o funcionalidad que al usuario le interese, o uniéndose a una comunidad de programadores, que trabaje con ese software, y a través de un foro, mail, redes sociales, u otros medios, pedirle a los programadores que añadan al software esa característica que le interesa.

Esto nunca podría suceder con el software privativo, ya que su sola existencia, y la de sus licencias prohibiría cualquier actividad parecida a esta. Haciendo que el único capaz de modificar el software como se le antoje sea el desarrollador o la empresa que lo desarrolló, de esta manera la corrección de errores menores y el agregado de nuevas características y funcionalidades pueden diferir mucho de lo que un usuario espera de ese software, así como demorarse tiempos terriblemente irrisorios, sin olvidar el hecho de que también pueden quitarle al software una de las características que más nos gustaba sin previo aviso. Es decir, el software privativo, es una tiranía.

Resumiendo lo hoy repasado, suena muchísimo mas sensato, comprar una PC por 2000 pesos, e instalarle un sistema operativo gratuito que posee todas las características ya mencionadas, a pagar casi 20000 pesos por un hardware de casi las mismas características que la PC, pero con un sistema operativo que me obliga a comprarle de por vida a una única empresa, la cual revisa y controla cada pieza de software que yo quiera sumarle a mi sistema.

El uso de productos Apple no es mas que el reflejo de un estatus social, pagás un precio extremadamente inflado, por un producto que ofrece las mismas funcionalidades o características que otros que son gratis o mucho mas baratos, simplemente por el hecho de tener una mejor estética, y la posición social que te da tener un aparato de esas característica, esa estética y ese precio. Pagando tanto por él es obvio que vas a estar completamente convencido de que es bueno o que es mejor que otros. Pero básicamente la estrategia de empresas como estas, es la de crear fanáticos, embajadores de la marca como los llaman ellos, personas que defienden con uñas y dientes sus productos favoritos, aún sin tener razón en sus alegatos, desconociendo completamente la historia de como esos productos llegaron a ser lo que son ahora, y aún más, negando ciegamente que ese producto los convierte en esclavos de un sistema que los utiliza nada mas que como unidades de producción de lo que estas empresas consideran que es su único dios, el dinero.

Si te gusta lo que lees considera contribuir con este blog para que el mismo pueda tener más y mejor contenido. Contribuir.

Licencia Creative Commons
Esta obra de Juan Pablo Castañeda está bajo una Licencia Creative Commons Atribución 3.0 Unported.

Anuncios

13 comentarios sobre “Breve historia de la computación moderna

    1. Me salté el ábaco, a Babbage, Hollerith, von Neumann, la ENIAC y muchas cosas más, por ejemplo, me hubiera gustado hablar más sobre Kildall y todo lo que hizo, y también sobre MULTICS, Unix, y la creación de C, que para mi es una de las cosas más importantes para la computación que usamos todos los días. Cada “mini-subtema” está demasiado resumido, más breve no se pudo, en ese caso les recomiendo ver la película “Piratas de Silicon Valley” donde pueden ver un poco la interacción entre Bill Gates (Microsoft) y Steve Jobs (Apple). Pero no hay ninguna película que hable por ejemplo de Torvalds, Tanembaum y Stallman. Si les interesa leer sobre computación/informática abordado de una manera más seria, responsable y completa les recomiendo el blog Píldoras de Historia Informática que es realmente muy bueno.

    1. Definitivamente es mucho más breve que cualquier libro que hable sobre la historia de la computación, breve no significa corto, ni tampoco significa abreviado o resumido. No está pensado para el formato de trabajo escolar de una o dos hojas que cualquier estudiante pudiera entregar, es mi perspectiva personal sobre la parte que a mi más me gusta de la historia de las computadoras, algunos hechos ni siquiera se ajustan a la realidad, es nada más que un brevísimo ensayo sobre mi punto de vista del mundo de la informática. Y si fuera un trabajo universitario, le faltaría varias hojas más la verdad.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s