Veo veo » software http://ikusimakusi.eus/2007-2015/es Sun, 10 Jan 2016 13:05:33 +0000 es-ES hourly 1 http://wordpress.org/?v=3.9 Tipos de software según su licencia http://ikusimakusi.eus/2007-2015/es/2008/tipos-de-software-segun-su-licencia/ http://ikusimakusi.eus/2007-2015/es/2008/tipos-de-software-segun-su-licencia/#comments Sun, 20 Jan 2008 21:51:29 +0000 http://www.ikusimakusi.eus/2007-2015/es/2008/tipos-de-software-segun-su-licencia/ Leer más →]]> Existen varias formas de clasificar el software. Probablemente el más común es hacerlo en función de su tipología y su cometido (procesador de textos, editor gráfico, sistema operativo, cliente de correo, gestor de bases de datos, virus, gusano, troyano, etc.). Lo que yo voy a hacer es centrarme en el tipo de licencia o contrato con el que se distribuya el software.

Índice de contenidos de este artículo:

Sofware sin licencia

Lo cierto es que hay muchísimo software que en realidad no tiene ningún tipo de licencia:

  • Es el caso de los programas desarrollados internamente en multitud de empresas para satisfacer necesidades propias (gestión de las vacaciones, gestión de los tickets de gastos, ubicación de los libros, etc.). Estos programas suelen estar desarrollados en lenguajes como COBOL, Pascal, Visual Basic (Access), Delphi, Lotus Notes, Java, etc.
  • Tampoco se suele especificar ningún tipo de licencia a los scripts utilizados por los administradores de sistemas para realizar sus labores diarias. Estos pequeños programas suelen estar escritos en Bath, Bash, Perl, Python, etc.
  • Lo mismo suele ocurrir con infinidad de pequeñas funciones de JavaScript utilizadas por los diseñadores web para todo tipo de tareas.

Es práctica común que los diseñadores de páginas web reutilicen

Al no especificarse ningún tipo de licencia, según la mayoría de legislaciones del mundo, se da por supuesto que los autores de dichos programas se reservan todos los derechos sobre los mismos. Esto significa que aunque podamos acceder al código fuente de un programa cuya licencia no está definida, no podemos ni copiarlo, ni modificarlo, ni nada de nada. Esto en ciertos casos resulta un fastidio puesto que es práctica común que los diseñadores de páginas web por ejemplo reutilicen elementos de diseño de otros sitios web, incluido el código JavaScript del mismo. Lo mismo ocurre con programas de Visual Basic, PHP, etc. De hecho, existen sitios web cuya función es precisamente la compartición de pequeñas utilidades de software (aunque no suelen tener asignado ningún tipo de licencia): LaWebDelProgramador, FreeProgrammingResources, Scripts, HotScripts, NeedScripts, etc.

Software propietario o privativo

Se denomina así al típico software que se comercializa con una licencia restrictiva, a través de la cual el vendedor limita los derechos del comprador lo máximo posible. Normalmente sólo está permitido instalar el software en un único equipo y para hacerlo, durante la instalación es necesario introducir un código de activación o un número de licencia durante para comprobar que hemos adquirido el programa lícitamente. El vendedor no suele hacer público el código fuente del software, sino todo lo contrario.

El vendedor limita los derechos del comprador lo máximo posible

Ejemplos de este tipo de software son el sistema operativo Microsoft Windows, el programa de retoque fotográfico Photoshop y muchos otros más.

El otro gran grupo de software es el llamado libre o abierto (en contraposición a propietario/privativo), cuyo código fuente sí está disponible y cuyas licencias permiten hacer muchas cosas más que instalar el software en un sólo equipo y no dejar que nadie lo copie.

Software libre

El software libre (en inglés free software) es un término acuñado por Richard Stallman, fundador de la Fundación para el Software Libre (en inglés FSF), y que además lo definió como todo software que cumple estas cuatro libertades:

  • La libertad de usar el programa, con cualquier propósito.
  • La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades. El acceso al código fuente es una condición previa para esto.
  • La libertad de distribuir copias, con lo que puedes ayudar a tu vecino.
  • La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. El acceso al código fuente es una condición previa para esto.

Como es lógico, la concesión de estas libertades por parte de los autores contrasta completamente con el enfoque del software propietario. Es más, el hecho de permitir copiar los programas libremente contrasta completamente con el enfoque tradicional de la propiedad intelectual. Por este motivo, el software libre resultó en sus inicios bastante polémico. La gente (incluso los programadores), se preguntaban cómo era posible ganarse la vida si no se cobraba por cada licencia vendida como en el software propietario. Por suerte, en la actualidad la viabilidad económica del software libre está más que demostrada.

La primera y más conocida de las licencias utilizadas para el software libre es la Licencia Pública General (en inglés General Public License, GPL). Esta y otras licencias libres tienen programas de software libre como Linux, el paquete ofimático OpenOffice o el navegador web Firefox.

Los programas de software libre también tienen licencias

Es importante dejar claro que al igual que los programas propietarios, los programas de software libre también tienen licencias. Lo que ocurre es que normalmente no se cobra por dichas licencias. También hay que tener en cuenta que los programas de software libre tienen unos autores (básicamente los programadores) y por tanto tienen también unos propietarios. Es por ello que haya gente a la que el término software propietario no le parezca suficientemente claro, puesto que si nos atenemos al significado literal del mismo, en realidad el software libre es tan propietario como el software propietario. Lo que ocurre es que sus autores no se reservan todos los derechos, sino que los liberan (excepto el reconocimiento de la autoría). Como solución a esta ambigüedad, en lugar de software propietario cada vez se utiliza más el término software privativo.

En realidad el software libre es tan propietario como el software propietario

El término software libre (en inglés free software), también resulta ambigüo para los anglosajones, puesto que la palabra free en inglés tiene dos significados: gratis y libre. Pero el software libre no siempre tiene por qué ser gratis, por lo que hay gente que prefiere utilizar el término código abierto u open source.

Código abierto

El software de código fuente abierto o simplemente código abierto (en inglés open source), es muy similar al software libre. La Open Source Initiative (OSI), encabezada por Eric Raymond, definió este tipo de software para desmarcarse del fuerte enfoque ético del software libre y acercarse más al mundo empresarial (más pragmático y orientado al beneficio cuantificable).

Lo que ocurre es que en la pŕactica, las libertades definidas por unos y otros son muy similares y en ámbitos no puristas incluso se utilizan como sinónimos.

FLOSS / FOSS

La mayoría de las licencias utilizadas en los programas de software libre, en realidad también pueden clasificarse como licencias open source, y viceversa. En cualquier caso, las libertades que ofrecen ambos tipos de software están a años luz del software propietario o privativo.

La mayoría de las licencias utilizadas en los programas de software libre, en realidad también pueden clasificarse como licencias open source, y viceversa

El término código abierto u open source también resulta problemático puesto que puede dar a entender que el código fuente del programa está abierto, es decir, visible, pero nada más. Si eso fuese así (como de hecho ocurre con algún que otro programa), seguiría siendo software propietario, puesto que no garantizaría la libertad de ser copiado, adaptado, mejorado y distribuido (sólo permitiría la libertad de ser estudiado). Sea por unos motivos o por otros, lo cierto es que el término software libre es el más extendido y utilizado (tanto en inglés como en los otros idiomas).

FLOSS o FOSS

Como se puede observar, existen dos ramas bien diferenciadas en las alternativas al software propietario. Por una lado está la rama que se desmarca del software propietario por motivos éticos (las libertades que proporciona el software libre son la clave) y por otro lado está la rama que lo hace por motivos pragmáticos (la clave es que el open source es más seguro y de mayor calidad).

Para aunar ambas sensibilidades en un mismo concepto, se comenzó a utilizar los términos Free and Open-Source Software (FOSS) y Free/Libre/Open-Source Software (FLOSS). Lo que ocurre es que el primero lo utilizan los que tienen motivaciones pragmáticas y el segundo lo utilizan los que tienen motivaciones éticas, por lo que la dicotomía en los términos persiste.

Aparte de los tipos de software descritos en este artículo, existen otros tipos menores de software, algunos de lo cuales son realmente curiosos: Adware, Beerware, Careware, Crippleware, Donateware, Donationware, Freeware, Greenware, Nagware, Postcardware, Ransomware, Registerware, Shareware, Trialware/Demoware.

Software multilicencia

Para terminar esta clasificación de softwares, es preciso mencionar algunos programas que sus autores deciden licenciar de más de una forma al mismo tiempo.

¿Libre = Gratis?

El caso más conocido es el del servidor de bases de datos MySQL, en el que sus desarrolladores (hasta ahora la empresa MySQL AB, que precisamente acaba de ser comprada por Sun) sacan su producto con una licencia libre para que la comunidad lo use a su antojo, pero también sacan una versión propietaria dirigida a empresas que tiene algunas pequeñas mejoras de rendimiento e integración que la otra versión no tiene (y por la que algunos están dipuestos a pagar). Este es por cierto, uno de los posibles modelos de negocio que existen relacionados con el software libre.

Artículos relacionados:

]]>
http://ikusimakusi.eus/2007-2015/es/2008/tipos-de-software-segun-su-licencia/feed/ 3
¿Qué es el software? http://ikusimakusi.eus/2007-2015/es/2008/que-es-el-software/ http://ikusimakusi.eus/2007-2015/es/2008/que-es-el-software/#comments Sun, 20 Jan 2008 21:34:41 +0000 http://www.ikusimakusi.eus/2007-2015/es/2008/%c2%bfque-es-el-software/ Leer más →]]> Cuando hablamos de programas y aplicaciones de ordenadores, en realidad estamos hablando de software. Una definición algo brusca pero instructiva para los no iniciados en este terreno es que el hardware es lo que puedes patear y el software es lo que puedes maldecir. :-D Se dice esto porque el hardware son las máquinas y dispositivos físicos que podemos tocar, mientras que el software es una producción inmaterial que no tiene ni forma, ni cuerpo. De todas formas, mi recomendación personal es que cuando el ordenador falle, respiremos ondo y tratemos de relajarnos o lograremos que un fallo del software se acabe convirtiendo en un fallo del hardware. ;-)

Cosas tales como el sistema operativo del ordenador, el procesador de textos, el navegador, la aplicación de contabilidad, etc. son todos ejemplos de software. Cada vez más electrodomésticos como televisores, reproductores de DVD o cámaras fotográficas digitales, también suelen contener un pequeño programa de software que nos permite interactuar con ellos a través de menús, configurarlos, ver películas almacenadas con distintos codecs, etc. En este tipo de aparatos, el software suele estar almacenado directamente en chips (en lugar de en discos duros como en los ordenadores), en cuyo caso se le suele denominar firmware. Al igual que en un ordenador podemos instalar software y actualizarlo, estos aparatos también suelen tener previsto algún método para actualizar su firmware.

Firmware
Imagen original

Código fuente y código binario

Las personas que diseñan y crean los programas para que realicen alguna tarea o resuelvan algún problema, escriben en unos lenguajes especiales llamados lenguajes de programación. Existen muchos lenguajes de programación distintos (COBOL, Visual Basic, PHP, Java, etc.) y la mayoría de ellos utilizan algunas palabras en inglés (“if”, “repeat”, etc.) para ayudar a los programadores a expresar lo que quieren que la máquina haga. Estos programas que los humanos somos capaces de entender se denominan código fuente y en realidad no son más que una especie de algoritmos matemáticos que expresan las ideas que se les ocurren a los programadores (“ventana”, “puntero de ratón”, “botón”, “menú”, “texto”, “enlace”, etc.). Estas ideas se entrelazan unas con otras una y otra vez en distintos algoritmos/programas.

Lo que ocurre es que los ordenadores y el resto de aparatos electrónicos (móviles, GPS, cajeros automáticos, etc.) están compuestos por chips y elementos eléctricos similares, por lo que no entienden de ideas más o menos abstractas sino simplemente de pulsos eléctricos (1 significa hay electricidad y 0 significa no hay electricidad). Por ello, los programas originales escritos por los programadores se deben traducir al lenguaje natural de las máquinas, es decir, a unos y ceros, a código binario.

Código fuente y código binario

Para ello se utilizan unos programas de software especiales llamados compiladores que son capaces de transformar automáticamente el código fuente escrito por el programador al código binario que entende la máquina de destino. Por tanto, el código binario es una serie muy larga de unos y ceros que un humano no entiende pero que la máquina es capaz de ejecutar sin problemas. Los programas que se comercializan (Windows, Word, WinZIP, Internet Explorer, Panda Antivirus, etc.) sólo vienen con los binarios, mientras que todos los códigos fuente los guardan las empresas correspondientes como parte de su propiedad intelectual. Un programador desde su casa no puede arreglar ningún error, ni hacer ningún tipo de modificación al programa que usa, puesto que resulta prácticamente imposible para él comprender el código binario y deducir exactamente lo que hace (y cuanto más grande es el programa, más complicada resulta la tarea).

El símil de la receta de cocina

Una forma muy intuitiva de entender estos conceptos, es hacer un símil con lo que ocurre al cocinar. Partiendo de una receta de cocina que alguien nos ha explicado o que hemos leído, procedemos a preparar los ingredientes necesarios y seguir los pasos indicados. Al final del proceso, obtenemos el producto ya terminado y listo para comer. Al igual que con el código binario, viendo el producto ya cocinado, resulta prácticamente imposible deducir todos los ingredientes y las cantidades utilizadas, así como los pasos exactos de la receta original.

El símil de la receta de cocina

Si cogemos una receta de cocina (obtenida a través de algún conocido o a través de Internet) y probamos distintas variaciones, podemos elaborar nuevos productos que se ajustan mejor a nuestros gustos y necesidades. De hecho, esta es la forma en la que la cocina ha evolucionado a lo largo de la historia y lo sigue haciendo en la actualidad.

La diferencia es que normalmente las recetas se comparten, mientras que el código fuente de los programas no. En función de la disponibilidad del código fuente (y otros criterios) se pueden diferenciar varios tipos de software.

Para obtener más información puedes consultar Wikipedia:

Artículos relacionados:

]]>
http://ikusimakusi.eus/2007-2015/es/2008/que-es-el-software/feed/ 0