martes, 28 de septiembre de 2010

Un Profesor le explica a sus Estudiantes el significado del Socialismo


Un profesor que nunca había reprobado a sus estudiantes comentó en una de sus clases las razones del porque estaba demostrado que el SOCIALISMO NO FUNCIONABA. Algunos estudiantes de su clase pensaban que el socialismo era muy bueno, y el profesor solo lo decía porque no quería la igualdad total entre todos los estudiantes.

El profesor les propuso a sus alumnos hacer un experimento para implantar un sistema socialista en su clase. El experimento consistía en promediar las notas de todos los estudiantes y colocarles a todos la misma nota promedio (igualdad social), de forma que nadie reprobaría, pero nadie sacaría un 20.

Después del primer examen, las notas fueron promediadas y todos los estudiantes sacaron 14. Los estudiantes que se habían preparado muy bien estaban molestos y los estudiantes que estudiaron poco estaban contentos. Cuando presentaron el segundo examen, los alumnos que estudiaron poco ahora no estudiaron nada (para aprovecharse de los que más estudiaban), y los alumnos que habían estudiado duro decidieron no trabajar tan duro ya que no iban a lograr obtener un 20 por más que se esforzaran, por lo tanto estudiaron menos. El promedio del segundo examen fue 08 y nadie estuvo contento.

La cosa empeoró para el tercer examen, donde el promedio fue 05, TODOS REPROBARON este examen. Con el pasar del tiempo las notas solo empeoraban. Los estudiantes empezaron a pelear entre sí, culpándose entre ellos por las malas notas hasta llegar a insultos y resentimientos, ya que ninguno estaba dispuesto a estudiar para que se beneficiara otro que no lo hacía.

Al principio del semestre todos pensaban que era imposible reprobar, y ahora que ha finalizado el semestre se dieron cuenta que TODA LA CLASE REPROBO. El profesor, que por primera vez en su carrera tuvo que reprobar a un estudiante, les preguntó si ahora entendían la razón del GRAN FRACASO DEL SOCIALISMO. Es fácil, simplemente se debe a que el ser humano está dispuesto a sacrificarse trabajando muy duro cuando la recompensa es muy atractiva y justifica el esfuerzo; pero cuando se quita ese incentivo, nadie va a hacer el sacrificio necesario para lograr la excelencia. Finalmente, el fracaso será general.

viernes, 16 de julio de 2010

Cosas GEEK


Para aquellos que le gusta las cosas GEEK o aquellos que sientan que llevan el GEEK por dentro (aunque en público lo nieguen), los invito a visitar esta página, hay cosas súper tontas pero hay otras realmente geniales. Disfruten jejeje.

http://www.thinkgeek.com/

domingo, 11 de julio de 2010


Aquí les dejo un link relacionado con los mitos del Software Libre, espero que les guste, les entretenga y les sea de mucho provecho...

http://blog.txipinet.com/2006/07/30/13-los-mitos-del-software-libre/

Pensamientos generales... Reflexionando...

Pienso que el SL debe brindar mayor calidad, estandarización para poder interactuar con la mayor cantidad de SO o de sistemas en general, así como confianza para darle mayor seguridad a las empresas que por miedo a una falta de soporte, a fallas continuas sin respuestas inmediatas, falta de documentación etc, etc, ingresan a este mundo del SL.

Además, pienso que se debe hacer algún tipo de campaña para cambiar la manera de ver las cosas a las personas, la filosofía en esta área porque me he conseguido con muchas que ante una búsqueda de cambio hacia mejor, te responde "pero para qué hacerlo ahora si?? .. Si llevo X cantidad de años haciéndolo así y funciona"... Digamos que no tienen esa visión del más allá, del buscar probar cosas nuevas, de ir innovando, etc, etc sino que por lo general prefieren la continuidad y eso es lo que los haces resistirse al cambio, por miedo a fallar.

Como conclusión del tema...

En general pienso que el Software Libre cada vez está ganando mayor terreno porque está logrando penetrar en un mayor número de usuarios, en el caso de los trabajadores del gobierno por ejemplo, en su mayoría buscan la manera de adaptarse a la nueva modalidad y de buscarle las ventajas ya que en muchos de los casos la decisión de migrar hacia software libre fue impuesta y a pesar de que esto pudiese crear un poco de resistencia, se debe buscar un equilibrio para bienestar de todos. Me parece excelente que el campo del Software Libre esté penetrando cada día más y reemplazando al campo del Software Propietario en algunos de los casos, pero tampoco pienso que esto deba ser así siempre ni en TODAS las empresas o afines, ya que es importante mantener la variabilidad la cual beneficiará a toda persona a la hora de tomar un decisión, ya que podrá estudiar entre varios posibles casos, la situación que más se adapte a sus necesidades y esa es la idea en mi caso, aprender a convivir con ambos mundos sin interferir uno coel otro sino dejando a libre selección del interesado según lo que le convenga.

$) Ámbito Del voluntariado e institucionalidad:

En el ámbito del voluntariado e institucional se garantiza una alta interoperabiliidad en los sistemas de información utilizando Software Libre así como un alto estímulo para la competitividad y la reducción de costos en adquisición de licencias por la no existencia de dependencia directa hacia los proveedores. Además de ello, existe un tema sumamente importante para todas las empresas, que es la privacidad de la información de sus clientes así como cualquier información propia de la empresa que pueda almacenar, la cual en Software Libre pueden ser mayor porque todos los códigos fuentes de los programas puedpreservando así la seguridad y privacidad de la data.
$) Ámbito Social:

En el ámbito social el software libre tiene infinidad de retos que debe aprovechar para su surgimiento y mayor utilización del mismo. Se puede atacar el área de escritorio, como lo mencioné en el primer punto, es importante que a nivel empresarial vean al Software Libre como una solución completa, que vaya desde la adquisición y utilización de los programas de escritoriao utilizados día a día por la mayoría de los trabajadores de las empresas, como los softwares de desarrollo, los software que almacenan la información (archivos planos, bases de datos, etc) pasando por los sistemas operativos de las máquinas usadas por los empleados de la empresa, desde la secretaría hasta el director, así como los servidores que sustentan todos los sistemas de la empresa. Y no abarcar únicamente estos puntos, sino aprovechar a inculcar la filosofía del software libre a la forma de trabajo de la organización, empezando por la directiva hasta el último eslabón de la pirámide, el cual por ser el último no le resta importancia al ubicado en dicha posición.

“Las patentes de software les concederían a los enemigos de Linux y el software libre ("Open Source") medios de poder que impiden la competencia y dejarían en manos de algunas empresas estadounidenses de software la infraestructura europea, haciéndola así dependiente de los productos de estas empresas.”

$) Ámbito Legal:
Este ámbito está muy relacionado al tema de las patentes en general, el cual a mi forma de pensar es el más arduo y más importante atacar para obtener los mejores resultados, ya que en esto el Software Libre se ve directamente afectado por el impedimento que puede ocasionar en los desarrollos de muchos proyectos que no pueden pagar licencia a costa de dejar de ser libres. Ahora en términos globales en relación al tema, obtuve un extrato relacionado con la controversia de Europa el cual está alineado a mi idea anterior, el cual especifica lo siguiente:

$) Ámbito Estrátegico:

Como estratégia fundamental, el Software Libre debe basarse en sus cuatro (04) libertades, las cuales pienso yo que son su fuerte. En cuanto a la libertad Nro. 1 (La libertad de estudiar cómo trabaja el programa, y cambiarlo para que haga lo que usted quiera. El acceso al código fuente es una condición necesaria para ello), ya que de esta manera se puede ir mejorando el código fuente por infinidad de personas a nivel mundial, lo cual genera mejores revisión de calidad.
$) Ámbito Técnico:

Desde el punto de vista técnico, es muy importante que el Software Libre estudie, analice e innove en las áreas donde les sea posible, ingresando con mayor argor en aquellas donde existe actualmente un poco de debilidad en los competidores. Esto se puede lograr, diseñando mejores programas de desarrollo, de seguridad, entre otros, lo cual puede ser visto como oportunidad en aquellas áreas de mayor debilidad y como reto por lograr nuevos productos, o nuevas funcionalidades dentro de los productos.

Otro punto que es importante resaltar como reto a mi parecer, es que el Software Libre debe buscar la facilidad de interoperabilidad entre Sistemas Operativos y/o programas. Por otra parte, debe luchar con las herramientas de escritorio, con mejorarlas en todos los aspectos como interfaz gráfica, facilidad de manejo, alcance de actividades, entre otras, así como crearle nuevas funcionalidades que permitan generar mayor interés en una aplicación de escritorio Software Libre que las competencias propietarias como es el caso de Microsoft con contrincante mayor en la actualidad.
$) Ámbito Académico:

El ámbito académico, ya que fue uno de los primeros ambitos en relucir desde su nacimiento. Existen varias ramificaciones asociadas a lo academico, entre las cuales se destacan: la docencia, la investigacion y la gestion y uso normal. En cuanto a la docencia, el reto principal es el interes que se puede o no despertar en los estudiantes con ideologias, interes y/o conocimientos en el área de informatica, al introducirlo en esta filosofìa. Adicionalmente a ello, existe otro reto fundamental en donde el software libre genera importancia siendo parte de apoyo para la docencia, generando así nuevas formas de entendimiento. En cuanto a las oportunidades que puede tener el software libre en lo académico con la docencia pienso que como punto principal está el hecho de poder utilizar muchas herramientas al mismo tiempo sin problema de coste (en su mayoría), todo el material utilizado por un docente puede ser distribuido a los demás docentes sin problema de legalidad alguna con la intención de seguir corriendo la voz de la filosofía de software libre y ampliando la gama de usuarios interesados en el área. Maneja un nivel de flexibilidad alto, adaptándose así a las necesidades docentes concretas de cada quien. Un ejemplo de softwares libres que pueden usarse académicamente son: OpenOffice (área de ofimática), Mozilla (área de internet), Cinerrela (Edición de video), entre otros… A nivel investigativo, existe una oportunidad para el investigador que puede centrarse en lo que más importancia posea para él modificando programas disponibles. Por otra parte, existe simplificación en la transmisión electrónica de documentos, lo cual ayuda en gran medida a los investigadores a enriquecer sus trabajos investigativos basados en información real y por último pero no menos importante, el investigador tiene a su disposición resultados de otras invreproducir y comprobar sin problema alguno.

Retos y Oportunidades del Software Libre...


El  Software  Libre  tiene  muchos  retos  y  oportunidades  importantes,  los  cuales  deben  aprenderse  a  utilizar  para  generar  mayor  mercado  y  popularización  que  el  Software propietario. Pienso que por una parte no se ha  logrado  una  encaje  completo  de  todas  estas  cosas  y  es  por  ello  que  ha  sido  un  tanto  complicado  el  ingreso  al  mercado  del  SL.  Estos  retos  y  oportunidades  se  pueden  ver  desglozados  en  los  diferentes  ámbitos  en  los  que  puede  ser  afectado.  Estos  ámbitos  se  detallan  a  continuación: 

¿Qué impulsa y que le falta al SL en Venezuela?

¿Qué impulsa el SL en Venezuela?

El SL en Venezuela impulsa a la generación de proyectos muy buenos, de obtención y divulgación de conocimientos, de oportunidad de negocio, entre otros. Esta idea trata de propagar la voz y la buena intención que implica el compartir conocimientos.


¿Qué le falta al SL para entrar con mayor fuerza en todos los ámbitos del quehacer nacional?

A mi forma de ver, lo que falta es información, publicidad, personal entrenado para capacitar a otros en el tema.. es por ello que es importante que se realicen foros que ayuden a dar a conocer al movimiento así como a luchar contra lo que "se mal interpreta" en algunos momentos de lo que significa el Software Libre, que no se vea como gratis sino como libre "sus cuatro libertades", la ventaja del intercambio del conocimiento y intenciones que buscan el SL si se concibe desde su propia filosofía.

Proyecto GNU de Venezuela!!!!

Proyecto GNU de Venezuela (http://gnu.org.ve/)

Curiosidades respecto al Proyecto GNU de Venezuela...

1.- Descripción/Misión/Objetivos:

El Proyecto GNU de Venezuela es una Asociación Civil sin Fines de Lucro, fundada para dar respuesta a los proyectos de Software Libre y los Grupos de Usuarios en Venezuela que requieran apoyo tecnológico, logístico y legal.
Proyecto GNU es también un ente generador de propuestas donde se integran todo tipo de actores del movimiento del Software Libre para apoyar la libertad del conocimiento y está formado por personas que participan activamente en el movimiento del Software Libre y por representantes de Grupos de Usuarios de GNU/Linux en el país con presencia en casi todos los estados de Venezuela.

Su misión es “Crear condiciones para la participación activa y organizada de los grupos de usuarios, activistas, y demás organizaciones de base tecnológica en el proceso de creación, difusión, aplicación y apropiación social de las Tecnologías Libres y la Libertad del Conocimiento, para promover el desarrollo tecnológico endógeno en el país con visión humanística, en pro de consolidar la Soberanía Tecnológica Nacional.”

2.- Actividades/Proyectos:

1) Atención física (directa) a las personas que se interesen por la libertad del conocimiento y especialmente aquellas que carecen de una conexión estable o frecuente a internet, para quienes se debe pensar en una estrategia que reduzca su brecha tecnológica, un lugar donde se consiga fácilmente productos de software libre (distribuciones y aplicaciones) y materiales escritos en forma impresa o digital que pueda ser leído en cualquier parte con o sin conexión a internet logrando la obtención del conocimiento que nuestro movimiento desea compartir y hacer accesible. Actualmente cuentan con los siguientes SITIOS FÍSICOS en diferentes estados de Venezuela, tales como:
• Aragua
• Carabobo
• Distrito Capital
• Lara
• Valle de la Pascua
• Zulia
• Anzoátegui

2) Difusión de las Tecnologías Libres y la Libertad del Conocimiento con el fin de promover el desarrollo tecnológico endógeno en el país.

3) Busca reunir a los interesados en difundir, promover y desarrollar el Software Libre en Venezuela mediante sus modalidades de contacto (email “grupos@gnu.org.ve”, sitios físicos, teléfonos, página web)


3.- Fecha de creación:

El proyecto GNU, fue iniciado en 1983 por Richard Stallman y mantenido por la FSF. Pero el “Proyecto GNU en Venezuela” no sé a ciencia cierta cuál es la fecha de su iniciación, puedo decir que su primera actividad publicada en http://gnu.org.ve/ fue el 05/08/2009 que fue el “III Hacklab LUGMA”, para mayor información www.lugma.org.ve.

4.- Observaciones:

1) El 6to Congreso Nacional de Software Libre (CNSL) realizado en nuestro país, el cual inició el 16 y 17 de Abril en Caracas y culmina el 16 y 17 de Mayo en San Felipe, fue organizado por el Proyecto GNU en Venezuela. (Para mayor información http://planeta.ubuntu-ve.org/ y http://www.cnsl.org.ve/)

2) Dentro de su Contrato Social está declarada la implementación de Software Libre en Venezuela como prioridad. Y así como ese existen otros aspectos que deben incluirse dentro de sus actividades, tales como: mantener la independencia política, actuar de manera honesta y transparente, apoyar a las demás comunidades y promover el uso de software libre.

3) Actividades realizadas: III Hacklab LUGMA y Jornadas de Software Libre (05/08/2009), Día Debian (13/08/2009), Día Debian Barquisimeto (27/08/2009), Software Freedom Day Venezuela (06/09/2009), Barcamp Valencia 2009. (27/09/2009)

Aspectos relevantes del SL....

Existen varios temas relacionados con el Software Libre, los cuales han sido debatido con gran énfasis ya que forman parte importante de su esencia. Comentaré los puntos y seguido daré mi opinión al respeto.

a) Es más económico que el software propietario: No necesariamente es así, eso depende de muchos aspectos que deben tomarse en cuenta como el soporte, mantenimiento y actualizaciones requeridas personalmente, entre otros aspectos a considerar que influyen directa o indirectamente en el costo total del software. En teoría se pudiese pensar que es más económico que el software propietario por la manera es que es concebido pero no completamente cierto en TODOS los casos. Antes de adquirir un software se deben analizar muchas aspectos que influirán en la decisión final de que software adquirir, en muchos casos las empresas suelen evaluar los costos de los software por sí solos y no incluyen otros elementos que aumentan ese coste y que pueden afectar en gran medida en el resultado esperado por la empresa, además de los que nombré en el párrafo anterior, el tiempo es un factor muy determinante en ciertos casos, ya que a veces se REQUIERE obtener el software con menor tiempo posible, pero claro, con las necesidades totalmente cubiertas.

b) La libertad de uso y distribución favorece el desarrollo: pienso que esta característica es una de las más llamativas del software libre, ya que esta libertad favorece el desarrollo, las actualizaciones y mejoras de los productos, al permitir la contribución de mayor cantidad de personas alrededor del mundo con conocimientos relacionados.

c) El SL asegura la independencia tecnológica y la eliminación del monopolio del fabricante del software: estoy de acuerdo en esto, ya que con el software libre no existe dependencia con el fabricante. Ahora bien, viéndolo desde otro punto de vista, no pienso que al contar con la existencia de Software Libre deba desaparecer el monopolio ya que creo que debemos tener acceso a diferentes cosas en todos los ámbitos existentes con la finalidad de tener siempre la potestad de poder escoger uno mismo basado en lo que se quiere.

d) El SL fomenta la libre competencia al basarse en servicios y no licencias: Si, el SL fomenta la libre competencia por basarse en servicios y no en licencias, es más, se pudiese ver desde el punto de vista de "Trabajo en Equipo" donde varias personas unen sus conocimientos, destrezas, habilidades y demás condiciones necesarias para un fin común y de esta manera se pueden obtener mejores resultados en el menor tiempo y costo posible, siempre y cuando existe una organización y buena coordinación.

e) El SL no tiene soporte y existen problemas de compatibilidad: Este es un detalle en contra que tiene como desventaja el Software Libre respecto al Software Propietario, ya que en este último caso se sabe dónde acudir para obtener la ayuda buscada aunque requiera de mayor costo, en algunos casos es preferible para las empresas. Pero no con esto le quito todo el crédito a los Software Libre porque actualmente existen muchos foros, muchas comunidades en donde se puede conseguir información que ayude a la solución de problemas, además de existir comunidades que dan soporte en algunos de los casos, aunque sea más complicado el camino para el resultado final, no es imposible.

f) Garantiza privacidad y seguridad de los datos, no más virus: En mi experiencia propia, creo que la mayoría de los Sistemas Operativos basados en Software Libre no tienen virus o digamos que no existe tanto ese inconveniente (como Microsoft Windows) que a cada momento aparece un virus, el cual combaten (AntiVirus) cuando enseguida están sacando otro. Esta es una lucha FRECUENTE y muy fuerte que hay actualmente. Yo por lo menos, utilizo frecuentemente Snow Leopard que es el sistema operativo de la MAC y me parece que es una maravilla relacionado con este tema (CERO VIRUS), y este es un Software Propietario, pero si comparamos con uno del mismo estilo (Windows) no pienso igual, ya que es el SO con mayor cantidad de virus circulando. Mientras que Suse, Ubuntu y demás, no tienen ese problema de los virus al igual que el Snow Leopard.

g) Corrección más rápida y eficiente de errores: Esto es relativo porque como dije anteriormente, si existiera una buena logística esto sería una actividad muy sencilla y rápida (dependiendo del caso), ya que la ventaja que tiene el SL sobre el SP es la cantidad de grupos de usuarios trabajando en esto, dedicados a esto o simplemente aportando un granito de arena porque creen en esto y quieren colaborar con sus conocimientos obtenidos. Pero si por el contrario, no existe una buena organización, este proceso de corrección de errores pudiese hacerse mucho más lento y con menor eficiencia que los de SP, ya que entre tantos aportes pudiese extenderse la solución o obtener una solución no muy buena.

h) El Software Libre es un proyecto político: Realmente yo no lo veo como un proyecto político, sino más bien lo asocio con la libertad de hacer algo, de obtener algo, de aprender y de plasmar los conocimientos en algo productivo. Es una comunidad como cualquier otra que tiene un fin único. Pero en muchos de los casos, por lo que he leído, si se ve relacionado como proyecto político.

Me gustaría conocer cuál es tu opinión al respecto? Sino concuerdas conmigo, sería muy interesante para mí saber el por qué y así poder entender otros puntos de vista que quizás hasta el momento no he logrado descifra. Es por ello que te invito con toda confianza a debatir al respecto, serán muy bien recibidos las opiniones así como podrían ser una fuente impulsora para iniciar un debate interesante donde se pudiesen intercambiar las opiniones para generar nuevas y mejores ideas en pro del Software Libre.

martes, 25 de mayo de 2010


Para tener una idea general de lo que es el licenciamiento de software así como sus aspectos y conceptos más importantes relacionados, aquí les dejo este esquema realizado por mi persona, el cual marca el inicio de una buena investigación para los interesados en indagar un poco más en este tema!!!

4 categorías de licencias libres y abiertas...

El libro "Aspectos legales y de explotación del software libre" detallan cuatro (04) categorías de licencias libres y abiertas, las cuales son:

1. Las licencias libres con copyleft robusto: este caso pretende asegurar las cuatro libertades fundamentales del software libre en base a la figura del copyleft. Así como también permite que las modificaciones y los nuevos softwares sean distribuidos en las mismas condiciones.

2. Las licencias libres sin copyleft robusto: esta licencia se basa en que el código es fruto de las investigaciones y los trabajos universitarios financiados por el gobierno de los Estados Unidos (y los impuestos del pueblo americano), por lo tanto, debe ser de acceso libre, protegiendo lo que llamaríamos aquí los “derechos morales” de los autores por la simple obligación de mantener los avisos de autoría (copyright notice).

3. Las licencias libres sin copyleft: Estas licencias son incompatibles con la GPL, en el sentido de que no se puede integrar material de estos programas en un programa o su obra derivada bajo la GPL porque las licencias sobre estos materiales incluyen obligaciones que son más restrictivas que la GPL

4. Las licencias “seudo-libres”: Estas son licencias creadas por empresas que intentan beneficiarse del modelo de desarrollo libre.

Es importante tener bien claro las diferencias entre ellas, aunque debo confesar que son fáciles de confundir por sus ciertas similitudes, pero a pesar de ello, todas persiguen detalles diferentes.

Aspecto importante de las Licencias de Software Libre...

Es importante recalcar que una licencia que requiera que las versiones modificadas no sean libres, no se puede considerar como una licencia libre.

La mayoría de las licencias de software libre están basadas en el copyright, y existen límites en los tipos de requisitos que pueden ser impuestos a través del copyright. Si una licencia basada en el copyright respeta la libertad en las formas antes mencionadas, es poco probable tener otro tipo de problema que no hayamos anticipado (a pesar de que esto ocurre ocasionalmente). Sin embargo, algunas licencias de software libre están basadas en contratos, y los contratos pueden imponer un rango mucho más grande de restricciones posibles. Esto significa que existen muchas maneras posibles de que tal licencia pueda ser inaceptablemente restrictiva y que no sea libre. Esta información fue extraida de la página de GNU.

Licencia de Código Abierto....

Según ABAX Asesores, para que una licencia sea considerada “licencias de código abierto” deben cumplir con los siguientes requisitos mínimos:
1.- Debe permitirse la libre redistribución del software.
2.- El código fuente debe estar disponible.
3.- Debe permitirse la modificación del software y la creación de programas derivados. 4.- Debe garantizarse la integridad del programa original. Esto puede hacerse exigiendo que la distribución de cualquier modificación se haga de forma separada, o que cualquier modificación o programa derivado sea distribuido con un nombre o versión diferente.
5.- No se debe discriminar a ninguna persona o grupo de personas.
6.- Debe permitirse el uso del software para cualquier fin.
7.- La licencia debe ser distribuida junto con el software. La licencia debe aplicarse por igual a todos los que utilizan el programa.
8.- La licencia deberá ser siempre la misma, sin importar si el software es incluido dentro de una distribución o paquete específico.
9.- La licencia no debe aplicar restricciones sobre otros programas.
10.- La licencia debe ser tecnológicamente neutral

martes, 11 de mayo de 2010

Software Libre en Venezuela

Pueden visitar este link para que conozcan las novedades respecto al Software Libre que se ha realizado en nuestro país.
http://www.softwarelibre.gob.ve/

Herramientas para construir Diagramas UML

Existen muchas herramientas para construir un diagrama UML, entre las más conocidas se encuentran: ArgoUML, FUJABA, StarUML que se distribuye con licencia GPL, mUML, RhapsodyModeler, ObjecteeringUML, UML Studio, Dia, DOME, Poseidon, entre otros.

La única herramienta que he tenido la oportunidad de utilizar es ArgoUML la cual es escrita en Java y publicada bajo la Licencia BSD. Entre las últimas características que han sacado de mejoras en las versiones es la compatibilidad con AndroMDA, han sido corregidos cientos de bugs detectados en todas las versiones previas, mayor facilidad en la creación del modelo, entre otras. En mi experiencia propia, me parece que es muy amigable y sencillo de utilizar.

Me gustaría tener la oportunidad de utilizar otras herramientas para compararlas con mis experiencias propias, además de las diferencias encontradas en internet y de las que indicaron mis compañeros.

Aquí les dejo una página que muestra gáficamente la aplicación y las funcionalidades básicas a seguir para la construcción del Diagrama UML.

http://trevinca.ei.uvigo.es/~jgarcia/TO/usoArgoUML/index.html

Importancia del Diagrama UML

El diagrama de UML es muy importante por varias razones:

1) Posee características más visuales que programáticas, por lo cual facilita la comunicación entre los analistas de la aplicación y los conocedores de las reglas de negocio (como lo menciona Ginestá Marc y González Álvaro en su libro “Ingeniería del Software en entorno de Software Libre”, en el segundo punto de lo que permite hacer un modelado visual). Esto reduce las posibilidad de desarrollar softwares que no cumplan con las expectactivas del cliente, ya que en la trasmisión de los requisitos iniciales del cliente al programador no se captó lo que el usuario quiere realmente, o no hubo una buena explicación por parte del cliente.

2) Facilita el proceso de desarrollo del software para el programador, ya que anteriormente logró visualizar de manera gráfica lo que quiere plasmar en códigos, es más fácil traducir de este concepto visual que directamente de los requerimientos del cliente.

3) Determina la mejor manera de solucionar la situación propuesta (requerimientos --> sistema), ya que realizando el Diagrama de UML se puede visualizar de mejor manera las acciones que suelen repetirse, los objetos, clases, métodos, funciones, entre otros que son similares y de esta manera se acorta el tiempo de desarrollo y se pone en práctica la "reutilización", término muy bien visto en esta época de libre información - software libre y de programación orientada a objetos.

4) Facilita la documentación del sistema desarrollado, el cual debe pasar de igual forma por su proceso de QA.

Diagrama UML

Permite establecer los requerimientos del usuario y estructuras necesarias para plasmar un sistema de software previo al proceso, como se diría coloquialmente, de "echar código".

Es diagrama es semejante a los planos en un construcción de un edificio, por ejemplo. Que podría comenzar construyendo el edificio con la idea que tiene en la "mente" el Ingeniero Civil pero sin tener unos planos previamente realizados, es MUY probable que esa construcción no quede estable, no contemple la seguridad necesaria, entre otros aspectos. Igual sucede con el desarrollo de software, muchas veces queremos comenzar a "echar código" sin detenernos a analizar la situación a ver cual sería la mejor manera de hacerlo.

domingo, 25 de abril de 2010

Respecto a la metodología MeRinde...

Leyendo algunos artículos de la metodología MeRinde me parece que es interesante, pero no he tenido la oportunidad de trabajar con ella y no la conozco muy bien, únicamente lo que sé ha sido porque me he documentado en Internet y por los aportes que he tenido la oportunidad de intercambiar con un grupo de compañeros que tienen los mismos intereses que yo en cuanto a la comunidad de Software Libre, pero menciono este tema, ya que me gustaría conocer experiencias de personas que han tenido la oportunidad de trabajar con ella, saber la opinión en cuanto a la metodología RUP y esta, ya que poseen mucha similitud. Estoy haciendo un estudio de dichas metodologías a ver que beneficios me aporta cada una de ellas y me gustaría saber tu opinión práctica al respecto.

Diferencias y similitudes entre enfoques metodológicos de hoy y del ayer..

Las diferencias observadas en los nuevos enfoques metodológico son varias, entre ellas se encuentran que actualmente: Se busca minimizar errores desde las etapas iniciales, en vez de esperar a que ocurran en la implantación y arreglarlos, se busca la manera de mantener documentado lo que se va realizando para facilitar su comprensión y posterior funcionamiento o mantenimiento. Se realiza un análisis completo de todo el proceso, estimando lo que pudiese existir a futuro e ideando posibles escenarios para prevenir cualquier inconveniente. Reduce costos en base a lo que necesita obtener, los recursos que maneja y los análisis previamente descritos. Por lo general, se mantiene mayor interacción con el cliente durante todo el proceso. En los enfoques metodológicos, cada vez más se hace presencia como algo indispensable el control de la calidad para cada uno de los proyectos que se lleven a cabo.

En cuanto a las similitudes, pues noto que aún se mantiene la razón de ser del enfoque metodológico, que es seguir una serie de pasos, de etapas sistemáticas para obtener un producto final adaptado a lo que se necesita, actualmente va más allá de lo que el cliente necesita, sino que se trata de abarcar todo el área que abarca la competencia en relación a este criterio en particular que se está trabajando.

Riesgos de la implementación de un SI basado en SL

Entre algunos de los riesgos que veo en la implementación de un sistema de información basado en Software Libre es que pudiese existir escasez de soporte o por lo contrario a un alto costo, ya que esto por lo general no es un acuerdo que se realiza antes de la adquisición del Software Libre. Existe un tema muy importante también que es la seguridad de la información y dependiendo de cómo estén establecidas las cualidades mínimas de seguridad de esto y de cómo se involucra el control de la información del usuario por parte del proveedor, podría llegar a ser un riesgo o no. Por otra parte, está el tema de la calidad del producto, esto no necesariamente es un riesgo, ya que con la existencia de tantas metodologías, formas de trabajo, teorías de calidad, desarrollos libres que incorporan calidad este riesgo es minimizado, ya que por lo general, todo producto terminado en la actualidad posee un alto índice de calidad y esto es necesario para poder competir en este mundo de oportunidades tecnológicas que día a día nos invaden con excelentes innovaciones.

Selección de metodología en una gestión de proyecto

Al momento de gestionar un proyecto, lo primero que debe hacer la empresa, la persona, el comité o la comunidad que esté desarrollando el proyecto, es analizar sus condiciones y preguntarse que desea obtener, cuando lo desea obtener, a que costo, con que recursos cuenta para lograr lo propuesto, entre otros detalles lo que le harán decidir que metodología emplear para sus desarrollos de software internos, bien sea una existente (ya que hay una gran gama hasta la fecha) o una mezcla de metodologías del mercado con alguna variación propia para adaptarlo a sus necesidades. Es importante que se tome muy en cuenta este análisis ya que en gran parte dependerá del éxito o fracaso del producto obtenido.

Por otra parte, pienso que en una organización pudiesen existir diferentes tipos de metodologías para el desarrollo de sus software ya que este debe adaptarse a las especificaciones de cada uno de los proyectos que se llevan a cabo, quizás uno de ellos necesita mayores recursos porque debe salir en el menor tiempo posible, mientras que otros requieren de una metodología más analítica y no necesita ser entregado a corto plazo, entre otros detalles que marcan la selección correcta de la metodología a implementar.

Experiencias propias en metodologías de desarrollo de software

En cuanto a las metodologías de desarrollo de software, he tenido la oportunidad de llevar a la práctica dos de ellas. La metodología XP la utilicé en mi tesis mezclada con otra en donde nos facilitó la culminación de dicho trabajo de grado, ya que se contaba con poco tiempo y se necesita obtener el producto con ciertas funcionalidades como requisitos mínimos del cliente en una primera etapa, y esto nos conlleva a buscar la manera de minimizar la taza de defectos y los retrasos en la planificación, así como la participación de todos los involucrados en el proyecto. Dentro de mi experiencia como programador, me parece indispensable que exista la retroalimentación continua entre el cliente, los usuarios y los desarrolladores del software, ya que esto permite aclarar las especificaciones y a medida que avanza el proyecto permite ver las cosas con mayor claridad en ambos lados del proyecto.

Por otra parte, he tenido la oportunidad de trabajar con SCRUM en desarrollos dentro del trabajo, aunque muy poco, pero dentro de mi experiencia, esta metodología es muy productiva ya que se inicialmente se realiza una programación basado en todos los puntos de vista del producto (lo que desea el cliente, en el tiempo que lo quisiera el cliente, lo que pueden lograr los desarrolladores y lo que piensa el gestor del proyecto analizando todos estos puntos), posteriormente, esa planificación es chequeada continuamente ya que se deben realizar reuniones diarias donde se mencione que se ha logrado hasta el momento.
Esta última metodología se pudiese aplicar para cuando se tiene mayor tiempo para desarrollar mientras que la otra es para corto plazo generalmente, ya que quizás las reuniones diarias para un proyecto tan corto no son beneficiosas. Pero existen muchísimas metodologías y todas tienen sus ventajas y desventajas, todo depende de lo que se desee desarrollar, como, en cuanto tiempo, etc, etc.

Sistema de Control de Incidencias - Mantis BT


En mi experiencia práctica utilizo un sistema de control de incidencias, el cual los invito a indagar más sobre el a ver si les parece interesante.

Hablo de sistema MBT, que significa Mantis Bug Tracker por sus siglas en inglés, que como mencioné anteriormente, es un sistema para el control de incidencia, este sistema es libre, puede descargarse gratuitamente desde la página http://www.mantisbt.org/ y es completo. Funciona bajo casi cualquier navegador web, y trabaja con tres base de datos distintas: MySQL, MS SQL y PostgreSQL. Este software web, lo he utilizado por dos años y permite hacer seguimiento de las incidencias presentas, tanto por los desarrolladores como por el líder, te envía toda modificación realizada vía correo electrónico de todas las modificaciones ocurridas en todos los proyectos en los cuales se están incluido, bien sea como espectador, como desarrollador, como QA o como líder del proyecto. Dentro de mi experiencia, de verdad se los recomiendo.

¿Qué técnicas nos ayudan a estimar el desarrollo del SL?

La técnica que conozco y he utilizando para la estimación de un desarrollo es la NUCP que es un modelo estadístico formal basado en el concepto de puntos normalizados de casos de uso. Este modelo permite, de manera muy sencilla, realizar una estimación inicial del esfuerzo asociado a un proyecto a partir de los requisitos funcionales del mismo (los casos de uso), así como realizar ajustes consensuados en cuanto sea necesario. Esto es importante ya que en estos casos de uso se detalla la información de los actores involucrados en los procesos así como la funcionalidad del sistema y el tipo de interacción entre cada uno (participación de un actor en el caso de uso, inclusión del comportamiento de un escenario en otro, relación de dependencia, entre otros).

¿Cuáles son los factores claves para gestionar exitosamente proyectos de SL?

Para tener una gestión exitosa en proyectos de Software Libre es indispensable, como menciona Yomaira Montilla, el uso de herramientas de interacción entre los involucrados en dicho proyecto, donde se manejarán incidencias, aspectos importantes y cualquier otro detalle encontrado en el desarrollo. La comunicación es súper importante pero también es importante tener una buena definición del proyecto, de que se quiere obtener y a que plazo se desea obtener, si se definen etapas de desarrollo, se deben especificar cual es el alcance de cada una de ellas, a pesar que en el tema del Software Libre no es tan sencillo gestionar estos detalles por la esencia de su formación, pero es importante tomar en cuanta la gestión de calidad, gestión de riesgo, el seguimiento del proyecto, entre otros aspectos importantes. Esto se hace indispensable por el mundo tecnológico tan cambiante que existe, donde lo que es el boom hoy, ya en 1 año pasó a ser parte de la historia. Si los proyectos de Software Libre no se gestionan de buena manera, no se podrá tener éxito en los resultados.

¿Qué aportes da la Ingeniería del Software al desarrollo de aplicaciones basadas en SL?

La Ingeniería del Software genera diferentes aportes al desarrollo de Software Libre ya que permite mantener organización dentro de la planificación y no limita la utilización de herramientas, la selección de lenguajes, recursos, metodologías ni ningún aspecto posible a seleccionar dentro del proyecto.

Como en el desarrollo del software libre puede participar cualquier persona, no tiene limitantes en cuanto a recursos ni a funcionalidades, ya que la misma puede ir variando de momento a momento, pienso que aquí la ingeniería de software toma un papel importante, ya que permite encontrar formas para que los desarrolladores de software libre produzcan software de gran calidad siguiendo paradigmas de creación, producción y mantenimiento que así lo certifiquen, y para que todo esto se realiza con trabajo en equipo, ya que en esto están basados tanto la Ingeniería del Software como el Software Libre.

Filosofía del Software...

Es importante ver lo que es la filosofía del software, que es libertad de compartir, no solo en el Software Libre sino en la vida como tal, en todo lo que hacemos día a día, en todos los ámbitos de nuestra vida, ya que eso no elimina la competitividad sino que la redirecciona hacia otros aspectos que van más relacionados con la filosofía de calidad de cada organización, así como la de cada individuo, en buscar hacer mejor las cosas cada día y de obtener mejores resultados con menor costo, bien sea de tiempo, de dinero, de recursos, entre otros.

Es importante que esta filosofía vaya inmerso en nuestros valores.

FSFE


Free Software Foundation Europa (FSFE) es una organización sin fines de lucro y en algunos países la organización de caridad dedicada a Software Libre.


De la FSFE lo que me parece más relevante es que mencionan que “las libertades de usar, estudiar, compartir y mejorar el software son fundamentales para garantizar la igualdad de participación en la era de la información”, y efectivamente, pienso que estos fundamentos toman un gran peso porque mantener esa igualdad de participación es lo que permitirá generar mejores conocimientos de los más expertos, sin restricción alguna. En cuanto a la FSFLA habla de “defender los derechos y las libertades de usuarios y desarrolladores de software”. Básicamente, estos portales se enfocan en transmitir la defensa de la libertad en pleno.


Por otra parte, los portales de Software Libre por lo general incentivan a involucrarte en este mundo, a aportar ideas para generar mejores conocimientos e ir creciendo cada vez más en el mundo tecnológico.

miércoles, 14 de abril de 2010

Mapa Conceptual del Software Libre


Este mapa conceptual les ayudará a visualizar de manera simplicada lo que engloba el "Software Libre". Esta es una estrategia de aprendizaje jerarquizada y que propone un alto impacto visual.
Ahora, propongo una pregunta a ver quien se anima a responderla:

¿Está usted de acuerdo con que el software tenga propietarios o sea libre?
Particularmente pienso que deben coexistir ambas posibilidades en el mercado, software propietarios y software libres ya que se le debe dar la oportunidad de elegir al usuario final o cliente del software, basado en sus necesidades, sus posibilidades monetarias, sus creencias, experiencias o cualquier criterio que posea. Lo importante de esto, es no imponerle algo o truncarle la posibilidad de selección al usuario.

Siendo un poco extremistas, supongamos que hoy se acaba por completo el mundo del “software propietario”. Pienso que entre unas de las consecuencias que ocasionaría esta situación estarían: muchas empresas quebrarían, muchos programadores o afines quedarían sin empleo y hasta quizás se forjaría un rebullicio, por lo cual siento que la NO existencia de este mundo, afectaría a un grupo considerable de personas, y es por ello que pienso que ambos mundos pudiesen coexistir.

Software Libre y sus relaciones...

EL Software Libre nació como defensa al acoso a los usuarios del software, proclamando por la libertad de expresión y de información. Actualmente, está tomando otra forma, ya que está enfocándose también hacia lo económico, y se está visualizando como estrategía empresarial.

Si lo vemos desde el punto de vista ético, el software es conocimiento y por ende debe poderse difundir sin inconveniente alguno. Además, que de esta manera, las modificaciones al software pueden venir dadas por cualquier persona interesada en el tema por lo que permite la libertad de expresión y la variabilidad de conocimientos, que en muchas ocasiones vendría siendo un beneficio ya que al ser de escrutinio público, se podría pensar en que se reducirían las posibilidad de errores. Este aspecto es apoyado por la Free Software Foundation (FSF)

Si lo vemos desde el punto de vista pragmático, como lo hace notar la filosofía del Open Source, que parte de la premisa de que al compartir el código, el programa resultante tiende a ser de calidad superior al software propietario, como hacía mención en el párrafo anterior. Por otra parte, si el software no puede compartirse, podemos decir que es un comportamiento que va en contra de la ética dado que prohibir compartir entre seres humanos va en contra de las leyes naturales.
En pocas palabras, para mí el software libre significa libertad a los usuarios sobre su producto adquirido, esto quiere decir que posterior a su adquisición, este puede ser usado, copiado, estudiado, cambiado y redistribuido sin restricción alguna.

Según GNU Operating System:

El software libre es una cuestión de libertad, no de precio. Para entender el concepto, debería pensar en libre como en libre expresión, no como en barra libre.

El software libre es una cuestión de la libertad de los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. Más precisamente, significa que los usuarios de programas tienen las cuatro libertades esenciales.

  • La libertad de ejecutar el programa, para cualquier propósito (libertad 0).
  • La libertad de estudiar cómo trabaja el programa, y cambiarlo para que haga lo que usted quiera (libertad 1). El acceso al código fuente es una condición necesaria para ello.
  • La libertad de redistribuir copias para que pueda ayudar al prójimo (libertad 2).
  • La libertad de distribuir copias de sus versiones modificadas a terceros (la 3ª libertad). Si lo hace, puede dar a toda la comunidad una oportunidad de beneficiarse de sus cambios. El acceso al código fuente es una condición necesaria para ello.

martes, 13 de abril de 2010

Según Wikipedia:
"El software libre (en inglés free software, aunque en realidad esta denominación también puede significar gratis, y no necesariamente libre, por lo que se utiliza el hispanismo libre software también en inglés) es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado y redistribuido libremente."