Es una pregunta un poco rara, me explico. Tengo que hacer el trabajo de fin
de grado el cuál había empezado a hacer antes de descubrir el software
libre y tienes que pactar con el profesorado. He hablado con mi tutor para
cambiarlo porque ya no me motiva lo que iba a hacer (era un SaaSS utilizando
la API de Google Maps y no sé si habría podido liberar el código porque
había colaborado con más compañeros y no sé si estarían de acuerdo).
Resumen: Puedo dedicar un par de meses exclusivamente a un proyecto de
software libre y no me decido.
No hace falta que leáis las opciones que he barajado, simplemente si tenéis
alguna sugerencia escribidla sin más.
Opción A)
Algo que se me ha ocurrido es colaborar de alguna forma con Apertium (los
idiomas me gustan mucho y considero que podría mejorar). Sin embargo, no
entiendo muy bien cómo funciona y no sé si sabría mejorarlo. Tampoco creo
que pudiera crear otro par de lenguas porque los idiomas que domino ya están
creados.
------------------------------------------------------------------
Opción B)
Otra opción que se me ha ocurrido es "liberar" Google Translate (de ahora en
adelante GT), que me da mejores resultados que Apertium. Me explico:
Primero, haría un proceso automático con diccionarios de distintos idiomas
recogiendo resultados de traducciones de GT y las guardaría en una base de
datos.
Después crearía una interfaz web y un cliente, para el traductor. Si un
usuario hiciese una búsqueda que no está en la base de datos, la primera
vez obtendría el resultado de GT. De esta forma, nos "apropiamos" de las
traducciones que realiza GT. Se podría habilitar o no en tu cliente si
deseas que al no encontrar un resultado se envíe la petición a GT. Además,
el cliente daría la opción al usuario de sugerir una traducción mejor y
haría que el sistema tuviese en cuenta estas sugerencias. Por último, se
podría descargar junto con el cliente una versión de la base de datos
reducida (sin las sugerencias repetidas) para hacer consultas sin conexión.
------------------------------------------------------------------
Opción C)
Otro proyecto en el que podría trabajar es 0ad ya que me parece de los
mejores juegos libres que he probado y utiliza lenguajes que conozco. Sin
embargo, me gustaría aportar en algo que aporte más que un juego. Cuanto
más útil sea lo que haga mejor.
------------------------------------------------------------------
Opción D)
Este puede ser un poco polémico. Facebook usa nuestros datos para hace
dinero. ¿Por qué no hacer nosotros lo mismo? Se me ha ocurrido hacer una
versión de Diaspora en la que el usuario pueda elegir "vender" su
información para ganar dinero. Es decir, que pueda elegir cosas como si
quiere ver banners de publicidad en su tablón, qué información quiere
vender a terceros (si quiere), etc. El beneficio económico iría para el
usuario, pero se manejaría con tres deslizadores para repartirlo. Un
deslizador para el usuario, otro para la plataforma (para mantenimiento
mayormente) y otro para organizaciones sin ánimo de lucro (cruz roja,
médicos sin fronteras, fsf y cualquiera otra que aporte un beneficio para
todos). De entre las organizaciones sin ánimo de lucro, el usuario podría
elegir a cuál quiere donar sus "ganancias". Los deslizadores tendrían
limitaciones, por ejemplo, el de organizaciones sin ánimo de lucro tendría
un mínimo siempre de un 10%.
Pienso que es malo porque permites que los usuarios se maltraten, pero por
otro lado el hecho de que vean que pueden ganar dinero puede tener tirón y
atraer a usuarios que de otra forma no usarían la red. También es una forma
de dar visibilidad a cómo otros pueden aprovecharse de tu información en la
red y ver que los servicios que utilizas no son "gratis".
------------------------------------------------------------------
Estaría bien que el proyecto lo pudiese hacer con los lenguajes que ya
conozco, aunque no me importa aprender otro, el tiempo que esté aprendiendo
será tiempo que no dedique a trabajar en el proyecto.
Ahora mismo conozco estos lenguajes y frameworks:
Programación web: HTML5, CSS3, Javascript, JQuery, AngularJS, PHP, Ruby on
Rails
Otros: Java, C++ (algo oxidado), C#, C (poquito), ProLog
Sistemas de Bases de Datos: MySQL, MongoDB
Para android: Cordova, Android
Pues eso, si se te ocurre algún proyecto interesante en el que pueda echar
una mano no dudes en mencionarlo.
Gracias y perdón por haberme extendido tanto.
¡Saludos!