Skip to content

Instantly share code, notes, and snippets.

@esparta
Created July 31, 2014 18:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save esparta/833045d0a1fa8bb59add to your computer and use it in GitHub Desktop.
Save esparta/833045d0a1fa8bb59add to your computer and use it in GitHub Desktop.
La importancia del Software Libre en la Ciencia

La importancia del Software Libre en la Ciencia

©2014 Almar Klein

Science Para el primer post en este blog deseo escribir sobre algo que realmente importa. Al menos para mí. Traté de llegar al punto medular de lo que está detrás de lo que me dedico: ¿Cuáles son las razones fundamentales por las que amo tanto al Software Libre?

El Software Libre está en ascenso

Cuando empecé a usar Python, en 2008, el software científico de Python no estaba lo suficientemente maduro. Aun así, creía que Python era una gran herramienta para científicos. No sentía que debería recomendarlo a mis colegas o estudiantes, todavía.

¡Caray, muchas cosas han cambiado desde entonces! El desarrollo de la comunidad científica en Python se está incrementando rápido, y con ello, el desarrollo de los paquetes científicos. Muchos paquetes ahora pueden ser considerados relativamente maduros. También hemos establecido la pila de Scipy, un conjunto de paquetes que es considerado el núcleo del ecosistema Scipy.

Ahora mismo definitivamente recomendaría Python a cualquiera que desee hacer algo relacionado con computación científica, manipulación de imágenes o análisis de datos ...

Al mismo tiempo, otros proyectos de software libre muy interesantes están siendo desarrollados para enriquecer el ecosistema científico. Por ejemplo, Julia es un lenguaje prometedor que toma prestadas ideas de Python y Matlab.

No es sólo software

El aumento de software libre no es un evento aislado. Va mano a mano con el incremento a la demanda de publicaciones de acceso abierto (Open Access) y estándares abiertos. La gente comienza a darse cuenta que las publicaciones establecidas con dinero público no deberían ser usadas para las ganancias monetarias de un pequeño grupo de personas; las cosas pagadas por el público deberían beneficiar al público en general.

Reproducibilidad de resultados científicos

Una tendencia similar ocurre con la reproducibilidad de resultados cientificos. Cualquier publicación científica que habla de resultados que no pueden ser reproducidos por otros es esencialmente inútil. La definición de ciencia bastante clara al respecto (de la Wikipedia):

La ciencia es un empresa sistemática que construye y organiza el conocimiento en la forma de explicaciones comprobables y predicciones sobre el universo.

Para poder hacer reproducibles los resultados científicos, necesitas (al menos) tres cosas:

  • Los datos en los que el análisis fue realizados deberían estar públicamente disponibles.
  • El código para realizar el análisis debería estar públicamente disponibles.
  • Las herramientas necesarias para ejecutar el código debería estar públicamente disponibles.

Sólo si estas tres condiciones son cumplidas, un resultados científico puede ser considerado como reproducible. Sólo entonces otros pueden verificar el resultado y asegurarse que no hay fallos en el análisis. Y sólo entonces podemos construir con fiabilidad algo más basándonos en esos resultados.

Tristemente, no muchas publicaciones cumplen estos criterio en la actualidad. Pero... ahora están disponible esas poderosas herramientas de Software Libre, hay unas pocas limitaciones técnicas que evitan la mejora en esta área. Además, la cultura del Software Libre en las cuáles el compartir el código y el conocimiento es considerado normal también pueden ayudar a resolver este problema.

Igualdad

Todos deberían poder participar en el proceso científico. No importa dónde vivas. No importa tu situación financiera, los resultados científicos deberían ser públicos y disponibles públicamente. Lo mismo va para las herramientas para producir dichos resultados. Si estás en una universidad, quizás tengas acceso a las herramientas y publicaciones vía licencias que la universidad paga por ti. Pero muchas universidades no tienen la capacidad financiera para esto. Incluso si la tuviera, uno no debería estar en una universidad para ello.

Ampliando la audiencia

No hace mucho, el análisis de datos sucedía casi todo en C y Fortran; se necesitaba ser un programador para poder hacer análisis de datos. Esto ha cambiado con la llegada de, por ejemplo, Python y (concediendo) Matlab. Sin embargo, el arte de la programación científica está aún dominado por codificadores hard-core.

Con los datos digitales siendo más ubicuos, más científicos (no computacionales) se basan en el análisis de datos para obtener sus resultados. Por lo tanto, hay una necesidad de apertura del arte de la programación científica para una audiencia (mucho) más amplia.

La conclusión es que necesitamos hacer más fácil el comienzo:

  • Debe ser fácil el obtener Python y sus paquetes (Anaconda, Pyzo y WinPython ayudan aquí)
  • Debe ser fácil el programar por sí mismo (necesitamos mejorar IPython, IEP, Spyder, etc)
  • Debe ser más fácil para los recién llegado el buscar su camino (scipy.org ayuda)
  • Por último, pero no lo último, debemos educar a las personas para que aprendan a usar estas herramientas.

Las cosas están mejorando en esta área, pero aún hay mucho trabajo por hacer.

La libertad de buscar el conocimiento

Demos un paso adelante. Creo que debería ser más común (también en nuestro día a día) aplicar datos científicos. En vez de sólo creer lo que las otras personas nos digan, deberíamos analizar los datos disponibles y decidir por nosotros mismos qué es verdad y qué no lo es. Ya sea que esto un tema de importancia científica o sólo un tema cotidiano, nos ayudará a tomar decisiones informadas basadas en nuestro propio resultado.

Conclusiones

Para mejorar nuestro sistema científico actual, necesitamos buenas herramientas de Software Libre, y necesitamos hacer que sean lo suficientemente fáciles para usar para los científicos; necesitamos hacer a la ciencia más accesible.

Pero también necesitamos en cambio de cultura. Una cultura en donde la apertura es la norma en la cuál podemos y verificaremos los resultados de otros. En vez de basarse en información de segunda mano, cualquier persona puede buscar conocimiento por sí mismo. Debido a que sólo puedes confiar realmente en algo que has visto con tus propios ojos.

Otras lecturas

  • Fernando Perez también habla sobre la importancia del Software Libre en la ciencia, por ejemplo en este post.
  • El reciente post de Lorena Barba sobre enseñar Python en la universidad.
  • Post de Cyrille Rossant que enlista razones adicionales para usar Python en la cienca.

Traducción de Espartaco Palma del post de Almar Klein "The importance of open source software in science": http://www.almarklein.org/open.html

Nota: He traducido "Open Source Software" como "Software Libre", principalmente porque estoy de acuerdo con lo que indica Ricardo Galli al respecto: La pose, o ignorancia, de usar “open source” en castellano

Creative Commons Esta obra está bajo una Licencia Creative Commons Atribución 4.0 Internacional

Créditos de la imagen: sdwhaven bajo Licencia Creative Commons Atribución-CompartirIgual 3.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment