Vinova tuyển lập trình viên Mobile & Web ở Hà Nội, lương $300-1000

Article: Tổng quan về phần mềm mã nguồn mở - Phần 1 1447

alide.myopenid.com 32
Updated over 4 years ago

Hôm nay tình cờ xem một bài viết về mả nguồn mở trên vnexpress cùng những tranh luận về việc xài phần mềm mã nguồn mở ở diễn đàn vnexpress. Cuộc tọa đàm sẽ chẳng di tới đâu cũng như người nghe chẳng rút ra được kết luận gì khi mà cách nhìn về mả nguồn mở, mả đóng hay các sản phẩn miễn phí không tòan diện và đa số tập trung vào cuộc chiến Window-Linux, MS Office - Open Office cái nào đáng dùng hơn. Bài viết này hi vọng sẽ cung cấp cho người đọc cách nhình tổng quan về phần mềm mả nguồn mở (PMMNM) để người đọc có thêm công cụ, cách nhìn và đánh giá hiệu quả sử dụng PMMNM. Bài viết này gồm 3 phần:

  • Phần 1: đề cập khái niệm về PMMNM, giấy phép PMMNM và 1 số ý niệm sai lầm về mã mở.
  • Phần 2: so sánh độ tiện dụng của PMMNM và phần mềm thương mại, một số tiêu chí cho cá nhân/tổ chức nên chọn PNMNM hay phần mềm thương mại.
  • Phần 3: bàn về PMMNM thương mại (commercial open source) và tương lai của PMMNM.

ĐỊNH NGHĨA VỀ PHẦN MỀM MÃ NGUỒN MỞ

Phầm mềm mã nguồn mở (PMMNM) là phần mềm cho phép người dùng có thể down-load mả nguồn kèm theo sản phẩm sử dụng. Dựa vào mả nguồn này, người dùng co thể xây dựng lại sản phẩm từ mả nguồn có sẵn. Ứng dụng nổi tiếng nhất của mã nguồn mở là Linux, người dùng có thể lấy về mã nguồn, biên dịch hay tinh chỉnh lại thành hệ đều hành của riêng mình.

MỘT SỐ Ý NIỆM SAI LẦM VỀ MÃ MỞ

Các sản phẩm mã nguồn mở là miễn phí

Khái niệm miễn phí trong PMMNM có thể là:

  • Miễn phí sử dụng (cho mục đích lợi nhuận hay phi lợi nhuận)
  • Miễn phí đóng gói chung với các sản phẩm khác
  • Miễn phí hòan tòan (người sử dụng có thể đem bán sản phẩm, sử dùng mã nguồn cho các mục đích của mình vv)

PMMNM có rất nhiều lọai giấy phép khác nhau như GPL (version 2, 3), LGPL, Mozilla, MIT, BSD, Creative Common License hay các giấy phép mà tổ chức hay cá nhân người sở hữu qui định. Đối với người dùng cuối, mục đích của họ không phải là PMMNM hay phầm mềm thương mại mà họ quan tâm đến giá thành sản phẩm cũng như sự tiện dụng của phần mềm. Đối với các nhà phát triển phần mềm , khi đã quyết định sài PMMNM thì điều trước tiên phải xem xét là mục đích sử dụng của bạn có vi phạm giấy phép sử dụng

Thời gian để sữa lỗi của mã mở nhanh hơn các sản phẩm thương mại

Đây là lý luận của những "suy diễn" gia, những người chưa từng sài nhiều PMMNM trong phát triển. Lý luận của họ là "khi phần mềm của bạn có lỗi thì sẽ có hàng ngàn lập trình viên trên thế giới sẽ giúp bạn sữa lỗi đó", cũng như họ lấy số liệu điển hình của các tổ chức open source như Red-Hat etc để chứng minh thời gian sữa lỗi của mã mở rất nhanh. Thực tế là với những PMMNM có các tổ chức thương mại đứng sau thì chất lượng và thời gian sữa lỗi nhanh nhưng không phải tất cả đều như vậy. Đối với các PMMNM do những lập trình viên tự nguyện phát triển thỉ thời gian sữa lỗi tùy thuộc vào những lập trình viên đó (thời gian, hừng thú etc). Đối với kích cỡ của phần mềm ngày càng lớn thì việc nhà phát triển hiểu và sữa lỗi là cả 1 vấn đề lớn cho nên: 'Lỗi của PMMNM hầu hết chỉ được sữa bởi chính những tổ chức/cá nhân phát triển phần mềm đó'.

Phần mềm mã mở kém chất lượng hơn phần mềm mã đóng

Người viết bài bài từng sử dụng nhiều phầm mềm thương mại với chất lượng thấp hơn PMMNM. Lý luận của những người cho lý luận này là 'Không ai cho không ai cái gì'. Ai làm cũng có mục đích của họ, sau đây là một số động lực của các cá nhân/tổ chức phát triển PMMNM:

  • Sở thích cá nhân: thường rất ít và các phần này tương đối đơn giản, đa số chúng không phải là 1 phần mềm hòan thiện mà chỉ là 1 thànnh tố (component) được tích hợp với các phần mềm khác.
  • Phục vụ cho bản thân họ trước tiên: một vài cá nhân, tổ chức viết phần mềm cho nhu cầu công việc của chính họ và họ cung cấp người khác giải pháp phần mềm của họ.Quảng cáo: cá nhân viết PMMNM phổ biến dược cộng đồng LTV biết đê1n, kiếm việc dễ hơn hay có những cơ hội khác trong kinh doanh. Đối với các tổ chức, PMMNM cũng có thể là phương tiện quảng cáo hữu hiệu, hay PMMNM là một thành phần tích hợp với phần mềm thương mại nhằm "dụ" khách hàng mua sản phẩm chính của công ty.
  • Thu phí từ dịch vụ, tư vấn và đào tạo: 1 PMMNM phổ biến thì vấn đề đào tạo người dùng sử dụng phần mềm đó cũng như tư vấn doanh nghiệp cách sử dụng phần mềm đó hiệu quả là nguồn lợi rất lớn cho các tổ chức phần mềm.
  • Các dịch vụ gia tăng: dựa vào bản quyền của PMMNM, 1 PMMNM có thể thu phí từ các nhà cung cấp dịch vụ sài phần mềm của họ (MySQL là 1 ví dụ) cho mục đích thương mại

Dựa vào động lực trên, ngòai các cá nhân làm PMMNM theo sở thích, cách động lực còn lại là nguyên nhân khiến nhiều PMMNM có chất lượng rất cao, một số tổ chức phát triển PMMNM đang dẫn đầu về mặt công nghệ và buộc các sản phẩm thương mại phải hỗ trợ như Apache Group, Spring Source etc. Các công ty lớn như Sun, Oracle, Bea, JBoss, Adobe, Google etc cũng chọn giải pháp cung cấp cho người dùng những PMMNM chất lượng cao (xem thêm phần 3 về PMMNM thương mại sẽ bàn tại sao có những công ty lớn lại hỗ trợ PMMNM). Cho nên tiêu chí chất lượng của PMMNM và phần mềm thương mại tùy thuộc vào từng sản phẩm cụ thể. Đối với các công ty.tổ chức việc họ "cho không" sản phẩm ban đầu chỉ là cách thức kinh doanh của họ mà thôi (xem thêm phần 3 để biết thêm chi tiết), không có nghĩa là "free" gắn liền với chất lượng kém.

Tham khảo

1 2 

Editors
haiphucnguyen.myopenid.com 1
alide.myopenid.com 32

Comments

me.yahoo.com/uydzung.nguyen
Updated over 4 years ago

Xin đóng góp chút ý kiến

  • Thời gian để sữa lỗi của mã mở nhanh hơn các sản phẩm thương mại: không hoàn toàn đồng ý với bạn . Thật ra giá trị của phần mềm nguồn mỡ là ở đây . Vì bạn có mã nguồn, nên bạn có thể trực tiếp tham gia vào việc sửa lỗi . Nếu chỉ chờ người khác làm cho mình thì có 2 cách:
    1. Chịu khó chờ đến khi có người chịu sửa lỗi cho mình (Free thì phải vậy thôi)
    2. Trả tiền cho công ty dịch vụ/tư vấn sửa lỗi cho mình. Cái này hầu như tương ứng với trả tiền dịch vụ hỗ trợ

Sự khác biệt lớn đối với mã đóng là người dùng không phải chịu sự chi phối của chủ sỡ hữu mã nguồn, mà có thể chủ động giải quyết các lỗi quan trọng đối với chính người dùng.

  • Phần mềm mã mở kém chất lượng hơn phần mềm mã đóng: đồng ý đây là điểm sai lầm, nhưng mình nghĩ không phải do động lực mà ra chất lượng khác nhau, mà quan trọng là sự phát triển của cộng đồng người dùng lẫn người hỗ trợ/phát triển của sản phảm đó .

Các project mã nguồn mỡ (MNM) thường có sự tham gia của nhiều người, với nhiều động lực khác nhau (không ít người làm vì sở thích cá nhân, hoặc để học hỏi nâng cao tay nghề), nên không thể dễ dàng nói động lực của những người tham gia phát triển apache server là quảng cáo hay sở thích ca nhân. Vả lại, dù là để quảng cáo hay để kiếm tiền thì động lực bạn chỉ ra cũng chỉ bằng với các sản phẩm mã đóng (làm vì lợi nhuận), vậy điều này không đủ thuyết phục là sản phẩm MNM có thể có chất lượng tốt hơn .

Theo mình, cái quan trọng là sản phẩm đó có đáp ứng yêu cầu sử dụng của nhiều người, cùng với cách thức quản lý phù hợp để tạo nên một cộng động người dùng và người phát triển đủ lớn (critical mass) để trở thành 1 movement liên tục phát triển cho ra chất lượng ngày càng cao . Ngay cả cách quản lý và phát triển PMMNM của các công ty lớn như Sun, JBoss ... cũng nhắm vào tạo dựng 1 cộng đồng (community) với critical mass, vì nếu không thì họ cũng sẽ tự cắt giảm ngân sách hoặc bỏ dỡ . Ngay cả Eclipse, lúc đầu phát triển do IBM, nhưng rồi được chính IBM tách ra là vì các công ty khác không muốn tham gia vào 1 cộng đồng mà có sự chi phối quá lớn của IBM .

You must login to be able to comment

Uploaded files

No file uploaded yet

You must login to be able to upload

Nhà tài trợ:

Mọi người đều tự do viết bài, sửa bài của người khác, và bình luận ở trang web này. Bạn muốn chủ động tạo bài mới để chia sẻ kinh nghiệm với mọi người? Xin click link ở dưới.

Create new content