¿Dónde comenzar a estudiar para desarrollar ubuntu? [cerrado]

17

Hola, soy un estudiante de Ciencias de la Computación que actualmente está en la universidad y estoy muy interesado en desarrollar software de código abierto, especialmente ubuntu. Hay un lugar de referencia para leer sobre el desarrollo de ubuntu.

Por ejemplo, revisé el tutorial oficial y la documentación de Python y estaba listo para comenzar. Podría escribir aplicaciones útiles. ¿Hay algún equivalente para Ubuntu o unity? Intenté descargar el alpha 2, y el bloqueo se mantuvo cada 5 minutos. Me dijeron en IRC que se debió a un cambio en la pila de Xorg.

Ahora ni siquiera puedo mirar la nueva Unidad, y mucho menos ayudar a desarrollarla.

Cualquier ayuda u orientación apreciada.

Científico loco
fuente
¿Que idioma sabes? A partir de eso puedo proporcionar mejores respuestas.
Manish Sinha
Soy experto en python y puedo codificar en C, C ++. Tengo experiencia con enlaces pyqt y pygtk.
Científico loco
1
Si conoce Python, entonces Quickly podría ser pan comido para usted. Si conoces C / C ++, entonces puedes ensuciarte las manos con Unity
Manish Sinha

Respuestas:

12

Desarrollando para Ubuntu

Gracias por interesarse. Solo algunas aclaraciones. No hay nada como un software de Ubuntu (sé que no lo dijiste en serio). Todos los cambios específicos de Ubuntu también pueden estar disponibles en otras distribuciones. Sus empacadores tienen que empacarlo.

Alpha 2 estrellarse

Natty todavía está en desarrollo y todavía hay una transición Xorg en progreso. Le recomendaría que comience a trabajar en versiones estables. Úselo Maverick (10.10)para su trabajo de desarrollo. De esta manera, pasará más tiempo desarrollando aplicaciones en lugar de encontrar errores alfa.

Si desea contribuir Nattyo Unity, entonces seguramente necesita ejecutar Natty Alphas.

Desarrollo de la unidad

Si desea desarrollar para Unity, debe obtener Natty y verificar el código fuente.

bzr branch lp: unidad

Hay un archivo en la rama de pago para explicar cuáles son sus dependencias y cómo puede hacer que se compile.

Si desea que su código entre en unidad maintree, debe firmar Canonical Contributer Agreement. No es necesario que lo firme cada vez que envíe su código. Una vez que sea suficiente

Unity Bitesize bugs

La mejor manera de involucrarse es corregir pequeños errores en Unity. Jorge Castro sigue publicando una lista de estrellas de rock Bitesize regularmente. Aquí hay una lista de errores deJorge Castro tamaño pequeño con los que puede hablar (jcastro en IRC en los canales #omg! Ubuntu! Etc., también se cuelga en el chat Ask Ubuntu ) antes de comenzar si necesita ayuda adicional.

Aquí hay una documentación para involucrarse en el desarrollo de Unity

Desarrollo en Ubuntu

Como señaló Burli, Quicklyes una gran herramienta para el desarrollo. Se encarga de muchas cosas. Usarlo en Ubuntu es muy fácil ya que se integra con plataformas de desarrollo de ubuntu como Launchpad, PPA, etc.

Rápidamente maneja el código repetitivo y le proporciona plantillas. Como uno es para el embalaje. Según el artículo de LWN

Released template is ubuntu-project, which automates working 
with Ubuntu-compatible code (using Bazaar for version control, 
Debian packaging, and Launchpad.net Personal Package Archives (PPA) 
for releases).

También puede leer sobre esto en este artículo de Ars Technica de Ryan Paul

Lenguaje de elección

Python es la opción de desarrollo más famosa que puedo ver. Podría estar equivocado ya que a muchos también les gusta desarrollar en Gtk / C o Boost / C ++.

También hay otros idiomas, como Vala, que pueden tener aplicaciones nativas pero tienen un idioma de nivel superior.

Si lo sabe C#, puede usarlo para crear aplicaciones usando Gtk # para UI.

Manish Sinha
fuente
2
No se olvide developer.ubuntu.com .
Gaurav Butola
1
@Gaurav: está en desarrollo. Puede tomar tiempo
Manish Sinha
1
He descubierto que la mejor manera de aprender es comenzar a hacerlo. Participe en un proyecto que le parezca interesante (o comience el suyo) y moje los pies. Te encontrarás con muchos problemas, pero aprenderás igual. ¡Buena suerte!
Erigami
3

Esto está algo relacionado, y debatí si publicarlo.

Una de las formas más fáciles para que un estudiante ingrese al desarrollo de código abierto (y vea que el código que escribió aparece en Ubuntu) es involucrarse en Google Summer of Code . Agregar una nueva característica a una pieza de software existente es una experiencia que no obtendrá en la escuela, pero cambiará la forma en que ve la programación. Los estudiantes participantes se combinan con un mentor de un proyecto de código abierto que los ayudará a comenzar y puede ayudarlos con las partes difíciles.

Además, te pagan y se ve bien en tu currículum. Es una gran experiencia Recomiendo echarle un vistazo.

James
fuente
Lo escuché, pero escuché que era extremadamente difícil de conseguir.
Científico loco
Hay más competencia de la que solía haber, especialmente para proyectos más grandes como Ubuntu o Mozilla. Pero si encuentra un proyecto más pequeño, hable con los desarrolladores (¡y lea su wiki!) De antemano para descubrir lo que están buscando y tener una buena redacción, sus posibilidades son decentes. Puede que tenga que probar algunos proyectos; el primero que pregunté no funcionó. Tener algunos parches debajo del cinturón también ayuda, aunque supongo que de eso se trataba esta pregunta. :-) FWIW, no sabía mucho más que C ++ básico y algunas estructuras de datos que entraban.
James
¿Dónde hiciste tu Gsoc?
Científico loco
AbiSource. Uno de mis compañeros de clase, la persona que me animó a ingresar al GSOC, tenía un proyecto en CMS Made Simple.
James
2

Un buen punto de partida podría ser el Wiki de Ubuntu. Especialmente para Unity eche un vistazo al Proyecto Ayatana

https://wiki.ubuntu.com/Ayatana

[EDITAR] Si te gusta Python, también echa un vistazo a Quickly

https://wiki.ubuntu.com/Quickly

Este es un sistema de gestión de proyectos con algunas características especiales como empaquetar y distribuir el código fuente en launchpad.net, que también es un buen lugar para buscar información

burli
fuente
1

Bueno, mi respuesta tal vez sea inútil, pero lo único que seguí: simplemente comienza a leer las fuentes de la unidad (y proyectos relacionados como compiz , nux ...) e intenta trabajar en lo que te interesa. greptambién podría ser un buen amigo cuando se trata de trabajar en modificaciones simples.

Treviño
fuente