Por qué Codeko desarrolla Software Libre I

Lunes, 25 de julio de 2011 Sin comentarios

Desde el momento en que Codeko surge como idea se decide por los fundadores que la empresa se sustente en un modelo ético para con los trabajadores, los clientes y la propia comunidad de desarrolladores, una vez que se decide esto la opción es clara, el software libre.

Algunas personas cuándo descubren que Codeko desarrolla software libre miran extrañados preguntándose de dónde se obtiene el dinero para pagar los sueldos.
Existe el concepto, a veces incluso entre los propios desarrolladores de Software Libre, de que el ir liberando código no da para vivir, o al menos no para vivir cómodamente.

Codeko no es el único ejemplo de empresa que desarrolla Software Libre, en España y el resto del mundo son muchas las empresas que hemos optado liberar nuestro código pero ¿por qué? ¿acaso estamos locos?.

A continuación el primero de una serie de tres artículos que intentaran arrojar alguna luz sobre porqué es mejor el uso de Software Libre en toda la cadena de producción de software

Pero qué es el Software Libre

El software libre NO es necesariamente software gratuito (aunque puede serlo). Para el que un software sea libre debe reunir las siguientes libertades.

  • Libertad 0 – La libertad de usar el programa, con cualquier propósito.
  • Libertad 1- La libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a tus necesidades.
  • Libertad 2 – La libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prójimo.
  • Libertad 3- La libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie.

Para poder ejercer las libertades 1 y 3 es necesario el acceso al código fuente para poder estudiar y modificar el software

Es decir, el Software Libre aporta a la programación lo que ya existe desde hace mucho tiempo en el resto de profesiones, la posibilidad de saber y conocer cómo esta hecho el trabajo, que “piezas” se han utilizado y como.

Además incorpora la posibilidad de modificar ese software para que se adapte a tus necesidades, y el poder utilizar ese software con cualquier propósito.

Si lo exiges en un restaurante, un vehículo o una instalación eléctrica ¿por qué no hacerlo con tu software?

Pero ¿quién se beneficia con el Software Libre?

Todo el mundo, en serio.

¿Cómo puede beneficiar a toda la cadena desde el desarrollador hasta el usuario final el uso del Software Libre?

Usuario Final: El Cliente

Usualmente cuando el cliente adquiere un producto de software no tiene acceso al código fuente, esto conlleva varios problemas a largo plazo que como cliente final no suele plantearse, por que desconoce que es el software libre y que es el software de fuentes cerradas.

No tiene acceso al código fuente: ¿Esto que significa?
Significa que no puede ver como esta hecho el programa, lo que repercute en lo siguiente:

- No puede auditar el código:
No se puede detectar con antelación si el software tiene algún fallo (intencional o no) que pueda perjudicar su negocio.

- Se convierte en un cliente cautivo:
Esta preso de esa aplicación y la empresa desarrolladora, supongamos que la empresa que ha desarrollado ese software quiebra, gana los euromillones (no todo tiene que ser negativo), decide que esto del software no le satisface y que prefiere plantar un huerto de castaños, o descontinua el producto por que no le interesa seguir programando en él por que no lo considera una linea de negocio rentable.

¿Que ocurre ahora?
Una posibilidad es que la empresa que ha adquirido ese software decida mantenerlo a pesar de las carencias, e ir buscando la forma de “apañarselas” ante por ejemplo un cambio IVA no contemplado, o la necesitad un nuevo formato para las facturas.
Otra alternativa es buscar otra aplicación con todos los gastos que conlleva esto no solo de cara a la adquisición de nuevo software si no también de cara a formación, traspaso de datos etc…
En ambos caso usted habrá perdido la inversión que haya realizado en el software.

No es raro ver aún a empresas “apañándoselas” con programas que funcionan en MS-DOS con las carencias que éstos tienen, y con el problema que supone, ya no solo estar preso de una sóla aplicación si no de un sistema operativo completo.

En la mayoría de los casos esto es debido a que no han tenido acceso a los fuentes para poder realizar una actualización, y el coste y tiempo que supone un cambio de aplicación incluyendo no solo el desarrollo si no la formación, traspaso de datos etc… no es asumible.

Tenga presente que la inversión que haya realizado en su software habrá sido inútil si usted no tiene acceso al codigo fuente.

Pero si tengo los fuentes, el código visible del programa, “la receta” ¿que ocurre?

Ocurre que deja de ser un cliente preso, si la empresa deja de proporcionarme un servicio, o su servicio ya no me interesa puedo buscar otra que continúe con el trabajo y realice las modificaciones que necesito, y lo puedo hacer tantas veces como quiera.

También puedo auditar el software para garantizarme que no contiene fallos importantes, o contratar un informático en mi empresa que realice todas las labores de mantenimiento que necesita ese software.

Otras ventajas

El software libre suele ser estándar. La empresas que desarrollamos software libre no tenemos ningún interés oculto en mantener a nuestro cliente preso, sería un esfuerzo inútil ya que al estar el código fuente disponible estandarizar el producto es cuestión de tiempo. El software libre es estándar porque le interesa ser estándar y poder comunicarse con mas aplicaciones.

Concluisones

Como se puede comprobar si es usted una empresa buscando software, la opción mas lógica para no desperdiciar su inversión es optar por el software libre y exigir el código fuente de su aplicación.

Concluye el III CISL

Viernes, 22 de julio de 2011 Sin comentarios

Hoy finaliza el III Campus Infantil de Software Libre organizado por la Oficina de Software Libre de la Universidad de Granada y el Gabinete de Acción Social y que este año ha contado con el patrocinio de Cenatic y, por supuesto de Codeko.

Este año, además en Codeko nos hemos involucrado además de con el patrocinio, impartiendo una charla a todos los grupos, cerca de 150 niños y niñas, sobre de cómo es el trabajo de un programador de Software Libre.
Estas charlas han sido muy satisfactorias ya que hemos podido comprobar como los asistentes al campus, a pesar de su corta edad, estaban muy bien informados sobre el software libre, los tipos de licencias y realizaban preguntas muy inteligentes.

Esperamos que de esta cantera de programadores muchos se dediquen al software libre, ya que han demostrado un gran talento que puede beneficiar a todos, los integrantes de la comunidad de SL y los usuarios.

Os dejamos con Marta de 7 años, asistente al campus que nos cuenta su programa en Scratch:

Oficinas cerradas 23 y 24 de Junio

Lunes, 13 de junio de 2011 Sin comentarios

Señores clientes, les informamos de que los próximos días 23 y 24 de Junio nuestras oficinas permanecerán cerradas por festividad local y no se realizará atención al público salvo emergencias. Le recordamos que para casos urgentes puede utilizar nuestro numero de emergencias. Gracias por su comprensión.

Codeko patrocina el III Campus Infantil de Software Libre

Martes, 31 de mayo de 2011 Sin comentarios

III Campus Infantil de Software LibreUn año mas desde Codeko nos sentimos orgullosos de participar en el III Campus Infantil de Software Libre. Uno de los pilares fundamentales sobre los que se formó Codeko fue la creación y difusión del software libre, es por ello que nos gusta colaborar de manera activa en todos los proyectos que patrocinamos, en este caso, durante el campus se dará a los participantes una serie de charlas acerca de cómo es el trabajo de un programador y cómo es trabajar en el Software Libre.

¿En que consiste?
Tal y como cuenta la Oficina de Software Libre de la Universidad de Granada

En este campus se trata de que los niños aprendan a programar (sí, a programar, a crear programas, incluso los más pequeños) y a usar aplicaciones ofimáticas habituales, todas libres y por supuesto gratuitas.

Puedes ampliar la información en la web de la Oficina de Software Libre http://osl.ugr.es/

Ajax más sencillo con jquery-fragments

Miércoles, 18 de mayo de 2011 Sin comentarios

Cualquiera que haya estado desarrollando una web completamente en ajax (es decir que todo el contenido se cargue mediante peticiones ajax sobre la página inicial) se habrá encontrado con el mismo problema: es sencillo cambiar el contenido principal de la web pero cuando hay que cambiar otros contenidos como menús, bloques laterales, etc la cosa se empieza a complicar.

Para cargar los distintos contenidos de la web con jQuery, normalmente se recurre al método load() sobre el bloque que se desea actualizar. Si con esta petición queremos actualizar otros datos podemos recurrir a técnicas más complejas (peticiones que nos devuelven JSON con las zonas/contenidos a cambiar) o simplemente recargar otras zonas de la web que pueden haber cambiado (usando de nuevo el método load() en cada zona que queremos actualizar).

Todo esto es más eficiente que cargar toda la web para cada petición pero nos puede obligar a hacer peticiones inútiles y a tener que programar la carga de cada zona de la web independientemente, lo que es más trabajoso y difícil de mantener.

¿No sería estupendo el poder realizar una sola petición al servidor y que este decida que contenidos deben cambiarse sin tener que escribir una sola linea de javascript?

Pues esto es exactamente lo que hace jquery-fragments.

jquery-fragments permite procesar de una sola petición todos los contenidos los fragmentos que envíe el servidor.

¿Que son los fragmentos?

Para jquery-fragments un fragmento es un bloque de código html delimitado por una sola etiqueta que se corresponde con uno o varios bloques de código del documento original. Por ejemplo esto sería un fragmento:

<div id="main_content">
  Contenido <strong>principal</strong>
</div>

Y esto serían dos fragmentos:

<div id="main_content">
  Contenido <strong>principal</strong> cambiado
</div>
<span class='visitantes_online'>135</span>

Un fragmento sería el div y otro el span.

Así jquery-fragments considera como un fragmento cada etiqueta de primer nivel que se encuentre en la respuesta a la petición ajax. Cada respuesta puede contener tantos fragmentos como se desee.

¿Y que hace con los fragmentos?

Por cada fragmento el plugin busca el/los elementos que le corresponden en el documento actual y sustituye el contenido. Así para el ejemplo anterior sustituiría el contenido del div con id main_content con el proporcionado en el fragmento; así como todos los span con clase visitantes_online con el contenido de este.

Para hacer estas correspondencias entre los fragmentos recibidos y el contenido existente dispone de una serie de métodos. Todos ellos son configurables, se pueden añadir nuevos o desactivar los existentes, aunque con los proporcionados inicialmente es suficiente para la mayoría de los casos.

¿Y eso es todo?

No. El plugin ofrece funcionalidades mucho más complejas (aunque igualmente sencillas de implementar), permite añadir contenido (antes o después del tag al que corresponde), modificarlo, borrar bloques, añadir scripts, css, etc mediante la asignación de clases especiales a los fragmentos. Permite además activar o desactivar el plugin desde el servidor (mediante cabeceras http) de forma que el mismo servidor notifique al plugin si está enviado fragmentos o respuestas ajax normales.

Uso del plugin

El plugin sobreescribe el método load() de jQuery de forma que se usa de forma transparente. Cuando ejecutas el método load() sobre un selector los tags de destino de los fragmentos se buscarán en los contenidos del selector. Por ejemplo para la siguiente petición:

  $("#main").load("my_content.php");

Se buscarían, según los ejemplos anteriores, el div con id main_content así como los span dentro del tag sobre el que se hace la petición (“#main”).

Se ha creado un método $.load() para poder generar llamadas sin especificar un selector y que afecten a todo el documento. De forma que puedes ejecutar:

  $.load("my_content.php");

Para cargar los fragmentos en todo el contenido del documento.

Existe además el parámetro de configuración useFullDocument que permite que llamadas a load() sobre un selector tengan efecto sobre todo el documento, esto unido a la activación por cabeceras http permite implementar jquery-fragments en un desarrollo ya existente sin tener que modificar el código javascript existente, sólo las respuestas del servidor.

Accede a la documentación (en inglés) para información detallada sobre el uso del plugin.

Todo esto es un poco lioso, ¿donde puedo ver algunas demos y ejemplos?

Estamos preparando una serie de demos que ilustren y faciliten el entendimiento del uso de plugin además de su integración con otros plugins como jQuery Address para conseguir su máximo potencial.

Licencia

El plugin tiene la misma licencia que jQuery, una licencia dual MIT y GPL. Esto quiere decir que puedes usar el plugin para uso personal o comercial seleccionando la licencia que más te interese.

Enlaces relacionados:

Codeko patrocina la !barraLibreCamp

Miércoles, 18 de mayo de 2011 Sin comentarios

Un año mas desde Codeko patrocinamos la !barraLibreCamp que este año se celebrará en Cádiz en la Escuela Superior de Ingeniería de la Universidad de Cádiz el próximo 27 de Mayo.

Os animamos a todos a asistir y a participar, la idea fundamental de una !barraLibreCamp es:

El software es libre como el sol cuando amanece, no como en la barra libre. De ahí el !BarraLibre : No es barra libre, o Not Barra Libre

Si tienes algún conocimiento que compartir sólo tienes que apuntarte en el Wiki, si no sabes que proponer consulta en el mismo Wiki las “Sesiones que nos gustaría se propusieran”.

Desde Codeko sólo nos queda agradeceros la máxima difusión del evento, vuestra participación y a la Oficina del Software Libre de la Universidad de Cadiz que haya recogido el testigo de la !barraLibreCamp.

CUSL todos somos Ganadores

Miércoles, 18 de mayo de 2011 Sin comentarios

Los pasados 12 y 13 de Mayo tuvo lugar la fase final de CUSL, que Codeko patrocinó junto a otras empresas y fundaciones.
Para Codeko fue todo un honor el poder participar tanto como patrocinadores tanto como ponentes y el poder disfrutar del resto de charlas que fueron muy interesantes.

Nos queda emplazaros para la próxima edición y felicitar a los premiados (ganadores somos todos).
Todos los proyectos presentados demostraron ser muy útiles y de gran calidad, os recomendamos que los visitéis por que seguro que encontráis algo que os resulta interesante y de utilidad.
Os relatamos a continuación el listado de premios, extraido de la web del CUSL.

  • Premio especial del Concurso Universitario de Software Libre al proyecto Yakito de Sergio García Mondaray de la Universidad de Castilla la Mancha.
  • Premio al mejor proyecto de Accesibilidad al proyecto Geo Remind Me de Raúl Jiménez Ortega y Rubén Dugo Martín de la Universidad de Granada.
  • Premio al mejor proyecto de Comunidad al proyecto IberOgre y Sion Tower de David Saltares Márquez de la Universidad de Cádiz.
  • Premio al mejor proyecto de Educación al proyecto JavaDiKt de Luis Alfonso Arce González de la Universidad de Sevilla.
  • Premio al mejor proyecto de Innovación al proyecto Predesys de José Antonio Jiménez Carmona de la Universidad de Sevilla.
  • Premio al mejor proyecto de Sistemas al proyecto TP (Terminal Previewer) de Javier Angulo Lucerón de Universidad de Castilla la Mancha.

Así mismo se han otorgado las siguientes menciones especiales:

  • PirannaFS, de Jesús Leganés Combarro de la Universidad Rey Juan Carlos. [Blog]
  • FreePhyloTree, de Aarón Bueno Villares de la Universidad de Cádiz [Blog]
  • SocialSight de Miguel Sempere Sánchez de la Universitat D’Alacant. [Blog]
  • Cormoran, de Jaime Gil de Sagredo Luna de la Universidad de Alcalácomo [Blog]

Nuestro agradecimiento al resto de patrocinadores, a la organización y los participantes por hacer posible una años más el CUSL.

Oficinas cerradas 2 y 3 de Mayo

Martes, 26 de abril de 2011 Sin comentarios

Estimados clientes, les informamos de que los días 2 y 3 de mayo nuestras oficinas permanecerán cerradas
y no se realizará atención al público salvo emergencias por festividad local.

Le recordamos que para casos urgentes puede utilizar nuestro numero de emergencias.

Gracias por su comprensión.

Categories: Noticias Tags: , , ,

Go4.es liberado en Google Code

Viernes, 8 de abril de 2011 Sin comentarios

go4esTodos sabemos que Go4.es es un producto libre, pero hasta ahora para solicitar los fuentes tenías que enviarnos un email.

Ya han sido varias las personas que nos han solicitado los fuentes así que hemos decidido de una vez por todas crear el proyecto en una forja pública.

Hemos aprovechado la ocasión para hacerle unas pequeñas mejoras a Go4.es que hagan que sea un poco más fácil de instalar y configurar. Igualmente hemos creado una pequeña documentación sobre su instalación, configuración y uso, así como añadidas las descargas básicas.

Puedes visitar el proyecto en http://code.google.com/p/go4es/ y si lo deseas unirte al desarrollo para mejorar Go4.es.

¿No conoces Go4.es? visita la sección de Go4.es en Codeko o en http://go4.es.

GeoRemindMe seleccionado para Forum Innovact

Miércoles, 2 de marzo de 2011 1 comentario

Nos llena de orgullo anunciar que GeoRemindMe, un proyecto patrocinado por Codeko y que surgió en las II Jornadas de Software Libre ha sido seleccionado de entre unos 220 proyectos mas para presentarse en el foro europeo de start-ups innovadoras los días 29 y 30 de Marzo en Reims.
Leer más…