Thứ Năm, 16 tháng 5, 2013

Mô hình phát triển và ứng dụng phần mềm tự do nguồn mở bền vững


Ngày 26/04/2013 vừa qua, tại Đà Nẵng, Hội thảo và Triển lãm “Ứng dụng và phát triển phần mềm nguồn mở 2013”, do Bộ Thông tin và Truyền thông cùng UBND thành phố Đà Nẵng phối hợp tổ chức. Một trong các bài trình bày chính tại hội thảo là “Mô hình bền vững cho phát triển và ứng dụng phần mềm tự do nguồn mở (PMTDNM)”. Bài viết này chi tiết hóa những khía cạnh có liên quan giữa mô hình phát triển đó với các chính sách nên được hình thành trong thời gian tới với mục đích thực sự góp phần thúc đẩy phát triển và ứng dụng PMTDNM từ nay tới năm 2015 và 2020.
Một số tài liệu của Quỹ Linux (Linux Foundation), nơi quản lý sự phát triển của nhân Linux, đã được xuất bản vào cuối năm 2011 và đầu năm 2012 đã được dịch sang tiếng Việt và phát hành trên Internet trong năm 2012, là cơ sở cho lập luận của bải viết này, bao gồm:
Ngược lên dòng trên (Upstream) là gì?
Ngược lên dòng trên là một khía cạnh cơ bản của qui trình phát triển nguồn mở. Trong nguồn mở, điều này thường được sử dụng để mô tả qui trình nơi mà một cá nhân hoặc một công ty sửa đổi mã nguồn của một dự án nguồn mở cho phù hợp với một nhu cầu cụ thể, và sau đó đóng góp những sửa đổi của họ trở ngược lại cho dự án.
PMTDNM đang ngày càng được tích hợp vào trong các sản phẩm thương mại, được dẫn dắt bằng giá trị kỹ thuật, khả năng phát triển nhanh, hoặc để cải thiện thời gian đưa sản phẩm ra thị trường. Kết quả là, nhiều công ty cũng đang sửa đổi PMTDNM để đáp ứng được những yêu cầu của các khách hàng. Các tổ chức phát triển mà còn chưa ôm lấy một cách đầy đủ sự tham gia tập thể của nguồn mở có thể duy trì những nhánh nội bộ riêng rẽ của những dự án đó, vì nó có thể là một cách dễ dàng để bắt đầu khi tiêu dùng PMTDNM.
Trong khi các cây phát triển trong nội bộ một cách riêng rẽ có thể làm việc cho sự phát triển của một sản phẩm hoặc để chứng minh khái niệm, thì sự duy trì dài hạn có thể nhanh chóng trở thành gánh nặng và đắt giá. Điều này đặc biệt đúng nếu PMTDNM sẽ được cập nhật thông qua vòng đời của sản phẩm, khi mã nguồn tùy biến sẽ cần phải được tùy biến thích nghi với những thay đổi trong dự án nguồn mở dòng chính. Các lập trình viên trong các dự án nguồn mở có thể nhận thức được về những sửa đổi đang được thực hiện cho mã nguồn được phát hành của họ đằng sau những cánh cửa đóng, thì có thể sẽ không có sự đảm bảo nào rằng sự phát triển theo lệ thường sẽ không phá vỡ các sản phẩm phái sinh nội bộ của mã nguồn đó.
Để nhận thức được đầy đủ những lợi ích của việc tiêu dùng PMNM, nhiều công ty và các tổ chức phát triển PMTDNM đang chọn đi theo triết lý “ngược lên dòng trên trước”. Điều này có nghĩa là những sửa đổi nội bộ sẽ được đánh giá để được chấp nhận đưa vào trong cây phát triển dòng chính.
Giải thích chi tiết về qui trình ngược lên dòng trên (NLDT)
Trong Hình 1 có 2 cây phát triển.
  • Cây ở trên là cây phát triển dòng chính của dự án nguồn mở. Trong ví dụ cụ thể này là cây phát triển của nhân Linux do Quỹ Linux điều hành, ta gọi là cây phát triển Linux Quốc tế.
  • Cây ở dưới là cây mã nguồn của sản phẩm. Trong ví dụ cụ thể này, để dễ hiểu, chúng ta giả thiết là một công ty của Việt Nam có tên là Linux Việt. Linux Việt sẽ lấy mã nguồn của nhân Linux Quốc tế dòng chính để tùy biến cho phù hợp với điều kiện sử dụng tại Việt Nam, ví dụ như sẽ tích hợp bộ gõ tiếng Việt và các vấn đề liên quan khác có đặc thù của Việt Nam vào nhân Linux của dòng chính, rồi, giả sử, cung cấp cho 1 triệu người sử dụng sản phẩm đó của cộng đồng và công ty Linux Việt. Giả thiết sản phẩm đó cũng có tên là Linux Việt.
Để giúp cho việc giải thích được rõ ràng và trực quan hơn về tác động của việc ngược lên dòng trên (NLDT) với giả thiết cụ thể trong bài viết này, chúng ta đưa vào thêm một vài tham số khác, được rút ra từ tài liệu “Phát triển nhân Linux: nó đi nhanh thế nào, ai đang làm nó, họ đang làm gì, ai đỡ đầu cho nó”, như được liệt kê ở trên. Các tham số đó bao gồm:
  • Từ đầu năm 2012, nhân Linux thế giới do một cộng đồng lớn, bao gồm 226 công ty với hơn 1.300 lập trình viên trên toàn thế giới cùng cộng tác phát triển, trong số đó có khoảng 75% số các lập trình viên chuyên nghiệp được các công ty trả tiền để lập trình cho nhân Linux Quốc tế, còn lại khoảng 25% số các lập trình viên là những người tình nguyện và/hoặc không xác định được là người của công ty nào.
  • Từ đầu năm 2012, trung bình khoảng 70 ngày, Quỹ Linux phát hành một phiên bản mới của nhân Linux Quốc tế.
  • Hầu như tất cả các trình điều khiển thiết bị ngoại vi và phần cứng là nằm trong nhân Linux, như các trình điều khiển màn hình, bàn phím, card mạng, đầu USB, máy in, máy photocopy, máy quét ảnh (scanner) và nhiều thiết bị phần cứng khác. Nói ngắn gọn, người sử dụng không thể chạy được hệ điều hành GNU/Linux mà không có các trình điều khiển thiết bị ngoại vi và phần cứng máy tính đi kèm, dù với nhân Linux Quốc tế hay Linux Việt.
  • Nhân Linux phiên bản v3.2, phát hành ngày 04/01/2012, có 37.626 tệp với hơn 15 triệu dòng mã lệnh, các con số mà không một công ty duy nhất nào, kể cả những người khổng lồ phần mềm như GoogleMicrosoft, dám nghĩ tự phát triển từ đầu để có thứ gì đó tương tự.
Hình 1: Qui trình phát triển có việc ngược lên dòng trên để làm giảm sự phát triển tùy biến trong nội bộ, làm cho các chu trình phát triển ngắn hơn và thời gian đưa ra thị trường nhanh hơn.
Khi Quỹ Linux phát hành phiên bản nhân Linux Quốc tế V 1.1, công ty Linux Việt tải về kho mã nguồn đó, áp dụng các bản vá của phiên bản đó, tùy biến phiên bản đó, ví dụ, đưa phần mềm bộ gõ tiếng Việt vào phiên bản đó, tiến hành kiểm thử rồi cùng một lúc làm 2 việc sau:
  • Đóng góp NLDT các mã nguồn tùy biến của công ty Linux Việt với sản phẩm Linux Việt phiên bản V 1.1 Vi về với cây phát triển dự án dòng chính.
  • Phát hành sản phẩm Linux Việt phiên bản V 1.1 Vi, giả sử, cho 1 triệu người sử dụng Việt Nam với nhân Linux Quốc tế phiên bản V 1.1 với các tùy biến cho người Việt Nam sử dụng.
Tiếp đến, Quỹ Linux, với sự tham gia của 226 công ty cùng với hơn 1.300 lập trình viên trên toàn thế giới tiếp tục việc phát triển nhân Linux Quốc tế, bây giờ đã có thêm cả công ty Linux Việt là 227 công ty cùng tham gia đóng góp cho nhân Linux Quốc tế, với mã nguồn của bộ gõ tiếng Việt do công ty Linux Việt vừa đóng góp NLDT về cho nhân Linux Quốc tế. Sau khoảng 70 ngày kể từ phiên bản V 1.1 ra đời, Linux Quốc tế phiên bản V 1.2 được phát hành.
Tại thời điểm này, giả thiết trong nhân Linux Quốc tế phiên bản V 1.2 đã bao gồm các tùy biến bộ gõ mà công ty Linux Việt đã đóng góp NLDT, vì thế sẽ không có khó khăn nào cho những người sử dụng Việt Nam để cài đặt sử dụng Linux Quốc tế phiên bản V 1.2 đã bao gồm bộ gõ tiếng Việt này.
Cũng tại thời điểm này, Công ty Linux Việt lại tải về kho mã nguồn đó, áp dụng các bản vá của phiên bản đó, tùy biến phiên bản đó, ví dụ, bổ sung thêm 3 tính năng mới, bỏ bớt 1 tính năng cũ và sửa đổi 2 tính năng cũ cho bộ gõ tiếng Việt cho phiên bản đó, tiến hành kiểm thử rồi cùng một lúc lại làm 2 việc sau:
  • Đóng góp NLDT các mã nguồn tùy biến của công ty Linux Việt với sản phẩm Linux Việt phiên bản V 1.2 Vi về với cây phát triển dự án dòng chính.
  • Phát hành sản phẩm Linux Việt phiên bản V 1.2 Vi, giả sử, tiếp tục cho 1 triệu người sử dụng Việt Nam với nhân Linux Quốc tế phiên bản V1.2 đã có những tùy biến cho người Việt Nam sử dụng từ phiên bản Linux Việt V 1.1 cùng với 3 tính năng mới, bỏ bớt 1 tính năng cũ và sửa đổi 2 tính năng cũ vừa nêu trên.
Giả thiết khi Linux Quốc tế tiếp tục phát triển và phát hành Linux Quốc tế phiên bản V 1.3 và cộng đồng và công ty Linux Việt không còn tùy biến gì thêm với bộ gõ tiếng Việt nữa, thì khi công ty Linux Việt phát hành Linux Việt phiên bản V 1.3 cho 1 triệu người Việt Nam sử dụng, sẽ không còn khó khăn cho những người sử dụng Việt Nam đối với phần mềm bộ gõ đó nữa, còn công ty Linux Việt thì không còn phải lo lắng tích hợp phần mềm bộ gõ đó mỗi khi có phiên bản mới của Linux Quốc tế ra đời cũng như không phải duy trì kho mã nguồn của phần mềm bộ gõ đó cho những phiên bản cũ của Linux Quốc tế nữa vì tất cả các mã cho mọi phiên bản đã được tích hợp hoàn toàn vào nhân Linux Quốc tế dòng chính rồi.
Và tiến trình các công việc tải về, tùy biến, kiểm thử, NLDT cứ thế lặp đi lặp lại với mỗi phiên bản mới phát hành của Linux Việt đối với Linux Quốc tế dòng chính. Bằng cách này, chúng ta lưu ý thấy một số điểm cơ bản sau:
  • Việc phát triển PMTDNM của cộng đồng các lập trình viên Việt Nam đi đúng với định nghĩa về phát triển PMTDNM, đó là, cùng song song đồng thời với sự phát triển PMTDNM của thế giới, đấu tranh để những đặc thù của Việt Nam được nằm trong sản phẩm PMTDNM của thế giới. Nói là 'đấu tranh', vì không phải các mã đặc thù do cộng đồng các lập trình viên Linux Việt phát triển cho bộ gõ tiếng Việt như trong giả thiết ở đây, là đương nhiên được đưa vào trong nhân Linux Quốc tế, mà để làm được điều đó, cộng đồng các lập trình viên Linux Việt phải tuân thủ những qui tắc phát triển nghiêm ngặt của nhân Linux Quốc tế, như trong tài liệu “Hiểu biết về mô hình phát triển nguồn mở” được nêu ở trên.
  • Việc đóng góp mã nguồn NLDT, trong trường hợp cụ thể này, không phải là vì người ta, mà là vì chính cộng đồng những người sử dụng Việt Nam và vì chính công ty Linux Việt cũng như các công ty khác (nếu có) có các sản phẩm khác được phát triển để chạy với Linux Việt.
  • Khoảng thời gian giữa 2 lần phát hành phiên bản Δt càng ngắn bao nhiêu thì càng tốt bấy nhiêu, theo đúng phương châm của sự phát triển của PMTDNM, đó là: “phát hành sớm, phát hành thường xuyên”. Điều này sẽ giúp đổi mới sáng tạo là liên tục từng chút một, sự phát triển là tích cực, và trong trường hợp có lỗi, thì việc quay lại với trạng thái an toàn trước đó là nhanh nhất nhất có thể.
  • 1 triệu người sử dụng sản phẩm Linux Việt yên tâm cứ mỗi lần có phiên bản Linux Quốc tế được phát hành thì có thể sử dụng được luôn cùng với những tính năng đặc thù Việt Nam được tích hợp ngay vào sản phẩm Linux Quốc tế.
  • Cộng đồng và công ty Linux Việt không lo phải tự duy trì kho mã nguồn sẽ ngày càng lớn dần lên cho từng phiên bản của Linux Việt, cùng với nó là rủi ro bị mất phương hướng, sau một thời gian đủ dài, so với các phiên bản của Linux Quốc tế, một cách tương ứng.
Điều gì sẽ xảy ra nếu cộng đồng và công ty Linux Việt không NLDT, mà tải về kho mã nguồn Linux Quốc tế dòng chính đó về rồi đóng nó lại, tự phát triển trong vòng 2 năm cho 1 triệu người Việt Nam sử dụng? Chúng ta sẽ xem xét điều này như trong Hình 2.
Hình 2 cho chúng ta thấy, khi Linux Quốc tế được phát hành ở phiên bản V 1.1, công ty Linux Việt đã tải kho mã nguồn đó về, họ cũng áp dụng các bản vá và tiến hành các tùy biến, ví dụ, đưa phần mềm bộ gõ tiếng Việt vào phiên bản đó, tiến hành kiểm thử rồi sau đó chỉ làm một hành động duy nhất là đưa vào trong cây phát hành sản phẩm của Linux Việt, hoàn toàn không có việc NLDT để đóng góp lại mã nguồn của phần mềm bộ gõ tiếng Việt, một đặc thù của cộng đồng những người Việt Nam, vào dự án gốc Linux Quốc tế.
Nếu cộng đồng và công ty Linux Việt làm điều này, thì có thể có những hậu quả như sau:
  • Ngay tại thời điểm có quyết định đóng lại kho mã nguồn để tự làm, cho dù về mặt pháp lý là không sai khi tải về (chứ không phải sau khi tùy biến rồi phát hành sản phẩm tùy biến đó, nếu giấy phép phần mềm gốc yêu cầu phải công bố mã nguồn sản phẩm khi phát hành), cộng đồng và công ty Linux Việt sẽ không còn có được sự đóng góp của cộng đồng với 226 công ty và hơn 1.300 lập trình viên trên khắp thế giới nữa. Cùng với việc này, những vấn đề sau đây sẽ xảy ra:
  • Kho mã nguồn mà cộng đồng và công ty Linux Việt tải về sẽ trở thành một phiên bản rẽ nhánh của dự án Linux Quốc tế.
  • Bất kỳ khi nào Linux Quốc tế phát hành phiên bản mới, cộng đồng và công ty Linux Việt rất nhiều khả năng sẽ phải tùy biến lại những gì đã từng tùy biến cho những phiên bản trước đó của Linux Quốc tế, bên cạnh những tùy biến mới với những tính năng mới cho từng phiên bản Linux Quốc tế. Điều này làm gia tăng sự phức tạp và độ lớn kho mã nguồn mà cộng đồng và công ty Linux Việt phải điều hành và quản lý. Với thời gian, kho mã nguồn phải tự quản này sẽ trở thành gánh nặng lớn cho cộng đồng và công ty Linux Việt, mà trên thế giới, những tổ chức phát triển phần mềm khổng lồ cũng đã từng mắc phải và đã phải chào thua để quay về với mô hình đúng, có NLDT để đóng góp ngược lại cho Linux Quốc tế như được phân tích ở trên. Những tổ chức đó bao gồm cả Google, Microsoft và có thể cả Chính phủ Trung Quốc như những ví dụ rất gần đây chỉ ra.
Hình 2. Phát triển rẽ nhánh, không đóng góp ngược lên dòng trên cho dự án dòng chính
  • Vì hiện thời cứ khoảng 70 ngày thì Linux Quốc tế sẽ được phát hành một phiên bản mới, đồng nghĩa với việc nếu trong vòng 2 năm không có NLDT, thì phiên bản đóng lại đó của cộng đồng và công ty Linux Việt sẽ lạc hậu 10 phiên bản nhân so với của Linux Quốc tế.
  • Vì hiện nay cứ khoảng 12 tháng thì phần cứng máy tính và các thiết bị ngoại vi sẽ thay đổi một chu kỳ vòng đời của nó, đồng nghĩa là sau 2 năm không có NLDT, thì phiên bản đóng lại đó của cộng đồng và công ty Linux Việt sẽ lạc hậu 2 chu kỳ vòng đời về phần cứng.
  • Vì hầu hết các trình điều khiển phần cứng và các thiết bị ngoại vi đều nằm trong nhân Linux, đồng nghĩa với việc sau 2 năm, 1 triệu người sử dụng Việt Nam đang sử dụng phiên bản rẽ nhánh Linux Việt không có NLDT có rất nhiều khả năng sẽ không thể nâng cấp được để chạy, ví dụ như các máy tính và các thiết bị ngoại vi mới, được xuất xưởng vào năm 2015-2016 vì phần mềm Linux Việt sẽ không có các trình điều khiển để có thể cài đặt được lên các phần cứng và các thiết bị ngoại vi mới đó.
  • Hệ quả là, cộng đồng và công ty Linux Việt hoàn toàn bị mất phương hướng và 1 triệu người sử dụng Việt Nam được nêu ở trên có nhiều khả năng sẽ phải từ bỏ hoàn toàn Linux Việt không được phát triển theo đúng mô hình có NLDT đó.
Nhu cầu sửa đổi chính sách mua sắm công nghệ thông tin (CNTT) dựa vào dịch vụ
Để khuyến khích phát triển và ứng dụng PMTDNM, có nhu cầu phải điều chỉnh chính sách mua sắm CNTT trong các cơ quan nhà nước. Điều này xuất phát từ chính mô hình phát triển của PMTDNM và những thực tế hiện nay của các công ty PMTDNM. Cụ thể là, chính sách đó sẽ khuyến khích các công ty CNTT cung cấp các dịch vụ xung quanh sản phẩm PMTDNM của chung cộng đồng, chứ không phải khuyến khích các công ty bán trực tiếp các sản phẩm PMTDNM.
Theo ví dụ được trình bày ở đây với Linux Việt, có thể đặt ra câu hỏi: Liệu một chính sách chỉ khuyến khích bán sản phẩm, không khuyến khích bán dịch vụ, thì các công ty như Linux Việt đang tồn tại bằng việc bán sản phẩm phần mềm Linux Việt có đúng hay không? Phát triển và ứng dụng PMTDNM ở Việt Nam có phát triển được hay không?
Dù vẫn có mã nguồn, kể cả các phần tùy biến đối với nhân Linux Quốc tế, được treo trên Interrnet như để tuân thủ giấy phép GPLv2 của nhân Linux yêu cầu, và dù mã nguồn đi kèm sản phẩm Linux Việt vẫn được phát hành mỗi khi công ty Linux Việt phân phối/bán sản phẩm Linux Việt cho khách hàng bất kỳ, dù là nhà nước - doanh nghiệp - tư nhân, đều không sai vì không có qui định nào của thế giới PMTDNM cấm kiếm tiền bằng việc mua bán này.
Tuy nhiên, sẽ không khó để thấy một bất cập lớn ở đây, khi mọi người đều thấy rằng:
  • Một công ty bán lẻ (reseller) một sản phẩm tương tự, ví dụ như hệ điều hành Windows cho các khách hàng tương tự như được nêu ở trên, thì công ty đó thông thường sẽ phải trả ít nhất khoảng 60% số tiền bán được cho Microsoft, chủ sở hữu của Windows. Trong khi đó, công ty như Linux Việt có thể sẽ hưởng 100% số tiền bán được từ sản phẩm Linux Việt, trong khi có thể công ty không đóng góp bất kỳ thứ gì, bất kỳ 1 dòng mã lệnh nào ngược trở về cho dự án Linux Quốc tế dòng chính. Kể cả trong trường hợp cộng đồng và công ty như Linux Việt có lý do có thể chính đáng hơn cho việc hưởng 100% số tiền bán sản phẩm Linux Quốc tế là công ty có NLDT và đóng góp về cho dự án Linux Quốc tế dòng chính, thì đóng góp đó chắc chắn sẽ là vô cùng nhỏ so với số lượng hơn 15 triệu dòng mã lệnh như hiện nay của nhân Linux Quốc tế. Điều này có khả năng đồng nghĩa với việc các công ty như Linux Việt đang không bán sản phẩm của mình, mà bán sản phẩm của cộng đồng với hơn 1.300 lập trình viên và 226 công ty trên thế giới như trong trường hợp cụ thể này, nhưng lại hưởng tất cả số tiền bán hàng và hầu như không có đóng góp gì trở ngược lại cho cộng đồng. Để khắc phục điều bất cập này, doanh nghiệp nên chọn cho mình con đường đóng góp NLDT cho dự án gốc dòng chính và bán các dịch vụ xung quanh sản phẩm PMTDNM của cộng đồng, không bán (các) sản phẩm PMTDNM không phải của mình.
  • Điều này cũng chỉ ra một nhu cầu cấp bách để Chính phủ sửa đổi chính sách mua sắm CNTT của các cơ quan nhà nước từ dựa vào sản phẩm sang dựa vào dịch vụ, cách tốt nhất để khuyến khích phát triển và ứng dụng PMTDNM tại Việt Nam. Không có một chính sách như vậy, sẽ buộc các doanh nghiệp PMTDNM phải lách luật, phần lớn sẽ dẫn tới làm sai và đặc biệt, không khuyến khích họ đóng góp NLDT về các dự án dòng chính, cho dù điều đó là vì lợi ích của chính họ và những người sử dụng Việt Nam, kể cả trong khu vực nhà nước. Đáng tiếc, dù chính sách mua sắm dịch vụ đối với PMTDNM ở Việt Nam đã được đề cập tới từ vài năm trước, như (1) định mức chi cho việc triển khai áp dụng và (2) định mức chi cho phát triển PMTDNM, thì chúng tới bây giờ vẫn chưa thành hiện thực.
  • Trong thực tế, nhiều quốc gia đã khẳng định trong chính sách của Chính phủ rằng PMTDNM là một mô hình dịch vụ, như chính sách mới nhất của chính phủ Pháp, ra ngày 19/09/2012 về “Ứng dụng phần mềm tự do trong các cơ quan nhà nước Pháp”.
  • Nếu như điều nêu trên chủ yếu có liên quan tới các doanh nghiệp, thì đối với người mua, như OSS Watch, một cơ quan tư vấn của Văn phòng Nội các Chính phủ Anh về PMTDNM, đã nêu rằng, với tư cách của người mua, bạn không trả tiền cho giấy phép để sử dụng phần mềm, mà trả tiền cho các dịch vụ xung quanh PMNM đó trong một gói thương mại như: (1) Trợ giúp chuyên nghiệp từ công ty; (2) Đầu vào cho các tính năng mới bạn muốn; (3) Kiểm thử sản phẩm, sửa lỗi nhanh và vòng đời được biết trước theo ý của bạn; (4) Bổ sung chức năng mới; (5) Một giải pháp với phần cứng và phần mềm được tích hợp, thay vì chỉ là phần mềm; (6) Các nền tảng chi phí thấp cho các sản phẩm sở hữu độc quyền.
  • Điều quan trọng hơn để nêu ở đây, là nếu phát triển PMTDNM không có việc NLDT như hiện nay ở Việt Nam, khi mà gần như tất cả 100% các dự án PMTDNM sẽ là các phiên bản rẽ nhánh của các dự án PMTDNM quốc tế, thì có thể dẫn tới “cái chết hệ thống” đã được báo trước, rất có thể vào năm 2016 chứ không phải là ngay bây giờ, khi mà các phiên bản rẽ nhánh đó có đủ thời gian để bị lệch xa khỏi dự án dòng chính và bị mất phương hướng, gây hại cho các các đơn vị phát triển và những người sử dụng (các) sản phẩm PMTDNM đó, trong khi các công ty Việt Nam thì không đủ lực để tự điều hành và quản lý các kho mã nguồn của phiên bản rẽ nhánh ngày một gia tăng. Lưu ý là, có hơn 1.300 lập trình viên với 226 công ty trên toàn thể giới tham gia đóng góp cho dự án Linux Quốc tế, gợi ý rằng nếu ai đó bảo vệ cho lý lẽ của các dự án rẽ nhánh hiện nay của Việt Nam, thì cần có con số các lập trình viên đủ đông và đủ tinh thông mới có đủ sức thuyết phục được.
Nhu cầu phát động ít nhất là toàn bộ khu vực giáo dục công lập và các cơ quan nhà nước sử dụng PMTDNM
Tài liệu “Hiểu biết về mô hình phát triển nguồn mở” cho chúng ta thấy rằng với mô hình phát triển PMTDNM không chỉ cộng đồng các lập trình viên, mà cả cộng đồng những người sử dụng, cũng tham gia vào trong tiến trình phát triển PMTDNM. Họ cũng là những người tham gia vào việc đưa ra các yêu cầu tính năng, các báo cáo lỗi và một số công việc khác cần thiết cho dự án PMTDNM.
Hình 3. Cộng đồng những người sử dụng cũng tham gia vào tiến trình phát triển PMTDNM
Điều quan trọng khác được rút ra từ các tài liệu được nêu ở trên, rằng những người tham gia đóng góp cho dự án PMTDNM được sinh ra từ những người sử dụng tích cực PMTDNM đó của cộng đồng. Tương tự như vậy, những người đóng góp mà những đóng góp của họ có ảnh hưởng lớn tới sự phát triển của dự án và bản thân PMTDNM đó, thì họ sẽ có khả năng để trở thành những người đệ trình (commiter) và/hoặc những người lãnh đạo của dự án. Nói một cách khác là: nếu không có những người sử dụng, thì sẽ không có những người đóng góp và vì thế cũng không có những người lãnh đạo, và vì thế, cuối cùng, sẽ không có PMTDNM đó được tồn tại và duy trì bền vững.
Điều này cho thấy rằng người sử dụng PMTDNM càng nhiều càng tốt, vì họ chính là những người có khả năng trở thành những người đóng góp tích cực trong tương lai cho dự án PMTDNM. Nếu áp dụng điều này vào Việt Nam, không khó để thấy rằng, PMTDNM sẽ phát triển được tốt nhất là trong khu vực giáo dục, nơi mà tại Việt Nam có tới hơn 20 triệu người, chiếm tới khoảng 1/4 dân số Việt Nam, hàng ngày đang sống và làm việc tại đây và họ là lớp những người có tri thức nhất để ứng dụng và phát triển PMTDNM thành công. Ngoài khu vực giáo dục ra, cùng với nhu cầu bảo vệ thông tin - dữ liệucác hệ thống CNTT-TT, khu vực các cơ quan nhà nước cũng là một khu vực ưu tiên sử dụng PMTDNM.
Với 3 loại người có liên quan tới một dự án PMTDNM được nêu ở trên, gồm: (1) người sử dụng; (2) người đóng góp; và (3) người lãnh đạo, thì một tổ chức và/hoặc công ty cần vạch ra đường lối chiến lược cho mình để khuyến khích phát triển và ứng dụng PMTDNM, tương ứng với 3 nhóm người này. Xem chi tiết về các hoạt động trong từng chiến lược được phác thảo cho từng loại người ở trên trong tài liệu: “Thiết lập chiến lược phần mềm nguồn mở: Những cân nhắc chính và những khuyến cáo chiến thuật” như được nêu ở trên.
Ví dụ điển hình về phát triển PMTDNM hướng tới sự bền vững ở Việt Nam
Còn có rất ít dự án PMTDNM ở Việt Nam phát triển theo đúng mô hình bền vững đã được nêu trong bài viết này. Tuy nhiên, có thể nêu ra đây một vài ví dụ về chúng, dù mới ở mức sơ khai như:
  • Dự án ibus-bogo, với sản phẩm là phần mềm bộ gõ tiếng Việt, với các lập trình viên chủ chốt từ nhóm “Không gian cộng đồng”, một cộng đồng các lập trình viên tự nguyện và được sự hỗ trợ của công ty iway Việt Nam - một thành viên của Câu lạc bộ PMTDNM Việt Nam (VFOSSA), là một dự án PMTDNM hướng tới sự bền vững. Hiện phần mềm ibus-bogo đang được tích hợp và kiểm thử trong hệ điều hành nguồn mở GNU/Linux Fedora phiên bản v18 và sẽ trở thành bộ gõ tiếng Việt mặc định của hệ điều hành này từ phiên bản v.19 trở đi.
Hình 4. Dự án ibus-bogo trên kho các PMTDNM GitHub và trên trang của cộng đồng Fedora.
  • Dự án OpenRoad, có nguồn gốc là một chuyển giao công nghệ từ Trung tâm Công nghệ Mở, Đại học Carnegie Mellon Úc theo chương trình hợp tác giữa Đại học này với Văn phòng CNTT - Vụ Công nghệ Cao - Bộ Khoa học & Công nghệ, được tiến hành chuyển giao từ đầu năm 2013. Đây cũng là dự án đầu tiên có đủ 4 thành phần trong hệ sinh thái PMTDNM: (1) Đại diện khu vực nhà nước là Văn phòng CNTT - Vụ Công nghệ Cao - Bộ KHCN; (2) Đại diện khối viện trường hàn lâm là Đại học Hoa Sen; (3) & (4) Đại diện khu vực tư nhân và cộng đồng các lập trình viên PMTDNM là Công ty Tin học Lạc Tiên và Công ty Netnam, cả 2 đều là các công ty của Câu lạc bộ PMTDNM Việt Nam (VFOSSA);
Hình 5. Ví dụ về dự án PMTDNM OpenRoad.
Đặc điểm dễ nhận thấy của 2 dự án nêu trên là, ngoài website của dự án ra, chúng đều được mở trên GitHub, một trong những kho chứa nổi tiếng các dự án PMTDNM trên thế giới, gần giống như với SourceForgeGoogle Code, những kho mà cung cấp hàng loạt các công cụ hỗ trợ cho việc điều hành và quản lý một dự án PMTDNM, với những phần mềm quản lý mã nguồn và phiên bản như Git, Subversion, CVS hoặc các phần mềm tương đương khác để hỗ trợ cho các công việc làm việc trực tuyến, phân tán và cộng tác với các lập trình viên nằm rải rác ở các vùng địa lý khác nhau trên toàn thế giới; hoặc với các trang wiki để giúp các thành viên cộng đồng cùng cộng tác xây dựng các tài liệu cho dự án.
Một ví dụ khác được nêu tên trong bài viết này là dự án hệ quản trị nội dụng NukeViet. Điều khác biệt là dự án này có lẽ là duy nhất tại thời điểm này có được một cộng đồng có tới 28.000 thành viên là những người sử dụng trong khu vực giáo dục, với hầu hết các thành viên của nó đều là các sinh viên đại học ở khắp nơi trên cả nước. Ông giám đốc công ty VINADES, công ty đứng đằng sau hỗ trợ cho cộng đồng NukeViet cho biết, ngoài 16 lập trình viên chính, còn có khoảng gấp 10 lần con số đó là các lập trình viên từ khoảng 50 công ty đang cung cấp dịch vụ cho NukeViet cho các khách hàng khác nhau. Hy vọng rằng các lập trình viên từ 50 công ty đó đều thực hiện việc NLDT, đóng góp mã tùy biến của họ ngược về kho mã nguồn chung của dự án NukeViet, và bằng cách đó sẽ làm tăng sức mạnh của NukeViet lên gấp nhiều lần, với gần 200 lập trình viên cho cả cộng đồng. Có thể làm một phép so sánh khá khập khiễng như sau: điều gì sẽ xảy ra nếu như hơn 1.300 lập trình viên dự án nhân Linux Quốc tế từ 266 công ty không làm việc cộng tác cùng nhau, mà mỗi công ty đều có bản rẽ nhánh nhân Linux của mình? Giả sử lấy 1.300 lập trình viên chia đều cho 266 công ty, thì mỗi bản rẽ nhánh có thể chỉ còn ... gần 5 lập trình viên. Với con số này, chắc chắn Linux Quốc tế đã không phải là nhân Linux hùng mạnh như bây giờ.
Hình 6. Cộng đồng NukeViet sau 9 năm hoạt động.
Lời kết
Mô hình phát triển PMTDNM là dựa vào cộng đồng, nó hoàn toàn khác với mô hình phát triển của phần mềm nguồn đóng, sở hữu độc quyền - chỉ dựa vào công ty phát triển. Để phát triển và ứng dụng được tốt PMTDNM trong thời gian sắp tới, rất cần có sự điều chỉnh về chính sách của nhà nước, có tính tới những đặc thù của mô hình phát triển của PMTDNM. Sẽ rất hữu dụng để tham khảo các chính sách gần đây như của chính phủ Anh về “Bắt buộc sử dụng các tiêu chuẩn mở trong mua sắm CNTT của chính phủ” hoặc của chính phủ Pháp về “Ứng dụng phần mềm tự do trong các cơ quan nhà nước Pháp”, để chuyển dần chính sách mua sắm CNTT của các cơ quan nhà nước Việt Nam, từ mua sắm dựa vào sản phẩm sang mua sắm dựa vào dịch vụ và các tiêu chuẩn mở để tạo ra sân chơi bình đẳng cho các doanh nghiệp với các kích cỡ khác nhau, loại mô hình kinh doanh và phát triển phần mềm khác nhau.
Đối với các doanh nghiệp PMTDNM và các cơ quan nhà nước sử dụng các giải pháp PMTDNM, rất cần thiết phải tuân thủ theo mô hình phát triển PMTDNM để phát huy được các điểm mạnh của chúng, và tránh được “cái chết hệ thống”, rất có thể sẽ tới vào năm 2016.
Để tránh những vấn đề có liên quan tới an ninh thông tin - dữ liệu và bản thân các hệ thống thông tin, cùng với việc sau ngày 08/04/2014 sẽ không còn các hỗ trợ nào cho Microsoft Windows XP SP3 và Microsoft Office 2003 trên toàn cầu, rất nên có chính sách bắt buộc sử dụng PMTDNM, ít nhất là trong giáo dục công lập ở tất cả các cấp học và trong các cơ quan nhà nước. Đằng nào cũng phải chuyển khỏi Windows XP, thì tốt nhất nên chuyển sang hệ điều hành GNU/Linux để không bao giờ phải phụ thuộc vào nhà cung cấp độc quyền duy nhất nữa. Đây chính là một cơ hội không phải lúc nào cũng có. Để thực hiện được điều này, thì rất nên có những chế tài mạnh đi kèm với chính sách ứng dụng và phát triển PMTDNM.
Và cuối cùng, nhưng là điều quan trọng nhất hiện nay, là phải xây dựng được cộng đồng các dự án PMTDNM theo đúng triết lý và pháp lý của PMTDNM, theo mô hình phát triển mở, để thu hút càng nhiều người sử dụng, và vì thế, đóng góp từ bên ngoài cho dự án càng tốt.
Trần Lê
Bài đăng trên tạp chí Tin học & Đời sống, số tháng 05/2013, trang 58-63.

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.