(NHQ – Dịch và giới thiệu)
Sự hỗ trợ cho các chương trình máy tính là một vấn đề then chốt. Trong Tin học nói chung và đặc biệt với nguồn mở.
Vậyhỗ trợ là gồm những gì? Đó là khả năng đem lại sự trợ giúp trong việcsử dụng chương trình và sửa chữa chương trình trong trường hợp có lỗi.
Sựhỗ trợ có thể dành cho người sử dụng cuối, như cho những người khaithác chương trình, hoặc còn dành cho những lập trình viên làm việc trênchương trình đó.
Sựtriển khai các chương trình cho các tác vụ quan trọng, đặc biệt trongcác doanh nghiệp, tuyệt đối đòi hỏi có sự hỗ trợ, bởi vì nguy cơ củamột tình huống bế tắc là quá quan trọng, dù cho sự bế tắc này có nguyênnhân từ một sự bất thường hay do một sai sót sử dụng, cấu hình, khôngtương thích, v.v...
Vấnđề hỗ trợ là một chủ đề nhạy cảm với phần mềm nguồn mở. Thứ nhất vì cómột sự khác biệt nền tảng, với các sản phảm nguồn gốc cộng đồng, giữasự hỗ trợ cộng đồng và sự hỗ trợ của nhà xuất bản phần mềm. Thứ đến cònbởi vì các nhà xuất bản phần mềm sở hữu muốn làm mọi người tin rằng sựhỗ trợ là một điểm yếu của phần mềm nguồn mở.
Quảlà giấy phép nguồn mở nói chung đều chứa ghi chú bằng chữ lớn: PHẦN MỀMNÀY ĐƯỢC CUNG CẤP TRÊN HIỆN TRẠNG, KHÔNG BẢO ĐẢM, v.v... Và vì thế, sẽthật không bình thường để đòi hỏi bất cứ điều gì với tác giả chươngtrình, người đã cho phép sử dụng công trình của anh ta. Nhưng đôi khingười ta quên mất rằng sự thiếu bảo đảm cũng là điều khoản thường đượcghi rõ trong các giấy phép sở hữu.
Vềhỗ trợ nguồn mở, cần phải phân biệt hai thế giới: các sản phẩm cộngđồng một bên, và các sản phẩm của các nhà xuất bản phần mềm thương mạibên kia.
Các sảnphẩm cộng đồng (Linux, Apache, PHP, …) được hưởng trước hết sự hỗ trợcủa cộng đồng. Có nghĩa là hỗ trợ dựa trên sự tự nguyện của các nhàphát triển có liên quan, họ trả lời cho các câu hỏi của người sử dụngtrên các danh sách thư điện tử (mailing-lists) và các diễn đàn(forums).Và cũng dựa trên sự theo dõi và xử lý các bất thường trên cáchệ nền phát triển của cộng đồng.
Khicộng đồng hoạt động tích cực, như trường hợp với các sản phẩm lớn, sựhỗ trợ cộng đồng này có thể rất hiệu quả, rất nhạy bén, cao hơn nhiềuso với hỗ trợ thương mại. Nhưng một số người sử dụng vẫn còn lo âu vìnó không có bảo đảm, rằng người ta không thể buộc tội ai nếu một vấn đềkhông được giải quyết. Trong thực tế, phần lớn các hỗ trợ của các nhàxuất bản thương mại cũng không có bảo đảm kết quả.
Ngoàikhía cạnh cộng đồng, còn có vấn đề về sự đa dạng sản phẩm. Một hệ thôngthông tin thường có thể bao hàm đến hơn chục sản phẩm khác nhau trongchồng phần mềm: Linux, Apache, Tomcat,MySql, Hibernate, … Khi một vấn đề xảy ra, cần phải đề cập đến cái nào?Các khách hàng chuyên nghiệp yêu cầu có một người đối thoại duy nhất,để đảm trách những mức hỗ trợ đầu tiên.
Từrất sớm trong sự phát triển của nguồn mở, các tác nhân thương mại đãđáp ứng cho yêu cầu hỗ trợ này. Đó là sự định vị của các 'nhà phânphối' như RedHat hay Mandriva, nhưng cũng có cả các Cty dịch vụ phầnmềm tự do ở Pháp như Alcove, Linagora hay OpenWide.
Vềphía các nhà xuất bản nguồn mở (MySql, eZ Publish, TinyERP), câu hỏilại khác: nhà xuất bản là một Cty thương mại và mô hình kinh doanh củanó được dựa chủ yếu trên sản phẩm hỗ trợ. Vì thế ở đây, lực lượng hỗtrợ là rất giống với lực lượng này của các sản phẩm sở hữu. Tuy nhiênsẽ không giống nhau y hệt vì song song, và bù đắp cho hỗ trợ trả phícủa nhà xuất bản, thường luôn tồn tại một hỗ trợ cộng đồng, ít nhiềusống động tùy theo sản phẩm.
Nhưng thông thường, những sửa chữa động đến mã nguồn thì chỉ được nhà xuất bản đảm trách.
Vớicác nhà xuất bản nguồn mở thương mại mới, sự hỗ trợ sản phẩm là nềntảng của mô hình kinh doanh, đó là lý do sống còn, là nguồn thu nhậpduy nhất của họ. Vì thế chúng ta có thể chờ đợi một sự hỗ trợ chấtlượng cao, bao gồm các tùy chọn phong phú về tính nhaỵ bén.
Trước tiên hãy nhắc lại định nghĩa thông thường về các mức hỗ trợ
Mức1: một thao tác viên không chuyên gia tiếp nhận yêu cầu, ghi nhận vấnđề vào một công cụ theo dõi, và tra cứu các mệnh lệnh đơn giản để thửchữa lỗi.
Mức2: một kỹ thuật viên chuyên gia trên một số lĩnh vực phân tích yêu cầu,làm những chẩn đoán ban đầu của vấn đề. Anh ta giải quyết vấn đề hoặctìm ra cách tránh lỗi trong khả năng chuyên môn, hoạc nếu không được,chuyển hướng sang một nhà chuyên môn phù hợp.
Mức 3: sự can thiệp của chuyên gia chuyên môn hóa đem đến sự sửa chữa cuối cùng.
Một sửa chữa động đến mã nguồn của một chương trình chỉ có thể được làm ở mức 3.
Tấtnhiên, một qui tắc chung về hỗ trợ là cần phải giới hạn các can thiệp ởmức thứ nhất, nếu có thể chỉ có một người đên mức 2, là người đảm nhiệmviệc trỏ đến chuyên gia chuyên môn hóa.
Hình vẽ sau đây thể hiện điều đó.
Trong phần tiếp theo, chúng ta phân biệt 4 lớp của một hệ nền nguồn mở:
Hệđiều hành GNU/Linux. Mức 3 chỉ có thể được bảo đảm bởi các cộng đồng(Debian), hoặc bởi các nhà phân phối chuyên môn hóa (RedHat, Mandriva).
Cácthành phần hệ thống khác nhau, thông thường được bao hàm trong các phânphối, ví dụ đặc trưng là Apache hay Tomcat. Những thành phần này nóichung cũng được hỗ trợ ở mức 3 bởi các cộng đồng, thí dụ cộng đồng củaApache Software Foundation.
Cácgiải pháp bậc cao của các nhà xuất bản nguồn mở, thí dụ đặc trưng eZPublish, TinyERP hoặc Alfresco. Các giải pháp này thì chỉ có thể do nhàxuất bản hỗ trợ ở mức 3.
Cuốicùng, các mô-đun ứng dụng đặc thù, hoặc các cấu hình phức tạp của cácứng dụng này. Đó có thể chẳng hạn một ứng dụng nghề nghiệp hoàn toànđặc thù, được xây dựng trên một khuôn khổ nguồn mở, hoặc là các bộkhung mẫu hoặc các mở rộng của một công cụ quản lý nội dung. Thôngthường chúng được thực hiện bởi một nhà tích hợp giải pháp nguồn mở,nhưng đôi khi cũng có thể do một ê-kíp của khách hàng cuối thực hiện.Tất nhiên, dù kiểu gì, thì người thực hiện các mô-đun hay cấu hình nàylà ứng viên tốt nhất để đảm đương hỗ trợ mức 3.
Rõràng rằng tính ổn định sẽ tăng dần từ dưới lên giữa 4 lớp này: các lỗitrong Apache đã là hiếm hoi, nhưng lỗi của Linux còn hiếm hơn nữa. Cácgiải pháp bậc cao không có độ khỏe mạnh (robustness) bằng Apache, nhưngxác suất lỗi mạnh nhất là ở trong các phát triển đặc thù, đơn giản vìchúng có lượng người sử dụng hạn chế và tuổi đời thấp hơn các lớp trên.
Điều đó thể hiện trong hình sau đây:
Lớp ứng dụng | Lực lượng người sử dụng và độ trưởng thành | Xác suất lỗi |
Nhưvậy rõ ràng rằng nhu cầu hỗ trợ cho các lớp trên là mạnh hơn. Nếu cómột đối tác duy nhất, thì đương nhiên đó phải là người có thể can thiệpvào các lớp này.
Hìnhvẽ sau đây mô tả trường hợp người ta sử dụng các sản phẩm nguồn mở nhưhiện trạng, với không hoặc rất ít cấu hình. Đó là trường hợp đặc trưngcủa việc triển khai bộ phần mềm OpenOffice.
Nếucấu hình bao hàm một sản phẩm của một nhà xuất bản ngoài các sản phẩmcủa cộng đồng, và cũng không cần cấu hình đặc thù,thì khách hàng có thểliên hệ trực tiếp đến nhà xuất bản cho các mức hỗ trợ 1, 2 và 3 với sảnphẩm của họ, và liên hệ với nhà phân phối với các lớp dưới. Hiếm khi cónhà xuất bản mong muốn đảm nhiệm hỗ trợ mức 1 và 2 ngoài sản phẩm củahọ, trên toàn bộ cấu hình.
http://lh4.ggpht.com/_3yryf1jdefs/SxsS4VQDMqI/AAAAAAAAA20/LPWvOvNV5GU/s800/4e.jpg
Saucùng, một số nhà cung cấp dịch vụ đưa ra dịch vụ đảm bảo hỗ trợ tổngthể nhiều sản phẩm ở các mức hỗ trợ 1 và 2. Đó là nghề chính yếu củamột số hãng dịch vụ phần mềm nguồn mở, song một số hãng dịch vụ tíchhợp đa năng cũng có thể chào hàng dịch vụ này.
Hiếmkhi có một trong số các hãng dịch vụ nói trên có trình độ chuyên môncần thiết để đảm đương mức hỗ trợ 3 trên tất cả các thành phần hệthống, nhưng họ có thể có được tay nghề cần thiết cho một vài thứ trongsố các thành phần này.
Hìnhvẽ sau đây biểu thị trường hợp trong đó khác hàng sử dụng một ứng dụngđặc thù,hoặc một cấu hình phức tạp của một giải pháp nguồn mở của mộtnhà xuất bản, mà một nhà tích hợp giải pháp nguồn mở đã làm riêng chohọ.
Trong trường hợpnày, nhà tích hợp trong phần lớn trường hợp sẽ đảm nhiệm hỗ trợ mức 1và 2, và họ sẽ nhờ các chuyên gia thích hợp để cho mức hỗ trợ 3.
Cũngcó thể xảy ra tình huống khách hàng có nhiều cấu hình khác nhau, nhưngdựa trên cùng các lớp thấp, họ có thể sẽ nhờ đến sự hỗ trợ tổng thể củamột nhà phân phối cho các lớp này.
Hìnhvẽ trên đây còn biểu thị một khả năng nữa, trong đó khách hàng cuốiliên hệ với một nhà phân phối để nhờ hỗ trợ phần thấp: hệ điều hành vàcác thành phần hệ thống, và nhờ cậy nhà tích hợp để hỗ trợ cho cácthành phần lớp trên.
(Kỳ sau: Mô hình kinh doanh nguồn mở)
PS: Bài được đăng trên tạp chí Tin học & Đời sống, số tháng 11/2009
1Nguồn: Sách trắng « Introduction à l'open source et au logiciel libre » (http://ftp.smile.fr/client/Livres_blancs_Smile_2/LB_Smile_Open_source.pdf)
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
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...