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: Tăng cường cho sự phát triển nguồn mở.
- 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ó.
- 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
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.
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ệu và cá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 SourceForge
và Google 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.