Software: Sobrevivir ó no sobrevivir


Primero que nada deseo dejar fijada mi postura de no concordar con la tendencia general de aceptar que haya decenas (o cientos, quien sabe...) de proyectos de Software Libre (de aquí en adelante SL) que intenten hacer, no importa su temática, mas ó menos lo mismo.





Entiendo que de muchos proyectos, en general tienden a prosperar y
tener mas aceptación sólo unos pocos. Algunas personas llaman a esto
"evolución del software" y creen que solo sobrevive el más apto, no
importa en qué términos.

Aca cada uno puede hacer su propia lectura:
- estaba mejor liderado
- era superior técnicamente
- consiguió más recursos económicos
- era funcionalmente más adaptable
- etc. (agregue aqui su propia opción)

Los que hemos seguido durante varios años desde cerca el fenomeno
del SL, principalmente liderados por Linux, utilidades varias, MySQL,
etc. hemos visto nacer y morir tantos proyectos, tanto esfuerzo y
energias dilapidadas, en parte debido a la propia naturaleza humana,
más que a problemas en el desarrollo del software en cuestion,
cualesquiera que fuera su ámbito de acción.

Es por eso que estoy tratando de desarrollar y plasmar estas ideas
para que sirvan como un punto de reflexión a los que hoy usan ó
estan tratando de usar el SL.

El principal obstáculo para la evolución del software no es técnica,
es humana.
Si el software se hubiera desarrollado en la misma medida que el
hardware o la industria electrónica, hoy estariamos controlando
computadoras y dispositivos solo con la mente, pero no... seguimos
haciendo guerras de mails y luchas enconadas acerca de si PHP o
Java, BSD o Linux, cual distro, etc.
Aqui puede agregar mentalmente su dupla favorita ;)

Y en particular para el SL, el principal problema, no es técnico es
HUMANO.
Atrás del SL hay toda una contracultura, que si bien a llevado al SL
al lugar donde esta hoy, la falta de entendimiento de esta, actúa
como lastre para el despegue definitivo del SL.

Uno puede saber que linux es superior a guindous. Pero eso no basta,
ni alcanza para que se difunda el uso del SL.

Porque el SL no es Linux, ni siquiera GNU/Linux (aunque esté más
apropiadamente definido), porque el SL es mucho más que eso, tal cual
como RMS lo planteó brillantemente en la definición de las cuatro
libertades [www.gnu.org]

Un programa es Software Libre si el usuario tiene (de acuerdo
a la licencia del programa) las siguientes libertades o derechos:

[0] La libertad de ejecutar el programa, con cualquier propósito.
[1] La libertad de estudiar cómo funciona el programa, y adaptarlo
a sus necesidades.
[2] La libertad de distribuir copias, con lo que puede ayudar a
su vecino.
[3] La libertad de mejorar el programa y hacer públicas las mejoras
a los demás, de modo que toda la comunidad se beneficie.

 

El mundo xbase
Gracias a muchos brillantes y abnegados desarrolladores hoy tenemos,
compiladores de xbase y del lenguaje Clipper totalmente libres y
funcionales, como son Clip, Harbour y xHarbour.

Es lamentable que estos proyectos esten separados, pero es la
realidad y dificilmente se revierta, sobretodo porque prácticamente
ya estan terminados debido a que han alcanzado un alto grado de
madurez y total funcionalidad.
Lo positivo es que a nivel del lenguaje Clipper/xbase tienen un alto
grado de compatibilidad, lo que permite la migración entre ellos,
y que se han definido interfaces bien definidas para aquellos
desarrolladores que hagan extensiones de software.

El gran desafío
No hay que perder de vista que la programación en xbase es un nicho.
Que ha sido posible debido a la gran calidad y excelente diseño de
Clipper, los programas hechos para el aún perduran.
(despues mas de 12 años de antiguedad)
En el camino se han debido superar varios escollos importantes como
fue migrar de un entorno DOS a otro de guindous que sólo lo soporta
parcialmente, y que a través de cada versión hubo que encontrar
soluciones a los nuevos problemas de compatibilidad que se han ido
encontrando.
Esto fue posible debido a los forums de Clipper, usenet, clc, etc.
en los cuales se aportaban soluciones y mejoras en forma COLECTIVA,
donde cada uno aportaba lo que podía, experiencia, conocimientos,
programación, testeo en equipos diferentes, e información valiosa
dificilmente encontrable en otro lado, etc.

Me causa una gran tristeza, ver casi a diario ver posteado en algunas
listas relativas a Clipper/xbase cosas como:

"...para que siguen con esto... si es mejor java, .NET, C#, etc."

No tengo nada en contra de estos lenguajes, pero defiendo el uso del
lenguaje Clipper.

Debemos recordar que respaldando a java hay una gran empresa como lo
es Sun Microsystem, que provee librerías para casi cualquier cosa y
para distintas plataformas.
Lo mismo sucede con .NET que tiene atrás a una gran corporación
como es Micr*s*ft.

Pero ninguna de las dos es libre, y estamos atados a la suerte de
estas empresas y a lo que decidan hacer sobre el software que hoy
promueven.

¿Qué... como un gran empresa va a abandonar su software insignia ?

Hay algunos ejemplos de software exitosos hoy desaparecidos.

Muchos recordaran la suerte de DR-DOS comprado por el ese entonces
gigante Novell y convertido en Novell DOS 7.0 y luego abandonado.
Lo mismo con el gran sistema operativo OS/2 Warp de IBM (muy
superior a guindous) que fue abandonado tambien a su suerte.

Hoy en dia no hay mas que ver lo que pasa con Delphi, JBuilder, etc.

Hay mas ejemplos de estos, pero es necesario buscarlos ? o ...
hemos entendido la idea ?

Las aventuras y desventuras de los lenguajes e implementaciónes de
xbase, es probable que ya las conozcan y esten mejor descriptas de
lo que yo podría hacerlo aquí, pero todos saben que se han pasado
momentos difíciles y muchos han dejado el lenguaje de programación
xbase al haber sido dejados a su suerte en algún momento por las
compañias involucradas.

La forma que un software perdure en el tiempo es por su CALIDAD y
la relación COOPERATIVA entre los desarrolladores y productores de
software.

Una de las razones por la cual PHP es exitoso, es que tiene una gran
base de usuarios y programadores en todo el mundo, pero eso no vino
de la nada.
Se formó una comunidad que actuó sinérgica y cooperativamente
brindando programas y librerias hasta alcanzar (o superar, no lo sé)
el equivalente a Java o .NET, aunque el programador habitual de PHP
lo debe saber bien.

Muchos dirán pero PHP es un lenguaje de scripting...
Es cierto, pero tambien es un lenguaje que se puede usar para
programación general, aunque es muy popular para programar interfases
web y acceso a bases de datos.

En general ningún lenguaje es estático, salvo que esté controlado
fuertemente por la compañia que lo hace popular, lo vende y/o lo
controla.

PHP, Perl y Pyton, tres lenguajes de programación muy populares
estan tratando de usar una maquina virtual común, que sirva para
cualquiera, en cualquier plataforma. Dicha máquina virtual se llama
"Parrot".
Esta me parece una excelente estrategia, para perdurar en el tiempo
y mejorar las prestaciones y funcionalidades que puede aportar un
lenguaje, y sin embargo favorecer las interrelaciones con otros
lenguajes.

=================================================

Por eso hago un llamamiento a todos aquellos programadores de
compiladores, intérpretes, software que brinde extensiones,
librerías de apoyo, desarrolladores de Clipper en general, etc. a
formar un frente comun para que nuestro querido lenguaje pueda
perdurar y evolucionar, sin tener que inventar de nuevo la rueda.

Yo sé que es difícil de hacer y quizás mucho más de entender,
abandonar un modelo de negocios basado en la venta de licencias
en la cual una vez desarrollado el producto lo único que se hace
es sacar copias y venderlo.
Por otro basado en servicios, en la cual se cobra por dar soporte
y funcionalidad y evita el confrontamiento con grandes empresas
con más y mejores recursos, posibilitando la subsistencia.
Tengamos en cuenta que la mejor forma de vencer al marketing es
teniendo usuarios "reales".

=================================================

Hoy por hoy los viejos programas Clipper para DOS, pueden ser
portados en modo consola, casi sin cambios a otras plataformas.
Muchos los han estado usando sobre Netware, guindous ó Linux,
sin cambio alguno.
Algunos sistemas operativos se caracterizan porque cada vez que
sacan una versión nueva, algo deja de andar en nuestros programas
y es necesario el ingenio y la cooperación para encontrar la
forma de hacerlos funcionar como en la condiciones originales.
Ya ha habido anuncios, que el sistema de ventanas dejará de
soportar, viejos programas DOS.
Pero al ir cambiando las versiones de estas plataformas para poder
aprovechar el avance en el hardware, es necesario hacer cambios.

Dos plataformas que conozco, que prácticamente permiten la evolución
y a su vez mantienen compatibilidad hacia atrás son Linux y BSD y
creo que Netware.
Esto es posible debido a que la compatibilidad hacia atrás, es
intencionalmente buscada.
Pero las ventajas de las dos primeras es que están hechas como y
sobre SL, estando siempre disponible, el código fuente.

Cuestion de estándares
Puede aggiornarse o modernizarse el lenguaje xbase ?

Sí y de hecho ya ha ocurrido. Hay extensiones para hacer casi
cualquier cosa. Pero estas extensiones traen aparejados cambios que
muchas veces introducen incompatibilidades.

Pero en la medida que esas extensiónes esten construidas sobre SL
y usen lenguaje C/C++ como desarrollo, siempre alguna solución se
podrá encontrar.

Pero nos vamos acercando al cuello de botella constituido por la
"interfaz gráfica".

Muchas de las extensiones o aditamentos que han permitido que
compiladores como Clip, Harbour o xHarbour hayan tenido éxito, es
que aprovechan algunos estandares.
Asi tenemos estandares para:
- Bases de datos SQL basados en el estánndar SQL-92 y posteriores,
que aunque haya sido implementado ligeramente diferente hay mucha
información disponible al respecto.

- Probablemente la más conocida: la inteerfaz a protocolos de internet
Como esta basada en estandares muy conocidos es relativamente
facil, poder implementar algunos de esos servicios a internet,
usar ftp, paginas web, etc, etc.

El mundo Gráfico
Pero hay una de ellas que es un hueso duro de roer. La interfaz
GRAFICA.
Esto es principalmente debido a la arquitectura interna de un sistema
operativo sobre la cual se monta la interfaz gráfica, difiere
grandemente.

En el viejo DOS, la parte gráfica era independiente del sistema
operativo y la forma de incorporarla dependía del tipo de placa de
video y de las prestaciónes que esta pudiera ofrecer, y a partir de
ahí había una largo camino por recorrer.

Pero con la masificación de los nuevos sistemas operativos
basados en "ventanas" y la popularización de otros que usan el
protocolo X11, como Linux, BSD, etc. la cuestion no ido sino
agravándose.

Esto es debido a que poseen modelos de desarrollo basados en
conceptos completamente diferentes.

Los problemas para Clipper sobre el "entorno de ventanas" fue
resuelto hace bastante tiempo por un genio, algo incomprendido como
es Antonio Linares y otros colaboradores, con su producto privativo
(comercial), orientado a objetos: FiveWin (TM)

Antonio fue uno de los que empezó el proyecto Harbour, que es lo que
nos ha permitido poder seguir utilizando nuestro lenguaje de
programación favorito.

El producto FiveWin con éxito pudo adaptarse para xbase y Harbour
para las plataformas guindous primeramente y luego linux (usando GTK).

El problema no es que haya un producto comercial reconocido como
FiveWin, (aunque Antonio haya prometido liberar las fuentes varias
veces), sino como decia anteriormente a la falta de estándares
"gráficos".

El esfuerzo e ingenio de otro desarrollador de Harbour: Alexander
Kresin, logró poner al alcance de cualquier programador una interfaz
gráfica, para el entorno guindous: HWGUI. Pero no es compatible con
FiveWin.

Hubo otros desarrollos de los cuales no me voy a explayar mucho,
más que nada por temor a introducir imprecisiones en aspectos de su
historia y evolución, pero entre los cuales podemos contar a
Clip4Win (privativo), HWGUI, MiniGUI (a partir de HWGUI), Whoop,
etc. [lista sigue...]

Me quiero concentrar en aspectos que no han sido resueltos aun.

Aunque hoy en día, se busca funcionalidad y portabilidad a través
de una interfaz web, gran parte de la suerte futura del lenguaje
Clipper a mi criterio, esta atada a la interfaz gráfica.

La falta de una compatibilidad mínima a nivel de funciones básicas,
hace muy dificil la migración de una interfaz gráfica a otra, e
impide la coexistencia.

Seria deseable y muy positivo que se pudieran establecer algunas
bases sobre las cuales poner los cimientos de una interfaz gráfica
común para los proyectos basados en [x]Harbour.

Hay algunas ideas bastante arraigadas conceptualmente que dan pie,
para empezar a esbozar algo.

Algunas premisas podrían ser:

- Orientada a objetos
- Multiplataforma (no es tan sencillo, ppero se puede hacer)
- Que use un modelo fácil de entender y utilizar
- Que este disponible el código fuente
- Que el formato de los datos sea abiertto, quizás XML
- Que posea una IDE o diseñador de apliccaciones
- Que no sea sea Software Privativo

Puedo intentar hacer una descripción de cada uno de items,
exponiendo sus ventajas y desventajas, ganándome amigos y también
enemigos...

Pero creo que lo que se debería hacer es una discusión formal en
busca de una vía para implementarlo realmente.

No soy tan ingenuo para no darme cuenta que aquí hay intereses
comerciales en juego y los actores están entre nosotros. Pero
también no es menos cierto que la suerte de ellos tambien está atada
a la de los usuarios y programadores de este lenguaje, y a la suerte
que este corra.

Que yo crea algo, no me da ciertamente la razón, pero estamos en
un punto que hasta los más fanáticos del lenguaje han empezado a
migrar hacia otros lenguajes y estamos en un punto en que si no se
hace nada, será imposible revertirlo.

El reloj esta corriendo...

---
Espero que este documento sea visto como un aporte constructivo a
la problemática que menciono.
Quien desee contactarse conmigo puede hacerlo a la dirección que
figura a continuación.

 

Fuente:
http://www.geocities.com/SiliconValley/Board/5300/sobreviv.htm

Alejandro de Gárate

alex_degarate AT yahoo DOT COM

Este texto tiene licencia GPL. Ha salido de mi cabeza, aunque es probable que haya sido influenciado por otras personas, que al igual que yo aman el SL y la difusión del conocimiento.

Un breve ensayo sobre la problemática actual del lenguaje Clipper
Primera revisión 17/07/2005
Segunda revisión 24/03/2006



Otras noticias de interés:

88 parches para productos Oracle
Oracle ha publicado un conjunto de parches para diversos productos de la casa que solventan un total de 88 nuevas vulnerabilidades. Las consecuencias son que atacantes locales y remotos pueden comprometer gravemente la seguridad de los sistemas y ser...
Linux Mint 12 - Lisa, Lista!!!!
Linux Mint ha demostrado que piensa en sus usuarios y con esta versión mejorada en muchos aspectos afianza su posición como la distro más usada en la actualidad según informa Distrowatch.com...
Hackear Radio FM
Como Hackear una radio FM Materiales necesarios: Handy. Radio FM. Grabador. Teléfono. Mucho Tiempo... ...
Hombre Máquina, Máquina Humana
El cerebro: una máquina maravillosa capaz de gestionar todas las actividades voluntarias e involuntarias del organismo, un sistema que permite descifrar los estímulos que provienen del exterior e interactuar con ellos, una pieza orgánica perfecta,...
Envenenamiento de resultados en Google Imágenes
Según ha informado el SANS desde hace varias semanas se están recibiendo informes relacionados con el buscador de imágenes de Google. Ofrece resultados que terminan redirigiendo a páginas de falsos antivirus. Nada nuevo, pero que está siendo esp...
Spoofing durante autentificación básica HTTP en IE7
Microsoft Internet Explorer 7 es propenso a una debilidad que permite falsificar el nombre del dominio en una autentificación básica HTTP. ...
Vulnerabilidad Zero-day en Word, ejecución de código
Microsoft ha confirmado la aparición de una serie de informes sobre un nuevo ataque del tipo Zero-day que utiliza una vulnerabilidad en Microsoft Word 2000, 2002 y 2003, Microsoft Word Viewer 2003, Microsoft Word 2004 para Mac, además de Micr...
.NET esconde una nueva forma de "meternos" un virus
Un desarrollador de software, que ha empezado a escribir programas para la nueva plataforma .NET (punto NET) de Microsoft, reveló en una lista de seguridad, la demostración de un nuevo concepto de caballo de Troya que puede habilitar una puerta tra...
Actualizaciones para ColdFusion y JRun
Adobe ha publicado múltiples actualizaciones para corregir diversas vulnerabilidades críticas en ColdFusion v8.0.1 (y versiones anteriores), y JRun 4.0. Estos problemas podrían permitir a un atacante comprometer las cuentas de usuario o los sistem...
Códigos QR y el malware
Los Quick Response (QR) son códigos de barra de dos dimensiones diseñados para ser leídos e interpretados rápidamente. Actualmente, y sumado a la gran proliferación de smartphones en el mercado, son muy utilizados para publicidades y campañas d...

Brindanos
un o una


Redes Sociales

Publicidad


Gana Bitcoins desde tu casa

Categorías


Planeta Vaslibre

Blog Roll




Nube de tags

  • anonimato
  • anonimo
  • antivirus
  • apache
  • blog
  • bsd
  • bug
  • centos
  • chrome
  • cifrado
  • computer
  • debian
  • exploits
  • fedora
  • fice
  • firefox
  • forense
  • freebsd
  • gentoo
  • github
  • gnome
  • gnu
  • gpl
  • gtk
  • hack
  • hacking
  • hosting
  • informatica
  • internet
  • isos
  • libre
  • licencias
  • linux
  • linuxmint
  • lxde
  • micros
  • mint
  • mit
  • mozilla
  • mysql
  • noticia
  • opensource
  • pgp
  • php
  • sabayon
  • seguridad
  • sobrevivir
  • system
  • tecnologia
  • thunar
  • thunderbird
  • tor
  • troyanos
  • tware
  • ubuntu
  • underground
  • vaslibre
  • virus
  • viserproject
  • vivaldi
  • vulnerabilidades
  • web
  • website
  • windows
  • xanadu
  • xfce
  • xombra