З чого почати навчання для розробки ubuntu? [зачинено]


17

Привіт, я зараз студент інформатики в коледжі і дуже зацікавлений у розробці програмного забезпечення з відкритим кодом, особливо ubuntu. Чи є можливість зупинки читати про розробку ubuntu.

Наприклад, я переглянув офіційний підручник та документацію Python, і мені було добре піти. Я міг написати корисні програми. Чи є еквівалент Ubuntu або єдності? Я спробував завантажити альфа-2, ставив збій кожні 5 хвилин. Мені сказали в IRC, це було пов'язано з деякою зміною стека Xorg.

Зараз я навіть не можу дивитись на нове Єдність, не кажучи вже про допомогу в його розвитку.

Будь-яка допомога чи настанова оцінена.


Яку мову ви знаєте? З цього я можу дати кращі відповіді.
Manish Sinha


Я досвідчений з python, і можу кодувати C, C ++. Маю досвід роботи з прив'язками pyqt та pygtk.
Божевільний вчений

1
Якщо ви знаєте Python, то швидко вам може стати шматок пирога. Якщо ви знаєте C / C ++, тоді ви можете забруднити руки Unity
Manish Sinha

Відповіді:


12

Розробка для Ubuntu

Дякуємо за цікавість Лише кілька уточнень. Немає нічого такого, як програмне забезпечення Ubuntu (я знаю, ви цього не мали на увазі). Усі зміни, що стосуються Ubuntu, можуть бути доступні і в інших дистрибутивах. Їх пакувальники повинні упакувати.

Аварія 2

Натті ще знаходиться в стадії розробки, і все ще триває транзит Xorg. Я рекомендую вам почати працювати над стабільними випусками. Використовуйте Maverick (10.10)для своєї розробки. Таким чином ви витратите більше часу на розробку програм, а не натрапляючи на альфа-помилки.

Якщо ви хочете внести свій внесок у Nattyабо Unity, то неодмінно вам потрібно запустити Natty Alphas.

Єдність розвитку

Якщо ви хочете розвиватися для Unity, тоді вам потрібно отримати Natty та отримати вихідний код.

bzr гілка lp: єдність

У відділенні каси є файл, який пояснює, що це за залежності, і як ви можете змусити його будувати.

Якщо ви хочете перенести свій код у єдиний майнтрі, вам потрібно підписатись. Canonical Contributer AgreementВам не потрібно підписувати його щоразу, коли ви надсилаєте свій код. Раз цього достатньо

Unity Bitesize помилки

Найкращий спосіб долучитися - це виправляти невеликі помилки в Unity. Хорхе Кастро регулярно публікує список Bitesize rockstars. Ось перелік помилок укупорів , з якими ви можете поговорити Jorge Castro(jcastro на IRC на каналах #omg! Ubuntu! Тощо; він також зависає в чаті Ask Ubuntu ), перш ніж запускати, якщо вам потрібна додаткова допомога.

Ось документація для залучення до розвитку єдності

Розробка на Ubuntu

Як зазначив Бурлі, Quicklyце чудовий інструмент для розвитку. Він піклується про багато речей. Використовувати його на Ubuntu дуже просто, оскільки він інтегрується з платформами для розробки ubuntu, такими як Launchpad, PPA тощо

Швидко обробляє код котла та надає вам шаблони. Як і одна для упаковки. Відповідно до статті 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).

Ви також можете прочитати про це у цій статті Ars Technica від Райана Поля

Мова вибору

Як я бачу, Python - найвідоміший вибір розвитку. Я можу помилитися, оскільки багатьом також подобається розвиватися на Gtk / C або Boost / C ++.

Існують також інші мови на зразок Vala, за допомогою яких можна мати вбудовані програми, але мати мову більш високого рівня.

Якщо ви знаєте C#, ви можете використовувати його для створення програм, використовуючи Gtk # для інтерфейсу користувача.



1
@Gaurav: Це в стадії розробки. Може зайняти час
Маніш Сінга

1
Я виявив, що найкращий спосіб навчитися - це почати робити. Займіться проектом, який вам здається цікавим (або почніть свій власний) і намочіть ноги. У вас виникне багато проблем, але ви навчитесь стільки ж. Удачі!
Ерігамі

3

Це щось на зразок пов’язаного, і я обговорював, чи слід це розміщувати.

Один з найпростіших способів вступити студент до розробки з відкритим кодом (і побачити код, який ви написали в Ubuntu) - це долучитися до Google Summer of Code . Додавання нової функції до наявного програмного забезпечення - це досвід, який ви не отримаєте в школі, але це змінить спосіб погляду на програмування. Учасники студентських пар підключаються до наставника з проекту з відкритим кодом, який допоможе їм розпочати роботу та допоможе їм у вирішенні проблем.

Крім того, ви отримуєте зарплату, і це добре виглядає на вашому резюме. Це великий досвід. Настійно рекомендую перевірити це.


Я чув про це. Але я почув, що отримати надзвичайно важко.
Божевільний вчений

Більше конкуренції, ніж раніше, особливо для великих проектів, таких як Ubuntu або Mozilla. Але якщо ви знайдете менший проект, заздалегідь поговоріть з розробниками (і почитайте їхні вікі!), Щоб дізнатися, що вони шукають, і мати справді гарний запис, ваші шанси пристойні. Можливо, вам доведеться спробувати кілька проектів; перший, який я запитував, не збивався. Маючи кілька патчів під поясом, також допомагає, хоча, мабуть, саме в цьому питанні йшлося. :-) FWIW, я не знав набагато більше, ніж основні C ++ та деякі структури даних.
Джеймс

Де ти, твій Gsoc?
Божевільний вчений

AbiSource. Один з моїх однокласників, людина, яка заохочувала мене потрапити до GSOC, мала проект на CMS Made Simple.
Джеймс

2

Гарною відправною точкою може стати Ubuntu Wiki. Спеціально для Unity погляньте на проект "Аятана"

https://wiki.ubuntu.com/Ayatana

[EDIT] Якщо вам подобається Python, також швидко подивіться

https://wiki.ubuntu.com/Quickly

Це система управління проектами з деякими особливостями, такими як упаковка та розповсюдження вихідного коду на launchpad.net, що також є гарним місцем для пошуку інформації


1

Ну, моя відповідь, можливо, є марною, але єдине, що я дотримувався: просто починайте читати джерела єдності (і пов'язані з цим проекти, такі як compiz , nux ...), і спробуйте працювати над тим, що вас цікавить. grepможе бути також приємним другом, коли справа доходить до роботи над простими модифікаціями.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.