Current Version: 0.79

January 13rd, 2016

Google Summer of Code 2015

This page is no longer maintained. Please go to the new one.

(verano de código 2015).

Charla sobre Summer of Code con mentores españoles en la Universidad Juan Carlos I de Móstoles (Madrid) el 3 de marzo. Más detalles aquí.
¿qué es Summer of Code?
Summer of Code es un programa cuyo objetivo fundamental es que estudiantes con talento que necesiten o quieran ganar un dinero durante el verano puedan hacerlo programando en lugar de trabajando en cualquier otra cosa.

¿se puede pasar el verano programando lo que uno quiera?
Sí y no. El proyecto debe estar amparado por una organización Open Source (código abierto) de una lista bastante amplia (para 2014, son 190). Cada organización ha publicado una lista de ideas de donde los estudiantes pueden coger las que más le interesen, o proponer otras a la organización elegida.

¿quién supervisa el trabajo?
Cada organización tiene mentores cuya función es apoyar a los estudiantes. Estos mentores son quienes se aseguran de que el trabajo vaya por buen camino y que los estudiantes nunca se sientan solos.

¿quién se queda el resultado del trabajo?
El trabajo queda a disposición de las organizaciones. Como son todas de código abierto, si las cosas van bien y el trabajo es bueno lo normal es que el código pase a formar parte del software de la organización, es decir, integrado en los proyectos.

¿quién financia Summer of Code y cual es la dotación económica?
Google, aunque su contribución es fundamentalmente financiera (el seguimiento del trabajo depende de cada organización). Para cada estudiante aceptado en el programa Google aporta $6,000, de los cuales $500 son para la organización y $5,500 para el estudiante.

¿hay españoles participantes?
Sí. El año pasado (2013) por ejemplo hubo 35 estudiantes españoles. Este año hay al menos dos proyectos con mentores españoles. Uno de ellos es CCExtractor (en cuya web estais), y otro es Liquid Galaxy. Es posible que haya más.

¿puedo hacer otras cosas durante el verano?
No muchas. Es decir, se paga al estudiante para trabajar. En lo que le gusta, sí, pero es un trabajo. Por esos $5,500 se espera que la programación sea en el principal foco de atención del estudiante durante el verano.

¿cuándo empieza Summer of Code 2015?
El trabajo de programación es como se puede deducir por el nombre del programa, en verano. Sin embargo el proceso de inscripción, contacto con organizaciones... empieza mucho antes. Hay que tener en cuenta que para las organizaciones esta es una oportunidad única de tener talento dedicado al proyecto, y por tanto la selección de estudiantes se hace con muchísimo cuidado, y lleva su tiempo. Estas son las fechas más importantes a partir de que se han publicado las organizaciones aceptadas:

Hasta el 10 de marzo: Aunque aún no está abierto el plazo de inscripción, los estudiantes interesados pueden (y deben) ponerse en contacto con las organizaciones de su interés, para ir conociendose... hablar del proyecto, de las posibles contribuciones, mandar ejemplos de código, etc.
10 de marzo a 21 de marzo: Periodo de inscripción de estudiantes. A tener en cuenta: Los estudiantes deben mandar propuestas de trabajo bastante elaboradas. No es cuestión de rellenar un formulario con cuatro datos, hay que tomárselo como lo que es: El estudiante, normalmente sin experiencia, va a pedir un trabajo a una empresa, y tiene que convencerla de que es el más adecuado para el puesto. Es importante tomárselo muy en serio. La propuesta tiene que estar meditada, por supuesto bien escrita (no es un SMS)...

A continuación hay un periodo de un mes en el que las organizaciones revisan las propuestas (y hablan entre ellas, tenedlo en cuenta), se hacen diversas comprobaciones, se eliminan duplicados...
21 de abril: Publicación de estudiantes aceptados para cada organización.
19 de mayo a 18 de agosto: Periodo de trabajo. Entre estas fechas hay una evaluación intermedia (de las organizaciones a los estudiantes y viceversa), una final, pagos...

¿dónde puedo leer más?
En el FAQ oficial (en inglés)

¿puedo hablar con algún mentor español?
Claro. Para el proyecto CCExtractor podeis hablar conmigo (Carlos Fernández) vía hangout, o mandarme un mail (ver sección contacto), o linked-in, etc.

Para Liquid Galaxy podeis hablar con Andreu Ibañez. Andreu va a estar visitando universidades próximamente junto a Google. Si se pasa por la vuestra, no os perdais su -siempre amena- presentación.
Apache Software Foundation tiene también dos mentores españoles (que sepamos), en los proyectos Stanbol (Rafa Haro) y Marmotta (Sergio Fernández).

¿dónde tengo que programar?
En casa, en la universidad, o donde quieras. El 100% del trabajo se hace online.

¿es GSOC un programa para buscar personal?
Según el FAQ oficial no es su principal objetivo, aunque Google sí lo usa también como fuente de posibles candidatos.
Las organizaciones, depende. Por ejemplo en el caso de CCExtractor como organización con seguridad no, ya que es un proyecto no comercial (recordad que un proyecto puede ser Open Source y tener un modelo de negocio detrás, como Ubuntu). Sin embargo, los mentores de CCExtractor trabajamos en empresas que suelen buscar talento.

¿cómo se inscribe un estudiante? ¿qué debe aportar?
El estudiante debe mandar una propuesta de trabajo. Traducido directamente del FAQ oficial:
Tu propuesta debe incluir lo siguiente: Tu propuesta de proyecto, por qué has elegido este proyecto en concreto y la razón por la que eres la persona adecuada para ella. También debe incluir detalles de tu experiencia académica, profesional y/o en desarrollo Open Source, y otros detalles que consideres relevantes. También es una buena idea una explicación de tu metodología de desarrollo. También es útil incluir información de contacto, porque no se comparte automáticamente la que escribas como parte del proceso de inscripción. Si la organización que te interesa tiene una plantilla específica que quiera que uses estará disponible en la web de GSOC. Independientemente de lo que incluyas en tu propuesta te recomendamos que hables con las organizaciones para preguntar que es lo que esperan de tu propuesta para tener las mayores posibilidades de éxito.
Y añado, para el caso de CCExtractor: CCExtractor está escrito en C, por lo que es fundamental conocer este lenguaje. Conocimientos de vídeo (MPEG, H264, etc) ayudan, pero no es esencial, aunque si no lo conoces te tocará leerte los estándar eventualmente. Por otro lado, CCExtractor es portable. Tiene que funcionar como mínimo en Linux, Windows y OSX. Si sólo trabajas en uno de ellos no hay problema mientras te acostumbres a comprobar la portabilidad de lo que uses... Por otro lado, lo que queremos añadir este año tiene un montón de cosas que no están relacionadas directamente con vídeo. Por ejemplo la subida de subtítulos a un servidor central (que no existe aún) necesita conocimientos de programación de red, web... O el procesamiento paralelo de varios streams y canales tiene que ver con programación en multihilo y multiproceso.
Como es obvio en un programa para estudiantes, la experiencia laboral (o falta de ella) es irrelevante, pero haber contribuido a proyectos de código abierto ayuda mucho. En general, el código que puedas enseñar es tu mejor carta de presentación.

Ya que me intentas vender CCExtractor...¿qué es?
¿te has bajado alguna vez subtítulos en inglés de alguna serie de TV? Si es el caso, con casi total seguridad, CCExtractor es el programa que ha generado ese .srt. Hace algunos años los .srt los picaban "de oido" aficionados, y tardaban en estar disponibles algunos días, la calidad era mala... que tiempos. CCExtractor coge el subtitulado para sordos de la emisión original y la escribe en ficheros de subtítulos, sincronizada y todo.
Aunque empezó como un proyecto para que yo pudiera disfrutar de series (y las mejores webs de subtítulos lo usan), actualmente está en uso en empresas grandes (como Comcast) y pequeñas (sobre todo, agregadores de noticias en tiempo real), y universidades (como UCLA y Harvard).

¿puedo inscribirme a más de un proyecto?
Puedes mandar un máximo de 5 propuestas, de las que se escogerán 0 ó 1. Ten en cuenta que hay un periodo en el que las organizaciones hablan entre ellas, y si has mandado la misma propuesta a más de una no va a quedar demasiado bien. Es decir, si mandas más de una propuestas asegurate de que cada una está trabajada cada el proyecto que corresponda. Intenta que el problema de las organizaciones sea tener que luchar por ti en lugar de que todas te descarten.