banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thông tin về các địa chỉ và tài liệu hữu ích Một số chỉ dẫn khi muốn trở thành Linux kernel developer  XML
  [Article]   Một số chỉ dẫn khi muốn trở thành Linux kernel developer 17/06/2011 07:43:08 (+0700) | #1 | 241128
[Avatar]
manthang
Journalist

[Minus]    0    [Plus]
Joined: 30/06/2008 16:36:58
Messages: 140
Offline
[Profile] [PM] [WWW]
Hôm rồi mình có nhận được email của một người bạn hỏi rằng: "Một developer nếu muốn tham gia vào quá trình phát triển Linux kernel thì nên bắt đầu từ đầu? Tôi có hẳn source code của Linux kernel, trong đó có hàng nghìn file thì tôi nên tìm hiểu chúng như thế nào?"

Người bạn của mình chưa có kiến thức về Linux và thế giới open source nên mình có tra khảo thông tin trên mạng và hình thành nên một số gợi ý cho câu hỏi trên của bạn đó. Mọi người xem qua rồi giúp mình bổ sung, sửa chữa sai sót nếu có nhé.

------

Nếu có ý định tham gia vào cộng đồng các nhà phát triển (developer) hay người đóng góp (contributor) cho dự án xây dựng, duy trì và phát triển mã nguồn của Linux Kernel thì bạn khoan vội mày mò tìm hiểu nội dung trong gói source code của Linux Kernel nếu chưa thực sự có kiến thức và sự hiểu biết về các vấn đề sau:

1. Triết lý của phần mềm tự do và những quy định trong giấy phép GPL mà Linux Kernel tuân theo

-> điều này giúp bạn biết cách sử dụng và phân phối Linux sao cho đúng luật chơi smilie. Xem thêm:

http://www.gnu.org/philosophy/
http://www.gnu.org/licenses/gpl.html

2. Quy trình phát triển Linux kernel:

gồm các bước nào, thủ tục nào cần phải tuân thủ; cách thức làm việc, cộng tác với các developer khác trong "Linux kernel development community"...

-> thông qua đây bạn cũng biết được quy trình phát triển phần mềm nguồn mở nói chung. Xem thêm:

http://ldn.linuxfoundation.org/how-participate-linux-community
http://www.kernel.org/doc/Documentation/HOWTO

Hai documentation trên chỉ mang tính định hướng cho bạn khi tham gia vào quá trình phát triển Linux kernel chứ không chứa chi tiết các vấn đề kỹ thuật liên quan đến cách thức lập trình Linux kernel ra làm sao.

Trong gói source code của Linux kernel có một số file tham khảo quan trọng mà bạn cần đọc, tham khảo phần Documentation ở link sau để biết những file nào cần đọc

http://www.kernel.org/doc/Documentation/HOWTO

3. Nắm vững ngôn ngữ lập trình chủ đạo mà tạo nên gần hết mã nguồn Linux kernel là: C, thành thạo C ở mức sâu là cực kỳ cần thiết. Một số phần của mã nguồn Linux cũng được viết bằng Assembly nhưng chỉ cần thiết học nó nếu bạn muốn phát triển Linux ở mức thấp dành cho một kiến trúc (architecture) cụ thể nào đó như x86, x64,... Tham khảo một số sách tốt về C sau:

- "The C Programming Language" by Kernighan and Ritchie [Prentice Hall]
- "Practical C Programming" by Steve Oualline [O'Reilly]
- "C: A Reference Manual" by Harbison and Steele [Prentice Hall]

4. Một số nguồn tài nguyên trợ giúp bạn trong quá trình học tập, nghiên cứu và phát triển Linux kernel

* Sách:
Linux Device Drivers, 3rd Edition (Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman). Online at http://lwn.net/Kernel/LDD3/.
Linux Kernel Development, 3rd Edition (Robert Love).
Understanding the Linux Kernel, 3rd Edition (Danial Bovet and Marco Cesati).

* Website:
http://kernelnewbies.org/
http://lwn.net/
http://kernel.org/

----

Kết luận:

Tất cả những điều trên đôi khi rất khó để thực hiện đúng và đủ. Có thể phải mất nhiều năm để luyện tập, thích ứng và hoàn thiện công việc phát triển Linux. Nó là một quá trình liên tục và cải tiến không ngừng nên đòi hỏi cần có sự đam mê, quyết tâm và sự bền bỉ, kiên trì. Nhưng đừng vội nản chí và từ bỏ - "nothing is impossible". Như bạn thấy đấy, đã có rất nhiều người tham gia dự án này và trở thành core Linux developer và ai cũng vậy thôi, tất cả đều bắt đầu từ những thứ căn bản nhất mà mình đã đề cập ở trên.

Chúc bạn thành công!
keep -security- in -mind-
[Up] [Print Copy]
  [Article]   Một số chỉ dẫn khi muốn trở thành Linux kernel developer 23/06/2011 14:18:47 (+0700) | #2 | 241821
hieudie
Member

[Minus]    0    [Plus]
Joined: 03/11/2010 01:35:23
Messages: 1
Offline
[Profile] [PM]
Cảm ơn bạn.

[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|