¿Cuáles son algunos buenos proyectos de código abierto de nivel principiante en línea en los que puedo involucrarme?

Hola, en primer lugar, gracias por mostrar interés en el proyecto de código abierto. Según lo solicitado por usted, trataría de guiarlo de la mejor manera posible para perseguir sus intereses. Entonces, estás bien versado en C ++. Felicitaciones, puede elegir cualquier lenguaje de programación en un par de semanas. Además, conoces Python y quieres trabajar en sus marcos web (Django).

Permítame sugerirle, uno de los proyectos de código abierto más impresionantes del planeta Tierra después del kernel de Linux, obviamente. Te invito al mundo de la computación en la nube comenzando con OpenStack.

Entonces, ¿por qué OpenStack ?

  • OpenStack es una plataforma de software gratuita y de código abierto para la computación en la nube, implementada principalmente como una infraestructura como servicio (IaaS). Fue iniciado por la NASA y Rackspace en 2010, y desde 2016 es administrado por OpenStack Foundation, una entidad corporativa sin fines de lucro establecida en septiembre de 2012 para promover el software OpenStack y su comunidad. Más de 500 empresas se han unido al proyecto, por lo que, literalmente, todas las empresas de tecnología de primer nivel están asociadas a este proyecto.
  • Es un proyecto que se inició para proporcionar una alternativa de código abierto a Amazon AWS, y ha logrado mantener el ambiente, ya que se está utilizando en varias empresas como su nube privada interna.
  • Como se trata de la infraestructura como servicio (IaaS), lo asocia con todos los matices de la gestión de bajo nivel de cómputo, almacenamiento y redes. Por lo tanto, se garantiza mucho aprendizaje.
  • Actualmente, más de 20 proyectos están bajo el paraguas de OpenStack, por lo que tiene una diversidad múltiple para elegir. Además, la comunidad es muy útil, y la ayuda está a solo un correo de distancia con su lista de correo cada vez mayor.
  • Dado que su base de código que ahora escala más de 20 millones de líneas de código, la más grande después del kernel de Linux, está escrita principalmente en Python con estrictos estándares de codificación seguidos. Tiene la garantía de lidiar con algunos de los códigos más impresionantes desarrollados por ingenieros igualmente talentosos.
  • Estaría listo para trabajar con OpenStack, ya que la frontera de la nube acaba de abrirse, con cientos de trabajos que se enumeran todos los días. Y el pago es uno de los mejores en el segmento 🙂

Cómo comenzar con OpenStack

Es muy simple, y tenemos impresionantes conjuntos de documentación para todos los proyectos. Comience aquí: cómo contribuir

PD: He sido desarrollador de OpenStack durante los últimos cuatro años, y las cosas que he aprendido en mi búsqueda de aprendizaje de código abierto no tienen paralelo. Avíseme, si necesita algo para comenzar, estaría encantado de ayudarlo.

Bienvenido al mundo del código abierto, amigo. Les deseo un viaje increíble por delante, lleno de aprendizaje y laureles.

Gracias Peter Mortensen por las ediciones 🙂

Oye..

¡Felicidades por participar en el desarrollo de código abierto!
Ahora, dado que tiene experiencia en C ++ y Python, le recomendaría que consulte la lista de proyectos GSoC [1].

Sin embargo, déjame decirte que la mayoría de los proyectos populares en C ++ (Kernel, mesa, etc.) son bastante complejos para empezar. Por lo tanto, se recomiendan lenguajes como Java, Python y Ruby si desea contribuir a proyectos más grandes.

Además, puedes intentar buscar proyectos de novatos en GitHub [2]. para comenzar a contribuir. Sin embargo, los proyectos aquí pueden carecer de documentación.

Ahora, con respecto a cómo abordar un proyecto de código abierto típico, le recomendaría que descargue el código fuente de los proyectos que le interesen e intente que se ejecuten con éxito primero. En el proceso, conocerá muchas cosas relacionadas con el desarrollo de código abierto.
Esto puede implicar control de versiones, listas de correo. Además, siga la documentación para comenzar. Eso debe ser de mucha ayuda.

La comunicación adecuada en diferentes canales (listas de correo, IRC …) también es un aspecto importante.

Siga con hacer cambios en el código fuente o hacer lo que puede llamar ‘piratería’ casual.
Finalmente, intente editar el código para hacer cambios que proporcionen algunos resultados ‘objetivo’.

Progreso para resolver errores más simples. Muchos proyectos tienen algunos errores ingenuos para principiantes.

Además, siga las discusiones sobre las listas de correo correspondientes y cualquier otro canal de comunicación que encuentre para obtener claridad sobre el proyecto. Use los canales de IRC correspondientes para obtener aclaraciones cuando no pueda averiguar la documentación. Además, asegúrese de seguir un código de conducta mientras participa en los canales IRC.

Finalmente, tenga en cuenta que llegar al nivel de realizar cambios en el código abierto requiere paciencia y probablemente tomará algún tiempo antes de que pueda realizar confirmaciones.

¡Buena suerte!

[1] – Google Summer of Code 2013
[2] – Desarrollar mejor el software, juntos.

En primer lugar, no hay “proyectos de código abierto para principiantes”.
Si eres nuevo en el código abierto, te sugiero que veas Aprovechar el código abierto: todo lo que querías saber sobre el código abierto que nadie te dijo (incluido el pago por hacerlo). Luego, lea La arquitectura de las aplicaciones de código abierto y elija las que le gustaría codificar. Todos los proyectos de código abierto tienen sistemas de seguimiento de errores. Ábrete camino a través de él y toma tareas simples. En realidad, funciona mucho mejor si usa el mismo software de código abierto en el que codifica / trabaja. De esa manera, también puedes usar el sombrero probador. Recuerde que la contribución de código abierto no se trata solo de la parte de codificación. Abarca todo un ecosistema de pruebas, gestión de personas, gestión de proyectos, documentación y un poco de evangelismo. Y no olvide divertirse y aprender mucho durante todo el viaje.

No necesita seguir buscando proyectos que sean “principiantes
nivel “. Cada proyecto tendría tareas simples y otras más complejas.
Contribuir incluso con soluciones simples a un proyecto maduro le enseñaría un
lote, en comparación con la búsqueda de nuevos proyectos.

Escribí una publicación de blog: me encanta FOSS. ¿Cómo empiezo a contribuir (código)? – hace un tiempo. Aquí hay un resumen:

1. Aprende un lenguaje de programación, bien.
2. Siga el desarrollo del software que usa y encuentre
guay. Comience a usar el software de última generación.
3. Manténgase activo en la lista de correo. Responde preguntas, haz preguntas,
Intenta solucionar errores.
4. Familiarícese con la dinámica comunitaria del proyecto.
5. Participar en sprints, si los hay.

Como una ruta alternativa, comience su propio proyecto de código abierto desde cero
tus propios picor 🙂

Sí, estoy de acuerdo en que es difícil comenzar y encontrar el primer proyecto para contribuir. Pero una vez que lo comienzas, sigues rodando y mejoras con el tiempo. Hay varias formas de romper el hielo, pero creo que siempre es recomendable comenzar con poco. Recientemente encontré un sitio web, Up For Grabs, que enumera todos los problemas o errores marcados para principiantes. Estos son problemas etiquetados para que los usuarios novatos trabajen en ellos. Simplemente vaya allí, filtéelo en función de su pila tecnológica favorita, elija cualquier proyecto de su elección y ensucie su mano.

Otro enfoque para comenzar puede ser navegar por la página de presentación de github, donde puede ver una lista de un montón de proyectos en diferentes categorías y puede ayudarlo a seleccionar algunos proyectos.

Chequea aquí:

¿Qué puedo hacer por Mozilla?

Como ha solicitado proyectos en C ++, consulte Oportunidades de voluntariado en software gratuito y de código abierto.
Comience a contribuir a uno de los proyectos en la lista anterior.
Antes de eso, asegúrese de tener un buen conocimiento sobre el uso de Git, IRC y listas de correo, ya que son importantes para cualquier persona en Open Source.

Como otros han mencionado, no hay proyectos de “nivel principiante”, de código abierto o de otro tipo. Si algo es verdaderamente de nivel principiante, todos sus problemas ya han sido resueltos. Sin embargo, los proyectos de cualquier tamaño y en cualquier dominio problemático tendrán errores y solicitudes de características de diversa complejidad. Sabiendo eso, el camino se vuelve bastante claro:

  1. Agréguese a la lista de correo para un proyecto que le interese personalmente (si el software es algo que usa, realmente disfrutará trabajando en él).
  2. Mire a través de una base de datos de errores del mismo proyecto.
  3. Elija algo que parezca estar dentro (o justo afuera) de su zona de confort.
  4. Escribe una solución
  5. Comprueba que tu arreglo realmente hace lo que se supone que debe hacer. ¡Esto es importante! Te sentirás bastante avergonzado si la solución que envías no cumple lo que tú dices.
  6. Envíe un parche mediante cualquier método que el proyecto ordene y haga referencia al error #
  7. Obtener comentarios
  8. Revisar y volver a enviar el parche
  9. Repita los pasos 4-7 según sea necesario
  10. Haz que tu parche sea aceptado
  11. Celebra 🙂

Puede buscar en CodeProject: para aquellos que codifican, es genial, y también tiene algunos buenos artículos: algunos de los mejores proyectos de código abierto en VC ++ y MFC
o CodePlex: CodePlex

También encontrará algunos proyectos de código abierto de google (no es tan simple tener 300 líneas, pero es genial):
Proyectos de código abierto lanzados por Google | Oficina de Programas de Código Abierto
El | Desarrolladores de Google

También puede buscar en Github: Contribuir a código abierto en GitHub

Estos pueden ayudar:
¿Cómo puedo encontrar un buen proyecto de código abierto para unirme?
Los 10 mejores sitios web de códigos de muestra profesionales para programadores
14 formas de contribuir al código abierto sin ser un genio de la programación o una estrella de rock
Proyectos Java de código abierto

Estos son algunos Q / A de Quora que también pueden ayudarlo:
¿Cuáles son algunos ejemplos maravillosamente claros y fáciles de mantener de código fuente para pequeños proyectos de programación (menos de 300 líneas de código)?
¿Cuáles son algunos buenos proyectos de código abierto de nivel principiante en línea en los que puedo involucrarme?
¿Cómo puedo encontrar proyectos de código abierto en GitHub en los que pueda participar un programador principiante / intermedio?

Tengo un montón de repositorios con los que puedes contribuir. Son un proyecto genial que abarca desde aplicaciones móviles, aplicaciones de escritorio, aplicaciones web y muchos repositorios basados ​​en software como un lenguaje de programación llamado Tachyon que he estado creando en los últimos 4 meses y está listo para el lanzamiento de la versión 1.0.

Si es un principiante, puede contribuir al repositorio del lenguaje de programación tachyon RyanMaugin / Tachyon, donde otros participantes han contribuido a través de github o mensajes. Recomiendo este proyecto porque está extremadamente bien documentado, tiene muchos comentarios en código y también tutoriales en video sobre cómo hacer un lenguaje como tachyon para que pueda comprender la arquitectura y cómo se hizo antes de comenzar a contribuir.

(el video para aquellos que desean aprender a hacer un lenguaje de programación para que puedan contribuir)

No hay requisitos para aquellos que desean contribuir, a diferencia de algunos proyectos que necesitan profesionales establecidos para hacer contribuciones. El proyecto está hecho 100% en python, lo que también lo hace súper legible y fácil de entender para principiantes.

Hay muchos más proyectos en diferentes idiomas para diferentes propósitos en mi repositorio, que con mucho gusto abro a aquellos que desean contribuir, ya que sé que puede ser difícil lograr que sus contribuciones sean aceptadas en proyectos de github más grandes y más establecidos.

RyanMaugin (Ryan Maugin)

Sin embargo, hay un proyecto en Github que aprecia la contribución de cualquiera que haga contribuciones buenas y dignas: el campamento de código libre , tienen una increíble comunidad de personas que ayudan y tú también puedes.

freeCodeCamp / freeCodeCamp

Lo que son es una plataforma de aprendizaje de códigos en línea que enseña a los principiantes e incluso a las personas avanzadas a codificar utilizando un enfoque basado en proyectos. Te recomendaría que eches un vistazo a su repositorio.

Pasos para contribuir

  1. Aprenda cómo se construyó el proyecto
  2. Lea la documentación y las pautas de contribución
  3. Identifique un problema o característica que desea agregar
  4. Clone o bifurque el repositorio y solucione el problema allí de la mejor manera posible
  5. Crear una solicitud de inserción
  6. Finalmente, espera para ver si los encargados lo aceptan o comentan.

La guía para principiantes para contribuir a un proyecto GitHub

Espero que esto ayude 🙂

ConcourseDB es una base de datos de autoajuste de código abierto con indexación automática, control de versiones y transacciones ACID. Tenemos una comunidad en crecimiento que es muy amigable para principiantes. ¡Mira la guía contribuyente si quieres involucrarte!

Recientemente comencé un nuevo proyecto llamado Memory Overflow ( https://www.memoryoverflow.in ) para desarrolladores, la mejor plataforma para hacer preguntas, responder a otros y hacer nuevos contactos. El lema principal para crear Memory Overflow es darles la oportunidad de preguntar quiénes son aficionados y a quién otros consideran aficionados. En algunos sitios web, sus consultas a menudo se rechazan para que no se muestren a otros desarrolladores experimentados por alguna razón. Pues ya no. Aquí, en Memory Overflow, puede hacer todas las consultas que haya tenido.

El sitio web está certificado y protegido por SSL con transferencia de datos cifrados.

Y la plataforma es de código abierto , lista para que los desarrolladores de la comunidad de todo el mundo contribuyan y adquieran experiencia de colaboración .

Juntos, creemos una comunidad de desarrolladores que no solo acepten todo por lo que es y cuestionen todo para mejorar el conocimiento de todos.

¡Tengamos nuestro desbordamiento de memoria!

Regístrese hoy y escuche su voz.

Enlace al repositorio: brijeshjain13 / Memory-Overflow

Puede clonar o descargar el repositorio y comenzar a contribuir haciendo ajustes en la rama de desarrollo. Además, destaque lo mismo si lo encuentra digno.

Me sorprende que nadie haya mencionado esto todavía, pero busqué en las otras respuestas y no lo vi, así que aquí va:

KDE es un excelente lugar para comenzar. En caso de que no hayas oído hablar antes, son tres cosas.

  1. Una organización internacional de desarrollo de código abierto, con una de las infraestructuras más impulsadas por la comunidad que existe.
  2. Durante mucho tiempo, KDE fue conocido como K Desktop Environment, uno de los primeros (y todavía uno de los pocos) entornos de escritorio para Linux.
  3. Una aplicación y colección de frameworks C ++ / Qt.

KDE tiene tantos proyectos que no podría enumerarlos todos aquí. Puede comenzar el suyo o contribuir a uno existente.

Tiene bastante buena documentación, y aunque la mayoría de los proyectos usan principalmente C ++ / Qt, hay algunos que usan cosas como QML y otros lenguajes. Tiene un sistema de tutoría para nuevos contribuyentes también.

Descubrí que la mejor manera de comenzar es simplemente sumergirse en la comunidad. Lea la documentación, intente usar algunos de los diferentes software desarrollados por los muchos proyectos. Una vez que encuentre uno que le guste, intente agregar una función que ayude a su caso de uso. Luego, envíelo para su contribución. Ya sea que se acepte inicialmente o no, habrá adquirido una valiosa experiencia con la base de código. Luego puede intentar corregir errores o agregar más funciones nuevas.

Tengo algunos proyectos relativamente simples que ya no tengo tiempo para comprometerme por completo.
Supongo que el proyecto más simple (y más gratificante, IMO) es portar el rompecabezas de Einstein (una variación de este rompecabezas de Einstein, escrito en C ++ con la ayuda de SDL1.2) a SDL2, por lo que puede ejecutarse en varias plataformas, incluidos los teléfonos Android (Quiero hacerlo principalmente para jugarlo en mi teléfono y como un regalo para mi hermano, que quiere hacer lo mismo). IIRC, es GPLv2 +, tengo una bifurcación en mi cuenta de GitHub.
Si quieres trabajar con algo fácil (especialmente, sin que muchos otros programadores introduzcan cambios conflictivos, lo que podría ser un dolor de cabeza cuando comienzas), podría darte instrucciones para abordarlos.
Si estás interesado, solo envíame un PM.

Puedo responder el número 2) para usted, para entrar en un proyecto de código abierto, primero debe conocer los entresijos del repositorio, luego puede resolver problemas de algunas funcionalidades o resolver problemas usted mismo, es una buena manera de comenzar.

Un consejo para el primero: ¿Por qué no contribuir a mi marcador local simple? (fbormann / List_Links) usando Python y Kivy Estoy tratando de ser lo más pitónico posible. Para otros proyectos, pruebe este sitio web: Cree un software mejor, juntos, aquí pueden encontrar buenos repositorios.

Clone un proyecto y codifique sus scripts (scripts automáticos) encima y cárguelos en github para atraer a las personas a reutilizarlos.

Ejemplo:

narayananpalani / testautomation

Cómo ayuda:

Problema de registro de personas para resolver en github … ¡para que aprenda las mejoras!

Una vez cargado el script, explique cómo hizo la codificación en un video como este:

Si una persona que quiere sumergirse en Python, aprende paso a paso, elija sus niveles de aprendizaje de la pila de abajo y empuje y explote paso a paso.

Python Principiante, Intermedio y Avanzado Python

Los proyectos de documentación y localización son fáciles de ingresar. Además, si codifica un poco, puede iniciar errores que se consideran fáciles, puede buscar rápidamente estos errores https://openhatch.org/search/

Si está buscando nuevos e interesantes proyectos de código abierto para trabajar, el mejor lugar para comenzar es explorar las páginas de GitHub. ¡Estas páginas le permiten encontrar repositorios por popularidad o por idioma para que siempre pueda encontrar algo interesante!

Explore repositorios interesantes, resolviendo todo tipo de problemas interesantes.

Enlace: construya mejor el software, juntos

Consulte Pugixml aquí El rendimiento del software de código abierto. dado que solo necesita comprender el análisis xml y xml, probablemente sea el requisito previo de conocimiento de dominio menos exigente