Bắt đầu học ở đâu để phát triển Ubuntu? [đóng cửa]


17

Xin chào, sinh viên Khoa học Máy tính hiện đang học đại học và rất quan tâm đến việc phát triển phần mềm nguồn mở, đặc biệt là ubfox. Có một điểm dừng để đọc về việc phát triển Ubuntu.

Ví dụ, tôi đã xem qua hướng dẫn và tài liệu chính thức về Python và tôi rất tốt để đi. Tôi có thể viết các ứng dụng hữu ích. Có bất kỳ tương đương cho Ubuntu hoặc thống nhất? Tôi đã thử tải xuống bản alpha 2, cứ bị hỏng cứ sau 5 phút. Tôi đã nói với IRC, đó là do một số thay đổi ngăn xếp Xorg.

Bây giờ tôi thậm chí không thể nhìn vào Unity mới, hãy để một mình giúp phát triển nó.

Bất kỳ trợ giúp hoặc hướng dẫn đánh giá cao.


Bạn biết ngôn ngữ nào? Từ đó tôi có thể cung cấp câu trả lời tốt hơn.
Manish Sinha


Tôi thành thạo với python và có thể viết mã bằng C, C ++. Có kinh nghiệm với các ràng buộc pyqt và pygtk.
khoa học điên

1
Nếu bạn biết Python, thì Quickly có thể là một miếng bánh cho bạn. Nếu bạn biết C / C ++ thì bạn có thể bị bẩn tay với Unity
Manish Sinha

Câu trả lời:


12

Phát triển cho Ubuntu

Cảm ơn đã quan tâm. Chỉ cần một vài làm rõ. Không có gì như phần mềm Ubuntu (tôi biết bạn không có ý đó). Tất cả các thay đổi cụ thể của Ubuntu cũng có thể được cung cấp trong các bản phát hành khác. Đóng gói của họ phải đóng gói nó.

Alpha 2 bị rơi

Natty vẫn đang được phát triển và vẫn còn một sự chuyển đổi Xorg đang được tiến hành. Tôi muốn giới thiệu bạn để bắt đầu làm việc trên các bản phát hành ổn định. Sử dụng Maverick (10.10)cho công việc phát triển của bạn. Bằng cách này, bạn sẽ dành nhiều thời gian hơn để phát triển các ứng dụng thay vì gặp phải các lỗi alpha.

Nếu bạn muốn đóng góp cho Nattyhoặc Unity, thì chắc chắn bạn cần chạy Natty Alphas.

Phát triển đoàn kết

Nếu bạn muốn phát triển cho Unity, thì bạn cần lấy Natty và kiểm tra mã nguồn.

chi nhánh bzr lp: đoàn kết

Có một tệp trong nhánh thanh toán để giải thích sự phụ thuộc của nó là gì và làm thế nào bạn có thể lấy nó để xây dựng.

Nếu bạn muốn đưa mã của mình vào trạng thái thống nhất, bạn cần phải ký Canonical Contributer AgreementBạn không cần phải ký mã mỗi khi bạn gửi mã. Một khi nó đủ

Lỗi Unity Bitesize

Cách tốt nhất để tham gia là sửa các lỗi nhỏ trong Unity. Thường xuyên đăng tải danh sách các ngôi sao nhạc rock Bitesize. Dưới đây là danh sách các lỗi bitesize , bạn có thể muốn nói chuyện Jorge Castro(jcastro trên IRC trên các kênh #omg! Ubfox! Vv - anh ấy cũng đi chơi trong trò chuyện Hỏi Ubuntu ) trước khi bắt đầu nếu bạn cần trợ giúp thêm.

Đây là một tài liệu để tham gia vào sự phát triển đoàn kết

Phát triển trên Ubuntu

Như Burli đã chỉ ra, Quicklylà một công cụ tuyệt vời để phát triển. Nó chăm sóc nhiều thứ. Sử dụng nó trên Ubuntu rất dễ dàng vì nó tích hợp với các nền tảng phát triển Ubuntu như Launchpad, PPA, v.v.

QUickly xử lý mã soạn sẵn và cung cấp cho bạn các mẫu. Giống như một là cho bao bì. Theo bài viết của 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).

Bạn cũng có thể đọc về nó trên bài viết Ars Technica này của Ryan Paul

Ngôn ngữ của sự lựa chọn

Python là sự lựa chọn phát triển nổi tiếng nhất mà tôi có thể thấy. Tôi có thể sai vì nhiều người cũng thích phát triển trên Gtk / C hoặc Boost / C ++.

Ngoài ra còn có các ngôn ngữ khác như Vala sử dụng mà bạn có thể có các ứng dụng gốc nhưng có ngôn ngữ cấp cao hơn.

Nếu bạn biết C#, bạn có thể sử dụng nó để tạo các ứng dụng bằng Gtk # cho UI.


2
Đừng quên nhà phát triển.ubfox.com .
Gaurav Butola

1
@Gaurav: Nó đang được phát triển. Có thể mất thời gian
Manish Sinha

1
Tôi đã thấy rằng cách tốt nhất để học là bắt đầu làm. Tham gia vào một dự án mà bạn thấy thú vị (hoặc bắt đầu của riêng bạn) và bị ướt chân. Bạn sẽ gặp nhiều vấn đề, nhưng bạn sẽ học được nhiều như vậy. Chúc may mắn!
Erigami

3

Đây là loại liên quan, và tôi đã tranh luận về việc có nên đăng nó không.

Một trong những cách dễ nhất để sinh viên tham gia phát triển nguồn mở (và xem mã bạn đã viết hiển thị trong Ubuntu) là tham gia vào Google Summer of Code . Thêm một tính năng mới vào một phần mềm hiện có là một trải nghiệm bạn sẽ không có được ở trường, nhưng nó sẽ thay đổi cách bạn nhìn vào lập trình. Những người tham gia sinh viên được ghép đôi một người cố vấn từ một dự án nguồn mở, người sẽ giúp họ bắt đầu và có thể giúp họ với những điều khó khăn.

Thêm vào đó, bạn được trả tiền và nó trông rất đẹp trong hồ sơ của bạn. Đó là trải nghiệm tuyệt vời. Tôi thực sự khuyên bạn nên kiểm tra nó.


Tôi đã nghe về nó. Nhưng tôi nghe nói nó cực kỳ khó lấy.
khoa học điên

Có nhiều sự cạnh tranh hơn trước đây, đặc biệt là đối với các dự án lớn hơn như Ubuntu hoặc Mozilla. Nhưng nếu bạn tìm thấy một dự án nhỏ hơn, hãy nói chuyện với các nhà phát triển (và đọc wiki của họ trước đó) để tìm hiểu những gì họ đang tìm kiếm và có một bài viết thực sự hay, cơ hội của bạn là rất tốt. Bạn có thể phải thử một vài dự án; người đầu tiên tôi yêu cầu đã không ra ngoài. Có một vài miếng vá dưới thắt lưng của bạn cũng có ích, mặc dù tôi đoán đó là câu hỏi này. :-) FWIW, tôi không biết nhiều hơn C ++ cơ bản và một số cấu trúc dữ liệu đang diễn ra.
James

Bạn đã ở đâu, làm Gsoc của bạn?
khoa học điên

Nguồn gốc. Một trong những người bạn cùng lớp của tôi, người khuyến khích tôi tham gia GSOC, đã có một dự án về CMS Made Simple.
James

2

Một điểm khởi đầu tốt có thể là Ubuntu Wiki. Đặc biệt đối với Unity hãy xem Dự án Ayatana

https://wiki.ubfox.com/Ayatana

[EDIT] Nếu bạn thích Python cũng hãy xem nhanh

https://wiki.ubfox.com/Quickly

Đây là một hệ thống Quản lý dự án với một số tính năng đặc biệt như đóng gói và phân phối mã nguồn trên launchpad.net, đây cũng là một nơi tốt để tìm kiếm thông tin


1

Chà, câu trả lời của tôi có thể là vô ích, nhưng điều duy nhất tôi làm theo: chỉ cần bắt đầu đọc các nguồn thống nhất (và dự án liên quan như compiz , nux ...) và cố gắng làm việc với những gì bạn đang hướng đến. grepcũng có thể là một người bạn tốt khi làm việc với những sửa đổi đơn giản.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.