<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
El mar, 14-07-2009 a las 15:22 -0700, william Herrera escribi&#243;:<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
    <TABLE CELLSPACING="0" CELLPADDING="0">
<TR>
<TD VALIGN="top">
Saludos,<BR>
<BR>
Perd&#243;n por la demora, pero me ha llevado un poco de tiempo realizar los an&#225;lisis prometidos.<BR>
<BR>
<B>Tranquilo, es bueno pensar antes de actuar, ayuda a que las cosas salgan mejor ;)</B><BR>
<BR>
La idea va&nbsp; m&#225;s o menos as&#237;:<BR>
<BR>
Desde la comunidad de Trisquel GNU/linux iniciar un proceso de investigaci&#243;n, desarrollo e implementaci&#243;n de tecnolog&#237;as libres, inicialmente para entornos de escritorios orientados a distribuciones GNU. Con buena suerte de los vientos, espero que podamos continuar con nuevos retos los cuales propondr&#233; al final del mensaje.<BR>
<BR>
Las motivaciones son variadas, las principales son: desaf&#237;o t&#233;cnico, colaboraci&#243;n, aprendizaje y diversi&#243;n; en otras palabras &quot;happy gnu hacking&quot;.<BR>
<BR>
Quiero aclarar que este mensaje no es una queja, sino una observaci&#243;n al estado actual de nuestros sistemas libres, todo esto es m&#225;s bien un sentido personal de inconformidad y ejerciendo nuestra libertad de software seg&#250;n la FSF, todo lo que debemos hacer es colaborar, ya que todo lo hemos recibido libremente.<BR>
<BR>
Mucho del apoyo viene atravez de la industria inform&#225;tica corporativa como Novell, Red Hat, Canonical, SUN Microsystems, etc.. la presencia de estas entidades como la del capital es beneficiosa, siempre y cuando se unan a la iniciativa inicial de GNU y no incluyan aspectos confusos, que no sean los ideales de libertad. Ciertamente el software libre trae consigo un modelo que ahorra costos de desarrollo y tiempo para innovaci&#243;n tecnol&#243;gica, pero es m&#225;s que s&#243;lo eso, as&#237; que debemos exigir que nuestros proyectos comunitarios se mantengan filos&#243;ficamente limpios. As&#237; cuando las empresas necesitan indicar detalles y ventajas de comercialzaci&#243;n, lo que es totalmente v&#225;lido, lo hagan desde sus puestos corporativos.<BR>
<BR>
<B>Totalmente de acuerdo contigo, hay que rescatar ese esp&#237;ritu que tanto se ha perdido y que pocos conocen ya, hay que dejar de lado el aspecto econ&#243;mico y tecnol&#243;gico del software libre y potenciar la libertad de los usuarios que es lo que verdaderamente importa.</B><BR>
<BR>
Al grano...<BR>
<BR>
En el caso de GNOME, tenemos un proyecto oficial GNU, que cumple casi todas las expectativas tanto t&#233;cnicas como funcionales. Tradicionalmente en los subproyectos de &#233;ste, no se establecen exigencias de est&#225;ndares GNU, para ser considerados componentes oficiales. En principio est&#225; todo muy bien, ya que es software libre; Pero es muy dificil encontrar frases como &quot;software libre&quot;, &quot;gnu o gnu/linux&quot;; Es m&#225;s facil encontrar cosas como &quot;OPEN SOURCE&quot;&nbsp; y &quot;LINUX&quot;. Si no me creen revisen el contenido del sitio web de gnome y de sus dependencias ya sea de librer&#237;as o de aplicaciones. Otro punto es la cantidad exagerada de copyrights a nombres propios y/o marcas corporativas.<BR>
Estas son molestias menores, de hecho no creo que haya mayores problemas, s&#243;lo que en cuestiones de marcar una postura oficial GNU, se debe conservar la l&#237;nea para no causar confusi&#243;n y as&#237; no desviar objetivos.<BR>
Independientemente de lo antes mencionado, GNOME es m&#225;s que un escritorio, es una plataforma de desarrollo. Sus bases son lenguaje C con estructuras muy bien organizadas, con ideas en objetos y extensibilidad para otros lenguajes. Tiene actualmente envolturas oficiales para c++, python, perl, guile, y muchos m&#225;s. No hay mucho que anotar sobre gnome, todos lo conocemos muy bien y brilla por su amplia versatilidad.<BR>
<BR>
En el caso de KDE, podemos encontrar las mismas razones, pero a diferencia de GNOME, este no es un proyecto oficial GNU. Pero es software libre y est&#225; bien para quienes gustan de esta tecnolog&#237;a.<BR>
<BR>
GNUstep, es un entorno de desarrollo orientado a objetos que usa el lenguaje de programaci&#243;n objective-c, basado en una especificaci&#243;n abierta OpenStep de la compa&#241;ia Next ahora Apple. Existen varios subproyectos para crear un escritorio compatible con esta tecnolog&#237;a, como GAP(gnustep application project) que consiste en crear tantas aplicaciones como sea necesario para conformar un entorno de trabajo. Etoli&#233;, usan como base GNUstep y a&#241;aden m&#225;s tecnolog&#237;as como smalltalk y conceptos nuevos.<BR>
Adem&#225;s ofrece una API muy elegante y tiene el potencial para crear todo lo que necesitamos r&#225;pidamente debido a GORM, una aplicaci&#243;n que relaciona objetos de nuestros programas. El inconveniente es que sigue una especificaci&#243;n que ya no sigue creciendo. Lo m&#225;s cercano a mejoras es la API cocoa de Apple, pero ya en este caso no se manejan como especificaci&#243;n sino como librer&#237;as propias de la marca. Adem&#225;s este proyecto se enofoca en brindar un alto grado de compatibilidad y portabilidad con cocoa.<BR>
Respecto al lenguaje objective-c que lo tenemos en la linea de gcc, no es estandarizado, s&#243;lo Apple a&#241;ade caracter&#237;sticas oficiales, es poderoso y simple, a diferencia de c++ que puede llegar a presentar muchas complejidades. El grado de complejidad que necesita este lenguaje es facilmente obtenido del grandioso framework de GNUstep.<BR>
Realmente es un conjunto de frameworks, para GUI(gnustep-gui), no-GUI(gnustep-base), gnustepweb, gnustep database library 2 gdl2, gnustep-make, etc...<BR>
<BR>
GNAT es ADA que es un lenguaje muy bueno, pero no muy difundido fuera del &#225;mbito de sistemas de alto riesgo como el militar o la aviaci&#243;n. Pero la empresa ADA core est&#225; alineada con la FSF y brinda el soporte oficial ada para gcc. El proyecto posee una impresionante variadad de librer&#237;as hasta para embeber un web server en aplicaciones, tiene un IDE, todo realmente sorprendente. Pero su naturaleza militar crea una ilusi&#243;n de que s&#243;lo se debe usar para tareas muy muy espec&#237;ficas y no es as&#237;.<BR>
<BR>
Como plan de acci&#243;n, he analizado las plataformas GNUstep, GNOME, ADA core, Java queda descartado por su dependencia de la m&#225;quina virtual.<BR>
<BR>
Cada cual puede investigar las caracter&#237;sticas de cada plataforma de desarrollo, pero entre los requerimientos necesarios se busca, ahorro de tiempo, tecnolog&#237;a probada, simplicidad, mucho poder y baja dependencias. Entonces:<BR>
<BR>
GNUstep .- r&#225;pido desarrollo, tecnolog&#237;a parcialmente probada, muy sencillo, relativamente poderosa, baja dependencias.<BR>
GNOME .- desarrollo parcialmente r&#225;pido, tecnolog&#237;a 100% probada, complejidad media, mucho poder, relativamente baja dependencias.<BR>
ADA core .- desarrollo lento, tecnolog&#237;a muy probada, complejidad alta, mucho poder, baja dependencias.<BR>
<BR>
<B>Guau, gran documentaci&#243;n, enhorabuena. </B><BR>
<BR>
Seg&#250;n mi opini&#243;n la plataforma debe ser GNOME, aunque confieso que GNUstep es muy llamativa. En todo caso, con gnome el ahorro de tiempo ser&#237;a bastante notable a diferencia de los otros, al tener una gran cantidad de librerias y aplicaciones ya desarrolladas, ser&#237;a mucho m&#225;s facil hacer un hack de las funcionalidades que se necesiten y no tener que reinventar la rueda.<BR>
Para la estructura general del entorno se puede usar C++ que es ordenado, poderoso, estandarizado pero puede llegar a ser muy complejo. Sin importar la dificultad de c++, al tener soporte oficial para GNOME, ya es un avance. Lenguaje C(lingua franca de GNU) siempre va a ser necesario, pero usarlo para m&#243;dulos que no necesiten mayor integraci&#243;n a la plataforma, osea para tareas muy espec&#237;ficas. Adicionalmente est&#225; python y guile, con todas sus caracter&#237;sticas de extensibilidad y soporte para gnome.<BR>
Entonces GNOME brindar&#237;a una base para hackear, mucho soporte como plataforma, varieadad de lenguajes de programaci&#243;n, aunque en esto &#250;ltimo hay que ser prudente sino las dependencias nos tomar&#225;n como rehen.<BR>
<BR>
La propuesta oficial ser&#237;a, un entorno de escritorio gr&#225;fico tipo GNOME con capacidades embebidas, moderno, ligero, potente e inteligente. As&#237; las distribuciones GNU/* podr&#237;an empaquetarlo facilmente con un n&#250;mero de dependencias aceptables. La idea es crear un sobproyecto gnome, de hecho ser&#237;a un GNOME adaptado y extendido, as&#237; cada quien usar&#225; el GNOME que le guste, y no s&#243;lo el que tenemos hoy en d&#237;a.<BR>
<BR>
<B>Tanto GNUstep como GNOME ser&#237;an perfectos para crear un entorno de escritorio liviano y potente, pero creo que se trata m&#225;s de una cuesti&#243;n de gustos, yo tal vez me decantar&#237;a m&#225;s por GNOME, ya que con GNUstep, tarde o temprano depender&#237;a un poco de Apple y su API para seguir mejorando, con&nbsp; GNOME, tal vez ocurra un poco lo mismo, pero con el problema del respeto al proyecto GNU con la denominaci&#243;n del SO &quot;linux&quot;, ya que al tratarse de un subproyecto de GNOME, este no dejar&#237;a de ser propiedad de la tecnolog&#237;a de GNOME y por lo tanto podr&#237;a referirse a &#233;l como un entorno de escritorio para &quot;linux&quot;.</B><BR>
<BR>
Con capacidades embebidas me refiero a brindar funcionalidades atravez del escritorio en s&#237; mismo y no de aplicaciones. En bajo nivel ser&#237;an aplicaciones tambien, pero con tareas espec&#237;ficas, como si fueran modos emacs o m&#243;dulos. Por ejemplo:<BR>
Abiword podr&#237;a darnos la funcionalidad de procesamiento de texto, pero s&#243;lo eso; Gnumeric la de hoja de c&#225;lculos; Glom para formularios con B.D. y as&#237; con algunas aplicaciones m&#225;s. Lo importante ser&#237;a extraer su alma, osea su funcionalidad b&#225;sica y compartir tareas que no tengan en com&#250;n entre el resto del escritorio. Digo esto porque Abiword trae opciones para colaboraci&#243;n en l&#237;nea, esto podr&#237;a ser general para todo el escritorio, no s&#243;lo para una app. Todo esto es posible con tecnolog&#237;a de objetos.<BR>
De esta manera si creamos una plataforma de objetos que se comunican, obtendriamos escritorios a la medida de cada usuario seg&#250;n los objetos que necesiten y no aplicaciones enteras con redundancia de funciones. Otra forma de visualizarlos podr&#237;a ser as&#237;, cuando quermos trabajar en un documento, que incluya c&#225;lculos, texto, imagen, correo, contenido web, etc.. ser&#237;a cuesti&#243;n de instanciar los objetos que brinden estas funciones y formariamos un superobjeto con un superdocumento. Cada uno ser&#237;a archivos diferentes, manejadas por diferentes objetos pero visualizarlos como uno. Podr&#237;amos compartir parte de estos datos, etc.. solo es cuestion de imaginaci&#243;n. Por lo tanto nuestro escritorio ser&#237;a inteligente, puesto que si queremos escribir nuestro entorno es un procesador, si queremos navegar, nuestro entorno es un navegador; etc... Vale la pena agregar que la web deber&#237;a estar ma&#347; integrada en nuestros escritorios y no s&#243;lo en un navegador o app de mensajer&#237;a. S&#243;lo son ideas, ciertamente hay muchos buenos proyectos de aplicaciones que no pueden ni deben quedar fuera, como OpenOffice. Para estos fines se debe proporcionar un lanzador de aplicaciones de manera tradicional. Adicionalmente el escritorio deber&#237;a ofrecer vistas, osea verlo como entorno embebido o tradicional tipo aplicaciones individuales. As&#237; todos felices y al gusto personal.<BR>
Noten tambien que me refer&#237; siempre hacia un escritorio inteligente y no f&#225;cil o sencillo.<BR>
<BR>
<B>Yo por mi parte, creo que es bueno potenciar lo sencillo, y m&#225;s en un proyecto &quot;puro GNU&quot;, para que los nuevos usuarios al sistema que lo usen se sientan c&#243;modos y les cueste m&#225;s volver a los sistemas privativos.</B><BR>
<B>En cuanto a lo de el sistema de &quot;m&#243;dulos&quot;, me parece fant&#225;stico, adem&#225;s, el c&#243;digo de los apps ser&#225; mucho m&#225;s sencillo de leer, aunque tal vez algo m&#225;s dif&#237;cil de administrar a la hora de agregar nuevos programas al escritorio. </B><BR>
<BR>
Estas son ideas que no me dejan vivir en paz hasta que las haga realidad, as&#237; que todo tipo de observaci&#243;n o comentario ser&#225; bien recibido. Entre los objetivos de este mensaje hay una cosa importante: Crear la iniciativa &quot;Prestigio GNU&quot; en todos los idiomas para difundir el s.o. con su filosof&#237;a y la adherencia de proyectos alineados con est&#225;ndares GNU.<BR>
<BR>
<B>Ataque GNU!!! Que Emacs nos bendiga a todos</B><BR>
<BR>
El nombre de este proyecto GNUkCaH || gnuHaCk, se lo puede considerar como clave hasta que encontremos un nombre oficial. El mensaje original fu&#233; colocado en el foro de usuarios de trisquel, ahora redirigido en la lista devel para mejor enfoque. Gracias Rub&#233;n y Aitor.<BR>
<BR>
<B>De nada ;)</B><BR>
<BR>
http://trisquel.info/gl/gnustep-trisquel<BR>
Este mensaje no ha sido depurado ni revisado ;) muchos errores encontrar&#225;n, ya iremos ordenando las ideas...<BR>
<BR>
Gracias,<BR>
<BR>
William H.<BR>
GNU - Resistencia Digital
</TD>
</TR>
</TABLE>
    <BR>
<PRE>
_______________________________________________
Trisquel-devel mailing list
<A HREF="mailto:Trisquel-devel@listas.trisquel.info">Trisquel-devel@listas.trisquel.info</A>
<A HREF="http://listas.trisquel.info/mailman/listinfo/trisquel-devel">http://listas.trisquel.info/mailman/listinfo/trisquel-devel</A>
</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>