Archivos de Abril, 2007

Software: Libre, gratis, privativo, privado

Viernes, Abril 27th, 2007

Ayer surgió en la clase de Administración de Recursos una charla interesante (donde se pudo ver cierto sesgo e inclinación por ciertas ideas) entre las distintas modalidades de ofrecer software que hay hoy en día (o que hubo siempre, pero que hoy el tema está en auge). Hubo preguntas como:

  • ¿Alguna vez las aplicaciones de software libre estarán al nivel de las comerciales?
  • ¿Faltan estándares en el software libre? ¿Por eso cuesta elegir? (me recuerda a una frase de Tanenbaum)
  • ¿Cobrarían por un desarrollo hecho con software libre? ¿Cobrarían por un desarrollo que han hecho extendiendo software libre existente (a pesar que las licencias como GPL les exijan liberarlo?)

No soy un experto en lo que es software libre, gratis, privativo, etc. pero hay una cosa que es cierta: hay una gran confusión de los términos.

Que el software sea de código abierto no es lo mismo que sea software libre. Que sea gratis no es lo mismo que sea software libre. Que sea software libre no implica que sea gratis.

Pongo unos cuantos ejemplos:

  • ¿Cuántos programas conocen y descargan que son gratuitos? (costo en dinero por adquirirlos sin contar la factura de Internet que pagan para bajarlos)
  • ¿Cuántos de esos programas ponen a disposición el código fuente para que otros puedan verlo, modificarlo, extenderlo, usarlo, reusarlo?
  • Si un cliente necesita un desarrollo de un sitio web, y en la empresa de hosting les ofrecen soluciones libres (digamos Apache+MySql+PHP) y a la vez una solución software propietario (AlgunServer+ASP.NET+SqlServer). ¿Cobrarían por ambos lo mismo?

Quizá me falte poner un montón de ejemplos más y voy a ir agregando al mismo post (quizá con otro color). Pero a lo que quiero llegar es a lograr establecer que uno puede cobrar siempre por su trabajo. Que el software libre es tanto o mejor que el propietario. Y las ventajas del primero.

Vamos por partes, diría un amigo Jack. Cuento un poco de mi experienci y me gustaría que se armara un debate. (more…)

El poder de la subversion

Viernes, Abril 20th, 2007

Hace poco por accidente (pero de los accidentes que están buenos) comencé a trabajar con Milton y César, dos “subversivos” que cursan conmigo en la UTN. No me refiero a los subversivos de la década de los 70 de la Agentina, sino a la comunidad que apoya SubVersion. Gracias al accidente de toparme con ellos, al fin le metí mano a esta herramienta. Accidente que tarde o temprano me iba a ocurrir, ya que en la Academia de TurboGears nos están dando fajina con SVN. (more…)

Una aplicación escalable a modo de ejemplo

Sábado, Abril 7th, 2007

En el año 2005 cursé una materia electiva (Proceso de Desarrollo de Software) donde primeramente veíamos como diseñar un proyecto utilizando UML (diagramas de casos de uso, diagramas de actividad, diagramas de estado, diagramas de secuencias, diagramas de colaboración) utilizando patrones de diseño.

Luego vimos también una introducción al Proceso Unificado de Desarrollo.

Revisando el material, me encontré con software que hice en ese momento para practicar los conceptos aprendidos. Como varios que me conocen sabrán, cosa que aprendo, cosa que quiero probar.

Pues bien, este es el caso nuevamente.

Buscando en www.codeproject.com acerca de como hacer aplicaciones escalables con una arquitectura basada en plugins, escribí un par de clases y líneas en C# aplicando patrones como Strategy y Observer.

Este ejemplo es sólo un “ejemplo”. Es totalmente cuestionable la eficiencia, lo que buscaba era lograr una arquitectura que me permitiera dejar cosas independientes. Y algo logré.

(more…)

Patrón Observer con C#

Sábado, Abril 7th, 2007

Acá va una implementación posible del patrón Observer, escrita en C#. La escribí en el contexto de una aplicación para la automatización de tareas desde una cuenta de correo con acceso POP3. La idea básicamente era lograr implementar varios patrones de diseño, con el fin de aprender como se utilizaban y en que contextos.

Sobre la aplicación escribiré más adelante.

Vamos a observar el patrón ahora. (more…)