Open source

Open source

Es cierto que la calidad tiene su precio. Sin embargo existen formas de mantener un alto standard con un presupuesto acotado. Es por ello que en Código Austral sugerimos la utilización de herramientas de código abierto por parte de nuestros clientes.Y en varias oportunidades las necesidades puntuales de algún cliente fueron satisfechas con la modificación de código existente. Pero, qué es “código abierto”?

Código abierto es el término con el que se conoce al software distribuido y desarrollado libremente. El código abierto tiene un punto de vista más orientado a los beneficios prácticos de compartir el código que a las cuestiones morales y/o filosóficas las cuales destacan en el llamado software libre.

Su uso nació por primera vez en 1998 de la mano de algunos usuarios de la comunidad del software libre, tratando de usarlo como reemplazo al ambiguo nombre original en inglés del software libre (free software). Free en inglés significa dos cosas distintas dependiendo del contexto: gratuidad y libertad. Lo cual implica, para el caso que nos ocupa, “software que podemos leer, modificar y redistribuir gratuitamente” (software gratuito) y, además, software libre, según la acepción española de libertad.

El término para algunos no resultó apropiado como reemplazo para el ya tradicional free software, pues eliminaba la idea de libertad, confundida usualmente con la simple gratuidad. No obstante, el término código abierto continúa siendo ambivalente, puesto que se usa en la actualidad por parte de programadores que no ofrecen software libre pero, en cambio, sí ofrecen el código fuente de los programas para su revisión o modificación previamente autorizada por parte de sus pares académicos.

Dada la anterior ambivalencia, se prefiere el uso del término software libre para referirse a programas que se ofrecen con total libertad de modificación, uso y distribución bajo la regla implícita de no modificar dichas libertades hacia el futuro.

Desde el punto de vista de una “traducción estrictamente literal”, el significado textual de “código abierto” es que “se puede examinar el código fuente”, por lo que puede ser interpretado como un término más débil y flexible que el del software libre. Sin embargo, ambos movimientos reconocen el mismo conjunto de licencias y mantienen principios equivalentes.

Sin embargo, hay que diferenciar los programas de código abierto, que dan a los usuarios la libertad de mejorarlos, de los programas que simplemente tienen el código fuente disponible, previa restricciones sobre su uso o modificación.

Un término que pretende resolver posibles ambigüedades o confusiones que ambos términos generan es FOSS (free and open source software).

En la actualidad el código abierto se utiliza para definir un movimiento nuevo de software (la Iniciativa Open Source), diferente al movimiento del software libre, incompatible con este último desde el punto de vista filosófico, y completamente equivalente desde el punto de vista práctico, de hecho, ambos movimientos trabajan juntos en el desarrollo práctico de proyectos.

La idea bajo el concepto de código abierto es sencilla: cuando los programadores (en Internet) pueden leer, modificar y redistribuir el código fuente de un programa, éste evoluciona, se desarrolla y mejora. Los usuarios lo adaptan a sus necesidades, corrigen sus errores a una velocidad impresionante, mayor a la aplicada en el desarrollo de software convencional o cerrado, dando como resultado la producción de un mejor software.Quality comes at a price. Nevertheless there are ways to achieve high standards even with smaller budgets. That is why we recommend embracing open source solutions. On many ocassions our clients saw their requirements being fulfiled by adopting open source solutions. We worked with them extending the solution to the point where requirements were met. But… what is open source anyway?

Ask what the main defining characteristic of open source software is and most people will tell you It’s free! Whilst this is usually true it is not the defining characteristic. The key to understanding the meaning of open source software lies in the licence.

Virtually all software comes with a licence. Software is copyrighted material and the licence is needed to let you know what you can do with the software. Open source software is always software that has been released under a licence that has been certified by the Open Source Initiative (OSI). These licences are certified to meet the criteria of the Open Source Definition.

The criteria include granting of the right to freely redistribute the software, access to the source code, and the permission to modify that source code and distribute the modified version of the software. Of course licensing issues may not be of any particular interest to you. For open source software, however, these are crucial because only the licence gives you, as a receiver of the software, the permissions laid out in the Open Source Definition.

So is it free or not?

Nothing in an OSI-approved licence prohibits anyone from charging for a particular piece of open source software. However, this rarely happens. Since the licence enables anyone to redistribute the software freely, any customer could make a million copies and just give them away. Charging a licence fee for open source software just isn’t a practical way to make money. But yes, there are other ways to make money with software than merely charging a fee to let people use it. The important thing to note is that the low cost of acquiring open source software is a by-product of the licence and not a criteria for such a licence. There are others as well.