Thấy gì qua các con số thống kê về việc phát triển nhân Linux

Thứ tư - 15/09/2010 06:02

Sựkhác biệt lớn nhất và có ý nghĩa nhất trong pháttriển nhân Linux nằm ở mô hình phát triển phần mềmcủa nó với tốc độ tung ra phiên bản mới cứ 2-3 thángmột lần bởi một cộng đồng rộng lớn khắp thế giớivới gần 5.000 người là các lập trình viên cá nhân tìnhnguyện và nhân viên của hơn 500 công ty, cả phần mềmlẫn phần cứng, thậm chí là cả từ một vài công tykhông nằm trong nền công nghiệp công nghệ thông tin, điềuchưa từng thấy đối với bất kỳ phần mềm nào trênthế giới từ trước tới nay.

Ai đang làm ra cácphiên bản nhân Linux, nó đang được làm như thế nào,nhanh tới mức độ nào, là những câu hỏi mà lời giảiđáp của chúng nằm trong tài liệu do Quỹ Linux (LinuxFoundation) xuất bản lần thứ 2 vào tháng 08/2009 mang tựađề: “Pháttriển nhân Linux”.

Đã từ nhiều nămnay, cuộc tranh cãi và so sánh giữa hệ điều hành tự donguồn mở GNU/Linux và các hệ điều hành khác, nhưWindows, Mac OS X hay Unix về những khả năng của chúng vềan ninh, ổn định, tính bền vững, tốc độ thực thi,khả năng có lỗi và sửa lỗi, khả năng tương thích vớicác trình điều khiển thiết bị phần cứng, sự áp dụngcủa các doanh nghiệp trong cả các máy tính chủ cũng nhưcác máy tính cá nhân cùng nhiều so sánh khác, vẫn luônlà điều mà hầu hết mọi người có cảm tưởng sẽkhông có hồi kết.

Tuy nhiên, nhiều câutrả lời cho những so sánh ở trên là có thể hình dungđược, suy luận được từ thực tếphát triển nhân Linux, thành phần - khó có thể nghi ngờ- của một hệ điều hành của tương lai, thành phần cốtlõi của hệ điều hành GNU/Linux, thành phần mà cónhiệm vụ quản lý phần cứng, chạy các chương trìnhcủa người sử dụng, và duy trì tổng thể an ninh vàtính toàn vẹn của toàn bộ hệ điều hành.

Nhờcó hệ thống quản lý mã nguồn Git, mọi con số thốngkê cho sự phát triển nhân Linux từ năm 2005, chính xáchơn là từ phiên bản nhân 2.6.11 cho tới thời điểm màtài liệu được xuất bản, phiên bản nhân 2.6.30, đãđược ghi chép lại một cách hết sức đầy đủ. Mộtvài con số thống kê có thể chỉ ra bên dưới.

1.Mô hình phát triển và tần suất tung ra phiên bản

Cóthể nói rằng, sự khác biệt lớn nhất và có ý nghĩanhất trong phát triển nhân Linux nằm ở mô hình pháttriển phần mềm của nó. NhânLinux được phát triển theo một mô hình lỏng lẻo, dựavào thời gian, với một phiên bản nhân chính và mới cứmỗi 2-3 tháng một lần được tung ra một lần. Từ ngày02/03/2005 cho tới ngày 09/06/2009 (trong vòng 4 năm 3 tháng)đã có tới 20 phiên bản ổn định của nhân được tungra, từ phiên bản 2.6.11 cho tới 2.6.30.

2.Tốc độ của những thay đổi trong nhân Linux

Khichuẩn bị công việc để đệ trình cho nhân Linux, cáclập trình viên chẻ các thay đổi của họ thành các đơnvị nhỏ, riêng rẽ, gọi là các bản vá. Các bản vá nàycó liên quan tới việc thêm, sửa hoặc xóa các dòng mãlệnh được đưa vào nhân đang được xây dựng nhằmđảm bảo chất lượng mã nguồn và sửa các lỗi trongnhân. Số lượng các bản vá ngày một gia tăng, nếu ởphiên bản 2.6.11 số lượng bản vá là 3.616 thì tớiphiên bản 2.6.30 đã là 11.989. Tốc độ thay đổi các bảnvá theo thời gian cũng gia tăng, nếu ở phiên bản 2.6.11là trung bình 2.18 bản vá trong 1 giờ đồng hồ thì tớiphiên bản 2.6.30 con số này đã là 6.40, và con số nàyvẫn tiếp tục gia tăng.

3.Kích cỡ nguồn của nhân Linux

Điềuđáng lưu ý là những con số về bản vá nêu ở trênchưa phải là tất cả, nếu biết rằng nhiều bản vá đãkhông bao giờ được chấp nhận để đưa vào nhân dòngchính thống. Vì thế mà khả năng giữ vững được tốcđộ thay đổi như vậy trong nhiều năm là chưa từng thấytrong bất kỳ dự án phần mềm công cộng nào từ trướctới nay.

NhânLinux giữ tăng trưởng về kích cỡ qua thời gian khi mànhiều phần cứng được hỗ trợ hơn và nhiều tính năngkhác được bổ sung thêm. Nếu chỉ tính tới các con sốthực sự được đưa ra nhưlà “mã nguồn”, thì số lượng tệp và số lượng cácdòng mã lệnh của từng phiên bản nhân cũng ngày mộtgia tăng, nếu ở phiên bản 2.6.11 có số lượng tệp là17.090 và số dòng lệnh là 6.624.076 thì tới phiên bản2.6.30 các con số tương ứng đã là 27.911 và 11.560.971.Một lưu ý nữa là tốc độ tăng trưởng của nhân luônở mức cao, nhưng nó đã gia tăng đáng kể sau phiên bảnnhân 2.6.27, khi có sự bổ sung cây Linux tiếp theo (chứađựng nhưng thay đổi được mong đợi trong phiên bảntiếp theo của nhân).

Sốlượng dòng mã lệnh được thêm, xóa và sửa trong từngngày theo từng phiên bản nhân cũng gia tăng. Nếu ởphiên bản 2.6.11 các con số cho các dòng lệnh đượcthêm, xóa và sửa là 3.224; 1.360 và 1.290, thì tới phiênbản 2.6.30 các con số tương ứng đã là 12.993; 4.958 và2.830 một cách tương ứng. Tốc độ thay đổi này là lớnhơn bất kỳ dự án phần mềm công cộng nào với bấtkỳ kích cỡ nào từ trước tới nay.

4.Ai đang tiến hành công việc

Sốlượng đa dạng các lập trình viên và các công ty có thểnhận biết được đang đỡ đầu cho phát triển nhânLinux đã và đang gia tăng qua các phiên bản nhân khácnhau. Trên thực tế, cộng đồng phát triển của các cánhân đã tăng gấp đôi trong 3 năm qua. Nếu ở phiên bản2.6.11 có 389 lập trình viên từ 68 công ty được biếttên tham gia phát triển nhân Linux, thì tới phiên bản2.6.30 các con số này đã là 4.910 và 532 một cách tươngứng.

5.Ai đang đỡ đầu cho công việc này

NhânLinux là một nguồn có số lượng lớn các công ty khácnhau sử dụng. Trong số đó, nhiềucông ty đó chưa bao giờtham gia vào sự phát triển của nhân cho dù số lượngcác công ty đang làm việc để cải tiến cho nhân vẫnđang ngày một gia tăng. Hiện các lập trình viên đượcthuê, được trả tiền từ các công ty đang tiến hànhgần 75% lượng công việc của nhân, trong số hơn 25% cònlại thì 7.6% số lượng công việc được thực hiện màcòn chưa rõ từ công ty nào, và 18.2% là từ các lậptrình viên độc lập và những người tình nguyện màkhông nhận tài chính từ bất kỳ công ty nào.

Trongsố gần 75% công việc của nhân được nêu ở trên, cáccông ty và tổ chức có đóng góp cho sự phát triển nhânLinux trong vòng 3 năm vừa qua theo thứ tự xếp hạng từtrên xuống, với con số trong ngoặc là số % đóng góp,lần lượt là: Red Hat (12.3), IBM (7.6), Novell (7.6), Intel(5.3), Consultant (2.5), Oracle (2.4), Linux Foundation (1.6), SGI(1.6), Parallels (1.3), Renesas Technology (1.3), Academia (1.2),Fujitsu (1.1), MontaVista (1.1), MIPS Technologies (1.1), AnalogDevices (1.0), HP (1.0), Freescale (0.9), Google (0.9), Linutronix(0.9), Astaro (0.8), NetApp (0.7), Marvell (0.6), Nokia (0.6), Simtec(0.6), QLogic (0.6), Movial (0.5), AMD (0.5), Microsystems (0.5) vàhơn 500 công ty khác mà không được liệt kê tên ở đây.

Lưuý là nếu tính tới sự phát triển của từng phiên bảnnhân Linux, thì số lượng và tên của các công ty có thểsẽ là khác với các tỷ lệ đóng góp cũng sẽ khác sovới danh sách ở trên. Ví dụ như, nếu lấy sự pháttriển của phiên bản nhân 2.6.24 làm ví dụ, thì sẽ thấycó tên của một số công ty khác như: NTT (0.7), AMD (0.8);XenSource (0.7)...

6.Ai đang rà soát lại công việc

Cácbản vá không thường đi một cách trực tiếp vào trongnhân dòng chính thống; thay vào đó, chúng đi qua mộttrong hàng trăm cây của các hệ thống phụ. Mỗi cây củacác hệ thống phụ được chuyên biệt cho một phần nhấtđịnh của nhân (những ví dụ có thể là các trình điềukhiển cho đĩa cứng SCSI, mã cho kiến trúc x86, hoặc mạng)và theo sự kiểm soát của một người duy trì cụ thểnhất định. Khi một người duy trì của một hệ thốngphụ phê chuẩn một bản vá đưa vào trong một cây hệthống phụ, thì anh hoặc chị ta sẽ gắn một dòng “Đượcký bởi” vào đó. Trên thực tế, việc ký phê duyệt mãnguồn để được đưa vào các phiên bản nhân có thểlà các cá nhân hoặc đại diện của các công ty (lưu ýlà nhân Linux được cấp phép theo giấy phép GPLv2, vì thếdù là ai thay mặt công ty bất kỳ nào ký phê chuẩn mãnguồn để đưa vào nhân, thì các mã nguồn đó đều làphần mềm tự do và không phải là sở hữu của các côngty đó), cụ thể như sau:

Đối với các phiênbản trước 2.6.24, 10 cá nhân xếp hạng hàng đầu (vớisố phần trăm được để trong dấu ngoặc) ký phê chuẩnmã nguồn để đưa vào nhân là: Andrew Morton (10.5), IngoMolnar (9.9), David S. Miller (9.6), John W. Linville (6.0), MauroCarvalho Chehab (5.4), Greg Kroah-Hartman (3.8), Jeff Garzik (3.0),Thomas Gleixner (2.7),Linus Torvalds (2.7) và James Bottomley (2.1). Như chung ta có thểthấy, Linus Torvalds trực tiếp trộn chỉ dưới 3% tổngcác dòng của các bản vá dù ông vẫn là người quantrọng nhất trong sự phát triển của nhân Linux, khi ônglà người chịu trách nhiệm với các “ủy thác trộn”,nơi mà một tập hợp những thay đổi được trộn trongnhững thay đổi khác. Linus Torvalds tạo ra số lượng lớnnhững ủy thác trộn đó.

Đạidiện 10 công ty và tổ chức xếp hạng hàng đầu ký phêchuẩn mã nguồn để đưa vào nhân là: Red Hat (36.4),Google (10.5), Novell (8.2), các tình nguyện viên (7.6), Intel(6.4), IBM (5.3), Linutronix (2.8), Linux Foundation (2.7),Consultant (1.9) và Hansen Partnership (1.6).

7.Vì sao các công ty hỗ trợ phát triển nhân Linux

Danhsách các công ty tham gia trong sự phát triển nhân Linux cónhiều công ty công nghệ thành công nhất đang tồn tại.Không có công ty nào đang hỗ trợ sự phát triển củaLinux như một hành động từ thiện; trong từng trườnghợp, những công ty này thấy rằng việc cải tiến nhânsẽ giúp họ có tính cạnh tranh hơn trong các thị trườngcủa họ. Một số ví dụ:

  • Các công ty như IBM, Intel, SGI, MIPS, Freescale, HP, Fujitsu, … tất cả đang làm việc để đảm bảo rằng Linux chạy tốt trên các phần cứng của họ. Và đổi lại, làm cho những chào mời của họ cuốn hút hơn đối với những người sử dụng Linux, kết quả là bán hàng được gia tăng.

  • Các nhà phân phối như Red Hat, Novell, và MontaVista có sự quan tâm rõ ràng trong việc làm cho Linux có khả năng nhất có thể. Qua đó các công ty này cạnh tranh mạnh mẽ với nhau vì các khách hàng, tất cả họ làm việc cùng nhau để làm cho nhân Linux được tốt hơn.

  • Các công ty như Sony, Nokia, và Samsung xuất xưởng Linux như một thành phần của các sản phẩm như máy quay video, các đầu TV, và các điện thoại di động. Làm việc với quá trình phát triển nhân Linux giúp cho các công ty của họ đảm bảo rằng Linux tiếp tục sẽ là một cơ sở vững chắc cho các sản phẩm của họ trong tương lai.

  • Các công ty mà không kinh doanh công nghệ thông tin có thể vẫn thấy làm việc với Linux là có ích lợi. Nhân 2.6.25 đã đưa vào một triển khai của giao thức mạng PF_CAN mà đã được Volkswagen đóng góp. Nhân 2.6.30 đã có một bản vá từ Quantum Controls BV, mà nó làm các thiết bị định tuyến cho các tàu thuyền. Những công ty này thấy Linux sẽ là một nền tảng vững chắc mà dựa vào đó để xây dựng các sản phẩm của họ; họ đóng góp cho nhân Linux để giúp đảm bảo rằng Linux tiếp tục đáp ứng được các nhu cầu của họ trong tương lai. Không một hệ điều hành nào khác trao sức mạnh như vậy để gây ảnh hưởng tới sự phát triển trong tương lai cho những người sử dụng nó.

Cómột số các lý do đối với các công ty để hỗ trợnhân Linux. Kết quả là, Linux có được một cơ sở rộngrãi sự hỗ trợ mà nó không phụ thuộc vào bất kỳcông ty duy nhất nào. Thậm chí nếu người đóng góp lớnnhất mà có chấm dứt tham gia vào ngày mai, thì nhân Linuxvẫn cứ giữ được là một cơ sở vững chắc với mộtcộng đồng phát triển tích cực và rộng lớn.

8.Kết luận

NhânLinux là một trong những dự án nguồn mở thành công nhấttừ trước tới giờ. Tốc độ thay đổi và số lượngnhững cá nhân đóng góp khổng lồ chỉ ra rằng nó cómột cộng đồng mạnh mẽ và tích cực, tạo ra một cáchổn định sự tiến bộ của nhân đáp ứng số lượngnhững môi trường khác nhau mà nó được sử dụng trongđó. Tốc độ của sự thay đổi này tiếp tục gia tăng,khi mà số lượng các lập trình viên và các công ty thamgia vào trong quá trình này gia tăng; vì thế xa hơn, quátrình phát triển này đã chứng minh rằng có khả năng đểmở rộng về phạm vi với tốc độ cao hơn mà không cólo lắng gì.

Cóđủ các công ty tham gia cấp vốn cho phần lớn nỗ lựcphát triển này, thậm chí cả khi nhiều công ty có thểhưởng lợi từ việc đóng góp cho Linux mà không cấp vốncho nó. Với sự mở rộng hiện hành của Linux ở các thịtrường máy chủ, máy để bàn và nhúng, hợp lý đểmong đợi số lượng những công ty đóng góp - và các lậptrình viên cá nhân - sẽ tiếp tục gia tăng. Cộng đồngphát triển nhân chào đón những lập trình viên mới;những cá nhân hoặc công ty có quan tâm trong việc đónggóp cho nhân Linux được khuyến khích tư vấn “Làm thếnào để tham gia vào cộng đồng Linux” (có thể thấyđược tạihttp://ldn.linuxfoundation.org/book/how-participate-linux-community)hoặc liên hệ với các tác giả của tài liệu này hoặcvới Quỹ Linux để có thêm thông tin.

TrầnLê

Nguồn:Linux Kernel Devolopment, The Linux Foundation, tháng 08/2009.


Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Những tin mới hơn

Những tin cũ hơn

Về Blog này

Blog này được chuyển đổi từ http://blog.yahoo.com/letrungnghia trên Yahoo Blog sang sử dụng NukeViet sau khi Yahoo Blog đóng cửa tại Việt Nam ngày 17/01/2013.Kể từ ngày 07/02/2013, thông tin trên Blog được cập nhật tiếp tục trở lại với sự hỗ trợ kỹ thuật và đặt chỗ hosting của nhóm phát triển...

Bài đọc nhiều nhất trong năm
Thăm dò ý kiến

Bạn quan tâm gì nhất ở mã nguồn mở?

Thống kê truy cập
  • Đang truy cập227
  • Máy chủ tìm kiếm6
  • Khách viếng thăm221
  • Hôm nay10,898
  • Tháng hiện tại224,995
  • Tổng lượt truy cập31,380,467
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây