Cómo incrementar tu fama, fortuna e índice H usando software libre

download Cómo incrementar tu fama, fortuna e índice H usando software libre

If you can't read please download the document

Transcript of Cómo incrementar tu fama, fortuna e índice H usando software libre

Lightwave in Motion

Cmo alcanzar la fama, la fortuna e incrementar tu ndice H mediante el software libre

Juan Julin Merelo GuervsOficina de Software LibreUniversidad de Granada

Qu voy a contar?

Qu es software libre

Razones para liberar software

No-razones para no liberarlo

Cmo hacerlo

Imagen CC de Lets ideas compete http://www.flickr.com/photos/question_everything/4541149167/in/photostream/

Libertad de ejecutar

http://home.sprynet.com/~dbrukman/Sigmund.jpg De lo que se trata es de que la licencia no se impida que se hagan determinadas cosas. Por ejemplo, esto no lo pueden usar los profesores, o no se puede usar con fines polticos o comerciales. Una vez publicado, se trata de poder hacer lo que a uno le d la gana con el software. La importancia de esta libertad est relacionada con la satisfaccin de las expectativas, y sobre todo, con el hecho de que la adquisicin transfiere la propiedad a quien lo adquiere. Si lees la letra pequea de cualquier software comercial, vers que tiene muchas restricciones; para empezar, son licencias, no transferencias de propiedad. Por ejemplo, no puedes hacer ningn truco para evitar errores tcnicos del software, segn la licencia de Microsoft. Por ejemplo, es muy normal restringir el nmero de copias que se pueden sacar: el antivirus F-Prot lo reduce a una, a pesar de que la ley espaola permite hasta tres. http://www.f-prot.com/download/license.htmlEs normal tambin la restriccin temporal, y por supuesto la espacial (no necesariamente porque se vayan usar para armas de destruccin masiva, sino por acuerdos exclusivos de distribucin), o son licencias intransferibles: no puedes revender, por ejemplo.

Libertad de estudiar

Obtenida de http://flickr.com/photos/sarahvanessa/2281107307/sizes/o/Si no se tiene acceso al cdigo fuente no se puede estudiar ni examinar, claro.La libertad de examinar es importante para el usuario, porque le permite corregir errores que sepa corregir, ver si lo estn tangando por algn lado, e incluso modificarlo para algn tema para el que no estuvo concebido originalmente.La calle encuentra sus propios usos para la tecnologa.

De hecho, tiene tanta importancia que el software que permite esta libertad se llama de fuentes abiertas u open source o abierto. Pero no todo el software abierto es libre, aunque s al contrario; en la prctica, sin embargo, hay poca distincinMs referencia en la wikipedia http://en.wikipedia.org/wiki/Open_source pero va ms all del software. Si quieres pasearte por el universo de las licencias, mira aqu:http://en.wikipedia.org/wiki/Comparison_of_free_software_licencesEn realidad, la principal diferencia entre open source y free software es de nfasis:http://en.wikipedia.org/wiki/Open-source_software: Free software is defined in terms of giving the user freedom. This reflects the goal of the free software movement. Open source highlights that the source code is viewable to all and proponents of the term usually emphasize the quality of the software and how this is caused by the development models which are possible and popular among free and open source software projects.Tambin http://www.gnu.org/philosophy/open-source-misses-the-point.html:Open source is a development methodology; free software is a social movement.

.. y modificar

Obtenida de http://www.flickr.com/photos/ikex/1673554482/ Pero tambin es importante para el desarrollador, por las mismas razones: convierte a los usuarios en productores, porque pueden ayudar a corregir errores, o a desarrollar algo cuando el desarrollador original ya no quiera (o no pueda) hacerlo.

Libertad de copiar

Tomado de http://www.gnome-look.org/Uno puede usar un programa en todos los sitios que quiera, y pasrselo a quien uno quiera. Desde el punto de vista de una universidad u organismo pblico, tiene sentido: ya te estn pagando por desarrollar algo. Si lo vendes (y si te lo permite el organismo) puedes obtener beneficios adicionales, pero la sociedad en su conjunto obtiene muchos ms beneficios copindolo libremente; obtiene un retorno del dinero que ha invertido en tu trabajo. La copia libre tambin favorece la difusin, y crea una meritocracia en la que los creadores de proyectos libres son conocidos, tienen fama, e incluso pueden conseguir ingresos hablando sobre ellos, ofreciendo soporte sobre los mismos, o adaptndolos a un fin determinado.

Libertad de mejorar

http://www.flickr.com/photos/waj/2791640706/ Claramente relacionada con libertad 2, la de estudiar y modificar, aade a la libertad de copiar la posibilidad de distribuir copias de tus mejoras al software. En realidad lo ms habitual es que las mejoras se pasen al creador del software, que lo reconocer en el fuente, pero hay casos de luchas entre desarrolladores que han dado lugar a varios productos diferentes, que a su vez compiten entre s. En todo esto siempre se respeta y se acredita el autor original, por supuesto; en cada fichero quedar claro quin lo cre y quin le hizo qu cambio.

Lo importante es la libertad

Obtenido dehttp://www.flickr.com/photos/alimander/754031712/No se puede imponer el software libre. Va en contra de su propio principio, y adems es contraproducente. A la hora de liberar un programa siempre est la decisin personal, que ni puedes imponer ni te pueden imponer. Es mejor siempre persuadir.

Software libre no es software gratis

Como hay derecho a copiar, el coste marginal es nulo, pero ni es gratis el soporte, ni la instalacin, ni la formacin, ni nada de lo dems. Incluso se puede vender.De la misma forma, todo lo que es gratis no es libre. Tiene la libertad de copiar, pero no el resto de las libertades. En algunos casos puede ser incluso una trampa.La imagen est sacada de http://www.flickr.com/photos/sophistechate/2668512887/

10. El software libre es un vehculo de transmisin de conocimiento.

Vamos, que los trabajos estn bien, pero no los lee ni el potito; qu mejor forma de transmitirlo que usando el mtodo que realmente hemos creado para probar lo que queremos probar.

9. La ciencia no lo es si no es reproducible: liberar el software permite a cualquiera obtener los mismos resultados.

La historia clsica de mtodo autopoitico de Varela, o la de uno mismo... Pero es que adems, al corroborar los resultados o simplemente compararlos con los propios, aumenta el nmero de citas de los trabajos que describan el software.

8. Fomenta buenas prcticas en el desarrollo de software.

Cuestiones de seguridad, documentacin, desarrollo por capas, tener una hoja de ruta del desarrollo de la aplicacin o la librera...

7. Crea comunidad aldededor de un grupo, y aumenta el inters en la ciencia.

OpenNebula, por ejemplo, tiene una enorme comunidad de seguidores; MPITB, hecho por Javier Fernndez Baldomero, tambin: por ejemplo, aqu detallan las modificaciones que le han hechohttp://www.tbrri.com/~spichardo/HPC.html Y todos los trabajos que lo mencionan http://atc.ugr.es/~javier/investigacion/papers/mpitb_octave_papers.html

6. Acerca la ciencia al pblico, a la sociedad, y mejora la percepcin de la universidad

5. Hace pblico y patente para empresas y otros grupos el conocimiento y experiencia de los autores.

Te identifican como experto en de cara al pblico, empresas y dems; no slo experto en el objetivo final, sino en la metodologa usada.

4. Crea otro canal para la difusin de la investigacin y el trabajo propios.

Un canal que, por supuesto, hay que potenciar desde los diferentes medios sociales existentes: blogs, Facebook, twitter. Tiene tu grupo twitter o Facebook?

3. Devuelve a la sociedad lo que la sociedad ha invertido en la creacin de conocimiento por nuestra parte.

Realmente lo devuelve de forma ms directa, porque un programa se puede usar directamente; si no en su totalidad, s en parte del mismo. Aunque un programa se libera completo, parte del fuente puede servir.

2. Fomenta la colaboracin interdisciplinar

Aunque todo el mundo tiene que hacer software, no todo el mundo sabe hacerlo; y el liberar software hace que se pueda colaborar entre personas de diseo de interaccin, analistas, programadores, expertos en el algoritmo que se vaya a implementar.

1. Aumenta la calidad de la investigacin o proyecto resultante, al posibilitar la colaboracin espontnea (y altruista)

No slo por la colaboracin, sino tambin por las buenas prcticas que se han tenido en cuenta desde el principio del diseo. Tambin se pueden usar herramientas de eScience, comoTaverna, con el problema de que no empieza a ser til hasta que no hay un nmero determinado de herramientas en el campo.

I. No est perfecto

II. Lo documento y lo libero

Hasta cierto punto, una versin de la anterior, pero algo que te encuentras con ms frecuencia.

III. Lo he hecho para mi

IV. Quiero venderlo

Hay empresasq ue se basan enteras en software libre, pero es que algunos programas que se han liberado en la UGR forman tambin parte de una empresa.

V. No quiero que me lo copien

VI. No tengo tiempo

VII. No me da la gana

Quiero liberar software, cuntame como

Poner de acuerdo a todas las partes relacionadas.

Elegir una licencia

Publicar los fuentes

Usar una forja para continuar el desarrollo y atraer comunidad.

En algn momento, hablar con la OSL para que os echemos una mano

La liberacin es cosa de todos

Todos los autores tienen que autorizar la liberacin del cdigo

Tutores, directores de proyecto, compaeros de prcticas...

Imagen de dugspr en http://www.flickr.com/photos/dugspr/2414695004/in/photostream/

Elegir una licencia

Especifica qu se puede hacer o no.

GPL = 4 libertades + copyleft

EUPL = proyectos europeos

MIT, Academic Free Licence, BSD = investigacin universitaria

Elige la tuya: http://sl.ugr.es/013j

Imagen de Special Collections Wofford College http://www.flickr.com/photos/littlejohncollection/4322753389/in/photostream/

Consideraciones para una licencia

Se licencia todo

Tener en cuenta licencias de cdigo incluido.

Licencia libre tambin para documentacinY todo tipo de contenido.

Imagen de Mark Berry http://www.flickr.com/photos/hotcherry/1358179930/in/photostream/

Cmo se licencia?

Sin publicacin, no hay liberacin

El cdigo fuente debe estar disponible.

Crear una pgina web para difundirlo.

Publicar actualizaciones peridicas.

Publicar pronto, publicar a menudo.

Por supuesto, hay que incluir todo lo necesario para que se recree el ejecutable, incluyendo ficheros de contenido, proyectos del entorno de desarrollo, si es posible un Makefile o el sistema de compilacin que se use. La imagen es de WenchMagnet en http://www.flickr.com/photos/wenchmagnet/2048075690/in/photostream/

Forjando nuestro H-ascensor

Una buena prctica es trabajar usando un sistema de control de fuentes.

Permiten:Desarrollo colaborativo.

Versionado fcil.

Publicacin automtica.

Foto de Guillaume Linard, http://www.flickr.com/photos/moiguigui/3318067229/in/photostream/

Cmo controlamos las fuentes?

Sistemas de control de fuentes centralizados o distribuidos.

Elegir forja: sitio en InternetGoogle Code

Github

Launchpad

Elegir sistema de control de fuentes

Imagen de http://www.flickr.com/photos/ddebold/5217115094/in/photostream/ por donjd2

Ciclo de desarrollo

Descargar las fuentesActualizar fuentesModificacionesComprometer actualizaciones (Commit)Actualizar repositorio

Opciones de forjas

Github + git

Google Code + mercurial o subversion

Launchpad + bazaar

Bitbucket + mercurial

Forja rediris + Subversion

Sourceforge + cualquiera

Imagen de Rex Hammock en http://www.flickr.com/photos/rexblog/2680379787/in/photostream/

E your Science!

Creacin de flujos de trabajo con Taverna

Se trata de implementar diferentes partes del algoritmo integrando trabajo ya hecho de formas nuevas

Se usa un interfaz visual.

Se publican los paquetes experimentales a la vez que el trabajo (o antes).

Obtenida la imagen de: http://edutechwiki.unige.ch/en/File:Dragon-workflow.png

No hace falta ir tan lejos

Ciencia con software libre > ciencia

Eso es todo

Muchas gracias por su atencin

Foto de http://www.flickr.com/photos/mrjoro/89187454/in/photostream/ por MrJoro