Software software

Anuncio
Génesis del Software Libre
El software libre es un paradigma diferente pues no se regula por patrones tradicionales.
Es importante formalizar los conocimientos sobre su origen, motivaciones de los programadores,
esquemas empresariales y comerciales, modelamiento de desarrollo de software e iniciativas de
estado en América Latina.
Uno de los elementos que genera más dudas sobre su legalidad y seriedad es el anonimato de
sus desarrolladores de quienes no se tiene claro qué motivaciones tienen para hacer este tipo de
trabajo, aparentemente, sin ganancias para ellos.
La aparición del software libre trajo consecuencias que al mercado así como el surgimiento de
otros tipos de recursos libres que se desprenden del software.
Linux se desprende del sistema operacional Unix, lo cual demuestra que este no aparece por
generación espontánea sino que está referido tanto al proceso del desarrollo tecnológico que
ocupó al gobierno de los Estados Unidos, como a la capacidad de desarrollo e investigación de
las universidades desde los años 60's.
Historia
La cronología de la historia del software libre muestra cómo un producto, el software -que
inicialmente venía incluido en los computadores- comienza a someterse a las reglas de un
mercado que intenta volverlo comercial al tiempo que, por la influencia de la academia, se crea
una fuerza en contrario que intenta liberarlo.
Con el estudio de la historia se puede apreciar el momento en el cual surge la necesidad de crear
las licencias de software para respetar los derechos de autor y, se muestra la creación de Unix
BSD que tanta influencia ha tenido en lo que hoy es la licencia GPL.
Aspectos legales
Dado que e l software un producto que se rige por los derechos de autor, era importante
enseñar los principios que regulan la propiedad intelectual y, sus elementos, como los derechos
de autor, las patentes, los secretos comerciales, las marcas y logotipos, esto influye en la
definición de las licencias de software tales como BSD, GPL, LPGL y otras licencias lo cual
influyó en la regulación de la documentación.
Los desarrolladores de Software Libre
Los desarrolladores de software libre, son personas trabajan a manera de colaboración,
distribuidos utilizando el internet y, siendo desconocidos entre ellos a excepción de los líderes de
los proyectos.
La cultura hacker se basa en personas con altos conocimientos tecnológicos que se divierten
haciendo su trabajo.
Son jóvenes de mediana edad, de 27 años en promedio con una varianza de edades que oscilan
entre los 21 a 24 años y que se incorporan a la actividad entre los 18 y 25 años que es la edad
universitaria.
Estos desarrolladores ejercen diversos oficios y se ha calculado que un 33% son ingenieros de
software, 21% son estudiantes, 11% programadores, 10% profesores universitarios y, en
general, no pertenecen a dependencias de índole comercial.
La mayoría provienen de países desarrollados.
Se calcula que un 80% de estos desarrolladores realizan estas tareas en su tiempo libre y sólo
uno de cada cinco lo hacen de manera profesional.
Lo que los motiva es:

Aprender y desarrollar nuevas habilidades pues
conocimientos tiene más oportunidades en el mercado.

Compartir conocimientos.

Búsqueda de reputación (9%) y beneficios económicos indirectos a mediano y largo
plazo.

Ganar dinero
un
profesional
con
mayores
Modelo económico
Para la financiación de estos proyectos de software libre existen diversas modalidades.
Cobrar por las licencias de uso es difícil en el software libre, salvo el caso de las distribuciones
que han logrado ofrecer valores agregados interesantes.
En el software libre, el producto puede ser manejado por muchas empresas estimulando la sana
competencia.
Iniciativas de los estados
Hay países que han sacado leyes para que el software libre sea utilizado, preferencialmente,
por los organismos del Estado con tintes políticos alrededor de estas decisiones.
El Estado puede influir en el desarrollo del software libre beneficiando a los ciudadanos ya que
siendo el Estado el mayor consumidor de software para su administración, podría, al liberar los
desarrollos, trasladar esos beneficios a la comunidad.
El Estado, a través de la promoción que hace de los productos propietarios, beneficia a empresas
de índole comercial con publicidad gratuita y se hace el paralelo al hacerla con el software libre,
en cuyo caso beneficiaría a la comunidad.
Hay varios países latinoamericanos que están desarrollando proyectos de ley, los textos de estas
leyes se encuentran en el texto.
Ingeniería de software
La ingeniería de software es una rama de los sistemas que estudia los mejores métodos para
crear sistemas de información y desarrollar el software necesario.
Erick Raymond dedicó mucho tiempo en 1997 a interpretar los modelos de desarrollo que se
usan en el software libre buscando las diferencias con los modelos tradicionales, y escribió un
libro llamado La catedral y el bazar que es el tema de la primera parte de este capítulo.
Los proyectos siempre tienen un líder y es aquel que ha sido capaz de crear el interés de otros
colaboradores gracias a la propuesta del software a desarrollar y, que ha podido motivar,
entender y coordinar al grupo de colaboradores. Es él quien toma las decisiones de liberar o no
una nueva versión, aspecto que no hace del software libre un producto anárquico. Uno de los
casos más importantes es el de Linux Torvalds.
El software libre no tiene un proceso definido de trabajo ya que por sus características de
voluntariado, los desarrolladores definen libremente el tiempo de dedicación. Para los
programadores la etapa más divertida es la implementación y, respecto de la programación,
siguen el método de ensayo y error hasta que funcione el programa.
Todo lo concerniente a software libre está sujeto a la detracción de cualquier persona; es un
tema de total apertura y es la informalidad la causa de mayor crítica, así como también da
espacio a la tendencia de repetir el modelo formal de desarrollo, al existir una sola cabeza visible
que es el líder.
Entornos de desarrollo
El proyecto GNU al comienzo tuvo que utilizar el sistema operacional Unix porque no existía
Linux ni BSD Unix. Posteriormente, era de esperarse por la naturaleza del trabajo abierto que
se usaran lenguajes sencillos y abiertos como Java, Php, Perl, C, Gcc que abarataban el
desarrollo por ser libres.
El lenguaje de mayor uso es C y su correspondiente gcc así como Java y gcc++ y, el inglés el
idioma de mayor utilización.
Son muy populares los lenguajes de script perl, php y python y se usa make para la
construcción de programas basados en los programas fuentes.
Cuando se va a instalar software libre, es frecuente que este venga como programa fuente
que debe compilarse y para ello se han desarrollado estándares. Usualmente llegan con
frecuencia en un formato estilo programa-1.2.3.tar.gz
Se está usando Weblogs para el manejo de foros permanentes como el de El Tiempo
http://eltiempo.com en la sección Tecnología, tema Linux y el software libre en donde se
pueden debatir estos temas de manera abierta al público. Existen muchos sitios en la web en
donde se encuentran noticias del software libre como slahdot o barrapunto en español.
El desarrollo de software a varias manos hace indispensable el uso de herramientas de
control de versiones que permitan almacenar y recuperar la historia de los programas en
desarrollo, para eso se usa extensivamente CVS o Concurrent Version System que usa un
repositorio central y una conexión cliente-servidor.
Con relación a la documentación, en software libre se usa texto plano, fundamentalmente,
pues es práctico, sencillo, rápido y funcional, además son editables desde cualquier editor de
texto dando mayor acceso a la información y disminuyendo las restricciones. Puede ocurrir
que haya documentos que usen el formato texinfo navegables con editores como Emacs, Tex
o Latex, muy famosos en los entornos de Unix y Linux.
En lo relacionado con la gestión de errores cabe destacar la labor de Debian, quien ofrece un
reportbug que pregunta el nombre del paquete e informa sobre los errores incluyendo las
dependencias, es decir, los módulos que usa un programa.
Descargar