¿Qué son los proyectos de código abierto? Soy muy bueno en C ++, estructuras de datos y algoritmos. ¿Puedo contribuir a algunos proyectos de código abierto? Si es así, ¿cómo? ¿Tendré que aprender algún idioma nuevo?

Es muy simple: primero escriba sus áreas de interés. Simplemente siendo bueno en C ++, las estructuras de datos y los algoritmos no lo harán contribuir al software de código abierto. Contribuir al software de código abierto es completamente diferente de ser seleccionado en una entrevista.

Primero aprende un sistema de control de versiones. Más comúnmente se usa Git; otros son Subversion y CVN.
Luego, según su interés, aprenda los siguientes idiomas, bibliotecas y API:

Sistema operativo (kernel de Linux, GNU Hurd, illumos o cualquier otro kernel): C, buenos conceptos de sistema operativo

Programación del sistema: C, C ++, POSIX y la API de Windows

Desarrollo de aplicaciones GUI: C, C ++, Java, Python, GTK +, Qt, wxWidgets, Clutter, Swing, SWT, .NET y muchos otros.

Desarrollo web: PHP, Python, Ruby, Perl, Django y Ruby on Rails.

Desarrollo de aplicaciones de Android: Java, C, C ++ y Android SDK / NDK.

Y muchos otros. No los conozco a todos, pero estos son algunos comunes.

Después de tener experiencia con cualquiera de ellos, vaya a GitHub, SourceForge, OpenHatch, Bitbucket y muchos otros para descubrir el proyecto que más le interese.
Luego vaya a su sitio de errores, resuelva un error y envíe un parche o solicitud de extracción o sea cual sea su mecanismo.
Voila !! Ahora estás contribuyendo a un proyecto de código abierto. Algunos grandes proyectos como GNOME, Fedora, etc. utilizan Bugzilla y sus propios servidores Git.

Además, puede ver Google Summer of Code. Es un programa de pasantías de Google donde los estudiantes contribuyen al software de código abierto.

PD: Siempre lea el README o la guía de contribución antes de contribuir a un proyecto. Siempre siga sus pautas y reglas de codificación.

Hice mi propio proyecto de código abierto de calidad de producción en ruby ​​que es nuevo y resuelve un problema del mundo real

… puede contribuir probándolo, proponiendo una idea y haciendo una solicitud de extracción de github … hay instrucciones detalladas sobre el archivo README

cuenta github:
rastreador de nubes

Un patrón de diseño DSL de Ruby para computación distribuida

presentación de slideshare:
Charles Martin

Comience a resolver errores para productos de código abierto.
La mayoría de la organización de código abierto tiene un portal de errores, por ejemplo, mozilla tiene Bugzilla, openMRS tiene tickets de introducción y kde también tiene errores de introducción, así que comience por esto, conocerá su entorno y bibliotecas.

Cómo encontrar organización:
Vaya a la página de inicio de Google Summer of Code y las organizaciones solicitaron este año.
Habrá alrededor de 180 organizaciones de código abierto, conozca algunas de ellas, vea su proyecto y tecnología, si le interesa, hable con la organización y solicite alguna contribución. Te ayudarán más.
Buena suerte 🙂

Recientemente he respondido preguntas similares:

1. ¿Cómo participo o contribuyo en proyectos de código abierto?

2. La respuesta de Tapasweni Pathak a ¿Cómo empiezo a contribuir en proyectos de código abierto?

PD: Quiero redirigir todas estas preguntas a una. *Confuso*.

Siempre podemos usar programadores de C ++ más talentosos con OpenOffice:

http://openoffice.apache.org/get-involved.html

Puedes pero probablemente no. La mayoría de las contribuciones de código abierto, a excepción de la traducción y los informes de errores, provienen de empleados de empresas que tienen un interés personal en el éxito de un proyecto. Dicho de otra manera: tienes habilidades de programación pero eso no es suficiente. También necesitas un trabajo.

Puede encontrar los proyectos de código abierto de primer nivel aquí.
Google Summer of Code Bienvenido a Melange