Wo soll ich anfangen, um Ubuntu zu entwickeln? [geschlossen]

17

Hallo, bin ein Student der Informatik, der gerade am College ist und sich sehr für die Entwicklung von Open-Source-Software, insbesondere Ubuntu, interessiert.

Ich habe zum Beispiel das offizielle Tutorial und die Dokumentation von Python durchgesehen und war einsatzbereit. Ich konnte nützliche Anwendungen schreiben. Gibt es ein Äquivalent für Ubuntu oder Unity? Ich habe versucht, die Alpha 2 herunterzuladen. Put stürzte alle 5 Minuten ab. Mir wurde im IRC gesagt, es sei auf eine Änderung des Xorg-Stacks zurückzuführen.

Jetzt kann ich mir nicht einmal die neue Einheit ansehen, geschweige denn sie mitentwickeln.

Jede Hilfe oder Anleitung geschätzt.

Verrückter Wissenschaftler
quelle
Welche Sprache kennst du? Darauf kann ich bessere Antworten geben.
Manish Sinha
Ich bin mit Python vertraut und kann in C, C ++ programmieren. Ich habe Erfahrung mit Pyqt- und Pygtk-Bindungen.
Mad-Scientist
1
Wenn Sie Python kennen, ist Quickly möglicherweise ein Kinderspiel für Sie. Wenn Sie C / C ++ kennen, können Sie sich mit Unity
Manish Sinha

Antworten:

12

Entwickeln für Ubuntu

Vielen Dank für Ihr Interesse. Nur ein paar Klarstellungen. Es gibt nichts wie eine Ubuntu-Software (ich weiß, dass du es nicht so gemeint hast). Alle Ubuntu-spezifischen Änderungen können auch in anderen Distributionen zur Verfügung gestellt werden. Ihre Verpacker müssen es verpacken.

Alpha 2 stürzt ab

Natty ist noch in der Entwicklung und es ist noch eine Xorg-Transition in Arbeit. Ich würde Ihnen empfehlen, mit der Arbeit an stabilen Releases zu beginnen. Verwenden Sie Maverick (10.10)für Ihre Entwicklungsarbeit. Auf diese Weise verbringen Sie mehr Zeit mit der Entwicklung von Anwendungen, als mit Alpha-Fehlern.

Wenn Sie einen Beitrag zu Nattyoder leisten möchten, Unitymüssen Sie Natty Alphas ausführen.

Entwicklung der Einheit

Wenn Sie für Unity entwickeln möchten, müssen Sie Natty herunterladen und den Quellcode überprüfen.

bzr Zweig lp: Einheit

Im Checkout-Zweig befindet sich eine Datei, in der erklärt wird, welche Abhängigkeiten es gibt und wie Sie sie erstellen können.

Wenn Sie Ihren Code in Unity Maintree einbinden möchten, müssen Canonical Contributer AgreementSie ihn signieren. Sie müssen ihn nicht jedes Mal signieren, wenn Sie Ihren Code einreichen. Sobald es genug ist

Unity Bitesize Bugs

Der beste Weg, um mitzumachen, besteht darin, kleine Fehler in Unity zu beheben. Jorge Castro veröffentlicht regelmäßig eine Liste von Bitesize-Rockstars. Hier ist eine Liste mit Bitesize-Bugs , mit denen Sie sich unter Umständen unterhalten möchten Jorge Castro(jcastro im IRC auf den Kanälen #omg! Ubuntu! Etc - er bleibt auch im Ask Ubuntu-Chat hängen ), bevor Sie anfangen, wenn Sie zusätzliche Hilfe benötigen.

Hier finden Sie eine Dokumentation zur Beteiligung an der Entwicklung von Unity

Entwicklung auf Ubuntu

Wie Burli betonte, Quicklyist dies ein großartiges Werkzeug für die Entwicklung. Es kümmert sich um viele Dinge. Die Verwendung unter Ubuntu ist sehr einfach, da es sich in Ubuntu - Entwicklungsplattformen wie Launchpad, PPA usw

Schnelle Bearbeitung des Kesselschild-Codes und Bereitstellung von Vorlagen. Wie man ist für die Verpackung. Wie pro LWN Artikel

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).

Darüber können Sie auch in diesem Ars Technica-Artikel von Ryan Paul nachlesen

Sprache der Wahl

Wie ich sehen kann, ist Python die berühmteste Entwicklungsmethode. Ich könnte mich irren, da viele auch gerne auf Gtk / C oder Boost / C ++ entwickeln.

Es gibt auch andere Sprachen wie Vala, mit denen Sie native Anwendungen, aber eine höhere Sprache haben können.

Wenn Sie wissen C#, können Sie damit Anwendungen mit Gtk # for UI erstellen.

Manish Sinha
quelle
2
Nicht zu vergessen developer.ubuntu.com .
Gaurav Butola
1
@ Gaurav: Es ist in der Entwicklung. Könnte einige Zeit dauern
Manish Sinha
1
Ich habe herausgefunden, dass der beste Weg zu lernen darin besteht, anzufangen. Beteiligen Sie sich an einem Projekt, das Sie interessant finden (oder starten Sie ein eigenes) und machen Sie Ihre Füße nass. Sie werden auf viele Probleme stoßen, aber Sie werden genauso viel lernen. Viel Glück!
Erigami
3

Das hängt irgendwie zusammen und ich überlegte, ob ich es posten sollte.

Eine der einfachsten Möglichkeiten für einen Studenten, in die Open Source-Entwicklung einzusteigen (und zu sehen, wie der von Ihnen geschriebene Code in Ubuntu angezeigt wird), besteht darin, sich an Google Summer of Code zu beteiligen . Das Hinzufügen einer neuen Funktion zu einer vorhandenen Software ist eine Erfahrung, die Sie in der Schule nicht machen werden, aber die Art und Weise, wie Sie die Programmierung betrachten, wird sich ändern. Die Teilnehmer erhalten einen Mentor aus einem Open-Source-Projekt, der ihnen bei den ersten Schritten hilft und sie bei den schwierigen Aufgaben unterstützt.

Außerdem wirst du bezahlt und es sieht in deinem Lebenslauf gut aus. Es ist eine großartige Erfahrung. Ich empfehle dringend, es heraus zu überprüfen.

James
quelle
Ich habe davon gehört. Aber ich habe gehört, dass es extrem schwer zu bekommen war.
Mad-Scientist
Insbesondere bei größeren Projekten wie Ubuntu oder Mozilla herrscht mehr Wettbewerb als früher. Aber wenn Sie ein kleineres Projekt finden, sprechen Sie vorher mit den Entwicklern (und lesen Sie deren Wiki!), Um herauszufinden, wonach sie suchen, und um eine wirklich gute Zusammenfassung zu erhalten, stehen Ihre Chancen in Ordnung. Möglicherweise müssen Sie einige Projekte ausprobieren. Der erste, den ich befragte, ist nicht aufgegangen. Ein paar Pflaster unter dem Gürtel zu haben, hilft auch, obwohl ich denke, darum ging es in dieser Frage. :-) FWIW, ich wusste nicht viel mehr als grundlegende C ++ und einige Datenstrukturen gehen in.
James
Wo hast du deinen Gsoc gemacht?
Mad-Scientist
AbiSource. Einer meiner Klassenkameraden, der mich ermutigte, in GSOC einzusteigen, hatte ein Projekt zu CMS Made Simple.
James
2

Ein guter Ausgangspunkt könnte das Ubuntu-Wiki sein. Speziell für Unity werfen Sie einen Blick auf das Ayatana-Projekt

https://wiki.ubuntu.com/Ayatana

[BEARBEITEN] Wenn Sie Python mögen, schauen Sie sich auch Quickly an

https://wiki.ubuntu.com/Quickly

Hierbei handelt es sich um ein Projektmanagementsystem mit einigen Besonderheiten wie dem Packen und Verteilen des Quellcodes auf launchpad.net, das auch ein guter Ort ist, um nach Informationen zu suchen

burli
quelle
1

Nun, meine Antwort ist vielleicht nutzlos, aber die einzige, der ich folgte: Beginnen Sie einfach damit, die Quellen zu Unity (und verwandte Projekte wie compiz , nux ...) zu lesen und versuchen Sie, an Ihren Interessen zu arbeiten. grepkönnte auch ein netter Freund sein, wenn es darum geht, an einfachen Änderungen zu arbeiten.

Treviño
quelle