Software Libre

Programación Colaborativa y Software Libre

La programación colaborativa, significa que dos o más programadores trabajan en forma conjunta sobre un mismo código o algoritmo.

Esta colaboración es potenciada por el auge de internet, que permite que varios programadores conecten sus estaciones de trabajo a una red de datos y trabajen de manera participativa.

Historia

Entre los años 60 y 70 del siglo XX, el software era un añadido que los vendedores de las grandes computadoras de la época aportaban a sus clientes para que estos pudieran usarlas.

En dicha cultura, era común que los programadores y desarrolladores compartieran libremente sus programas. Pero a finales de los 70, las compañías iniciaron el hábito de imponer restricciones a los usuarios, con acuerdos de licencia.

Con la llegada de los años 80 la situación empezó a cambiar. Las computadoras más modernas comenzaban a utilizar sistemas operativos privatizados, forzando a los usuarios a aceptar condiciones restrictivas que impedían realizar modificaciones al software.

Richard Stallman

Richard Stallman

Fundó en 1985 la Free Software Foundation (FSF) e introdujo por primera vez el término Free Software (programa libre) y el concepto de copyleft (libre de derechos).

Lo desarrolló para otorgar libertad a los usuarios y para restringir las posibilidades de apropiación del software.

Para que un software sea libre debe permitirse que cualquier persona pueda:

  • Usarlo.
  • Acceder al Código Fuente.
  • Adaptarlo.
  • Hacer Copias.
  • Compartirlo.

Se basa en la colaboración y no en la competencia.

Ethercodes

Es un proyecto de programación colaborativa que permite, sin necesidad de registro, escribir códigos en varios lenguajes de programación y compartirlo en tiempo real con cualquier persona.

No es necesario instalar nada, solo hay que acceder a su panel de trabajo para poder elegir entre C/C++, Java, Javascript, PHP, HTML, Python, Ruby y hasta Mysql, con posibilidad de acceder a una línea de tiempo que mostrará, en forma de video, las alteraciones realizadas por quienes están programando.