Mới đọc được bài này, viết cách đây gần 4 năm rồi, nhưng vẫn còn đúng lắm. Đem về chia sẻ :-) Nguồn: hanoian.com.

Ảnh

1. Phần mềm mã nguồn mở là gì:

Open source software là những phần mềm được viết và cung cấp một cách tự do. Người dùng phần mềm mã nguồn mở không những được dùng phần mềm (executable hoặc binary files), mà còn được download mã nguồn (source code) của phần mềm (file text chứa ngôn ngữ lập trình, ví dụ như C, C++, Java, Smalltalk, Ruby ...), để tùy ý sửa đổi, cải tiến và mở rộng cho nhu cầu công việc của mình.

Có những phần mềm mã nguồn mở là no limit, có những cái có giới hạn nhất định về mặt thương mại. Các license mã nguồn mở là free, nhưng có những điều kiện kèm theo. Có khoảng 50 loại open source license khác nhau. Phổ biến nhất là GPL và Apache. Các bác nào quan tâm thì tự đi mà đọc, em cảm ơn.

2. Các loại phần mềm mã nguồn mở:

a) Application:

Các loại phần mềm ứng dụng, ví dụ như hệ điều hành, phần mềm văn phòng, phần mềm kế toán, phần mềm chỉnh sửa âm thanh hình ảnh, công cụ lập trình (IDE), Web server ...

Ví dụ:

  • Hệ điều hành: Linux, Free BSD
  • Phần mềm văn phòng: Open Office
  • Công cụ lập trình: KDeveloper, Eclipse
  • Web server: Apache
b) Software framework

Software framework là những tập hợp phần mềm (software package) cung cấp những chức năng thường gặp khi lập trình, để những lập trình viên khác dùng để viết phần mềm hiệu quả hơn, khỏi phải viết lại code cho những vấn đề đã có người giải quyết rồi.

Ví dụ:

  • Framework cho web interface: Struts, Webwork, Tapestry, Velocity
  • Framework cho light-weight container: Spring
  • Framework cho security: Acegi
  • Framework cho object-relational mapping: Hibernate

3. Những người làm phần mềm mã nguồn mở thu lợi từ đâu:

Tất cả những người làm phần mềm mã nguồn mở, tất nhiên là không thể bán phần mềm mã nguồn mở, vì nó là miễn phí, và ai cũng đọc source code được.

Nhưng không phải là người làm phần mềm mã nguồn mở viết phần mềm nhằm mục đích từ thiện, cứu vớt 50 triệu trẻ em ở châu Phi hay giúp đỡ một quốc gia nghèo đói như Việt nam.

Sau đây là lợi ích của mã nguồn mở:

a) Lợi dụng được chất xám của cộng đồng lập trình viên:

Khi một lập trình viên muốn có một chức năng gì đó, ví dụ muốn có một web server, nhưng không muốn bỏ tiền mua, anh ta hoặc một nhóm bạn có thể viết một web server đơn giản, open source nó. Thế là cộng đồng những lập trình viên muốn viết code cho web server có thể download source code về, chỉnh sửa, viết thêm vào, và lâu dần sẽ tạo ra một sản phẩm tốt, vì có sự tham gia và thử nghiệm của một cộng đồng lớn.

Apache (so far the best web server in the world) đã ra đời trong hoàn cảnh như thế.

IBM, sau khi chết một cách ngu xuẩn với Visual Age, đã quyết định open source Eclipse để lợi dụng chất xám của cộng đồng. Ngày nay, chúng ta thấy Eclipse is one of the best IDE. Và IBM cũng thu lợi bằng cách lấy lại những đóng góp của cộng đồng cho Eclipse để cho vào Web Sphere App Dev Studio, đem bán lấy hàng tỉ đô.

b) Lợi ích về công nghệ: Promote best practice và tránh Bureaucracy

Cộng đồng mã nguồn mở là một cộng đồng lớn với high spirit, kiểm soát chủ yếu bởi những kiến trúc sư phần mềm và lập trình viên có trình độ cao, giàu kinh nghiệm và đam mê lập trình.

Nếu không giỏi, tất nhiên chẳng ai tự viết ra được phần mềm hay framework, mà chỉ có đi copy, ăn cắp rồi chỉnh sửa, Việt hóa (như chúng ta thường thấy trong những phần mềm được giải cao của Trí tuệ Việt nam hay Nhân tài đất Việt).

Nếu không đam mê, thì chẳng ai sau mười mấy tiếng một ngày làm thân trâu ngựa cho loài chó dê, làm tay sai đế quốc xong về làm tay sai cho vợ con, mà sau khi ăn sushi trừ bữa, uống rượu ngoại cầm hơi, vẫn còn tiếp tục dành thời gian ngồi ôm laptop viết phần mềm thay vì ôm gái.

Với trình độ, kinh nghiệm, đam mê và sự thông minh, cộng đồng mã nguồn mở luôn luôn cố gắng phát minh công nghệ mới, ứng dụng công nghệ tốt, promote best practice và làm cho sản phẩm ngày càng tốt hơn.

Free-spirit của cộng đồng làm cho những phần mềm mã nguồn mở (usual) có thiết kế tốt hơn và chất lượng tốt hơn phần mềm được làm bởi những tập đoàn tư bản quan liêu thối nát, quản lí không phải bởi những người giỏi làm việc, mà chỉ bởi những con lợn tư bản only good at vibrating bullshit, những thằng không biết về kĩ thuật whatsoever, mà chỉ biết đến revenue, và công thức toán học duy nhất mà chúng biết là MBA = BMW.

Một ví dụ điển hình là JBoss Enterprise có chất lượng, features và performance far more better than IBM Web Sphere App Server.

c) Lợi ích về nghề nghiệp:

Những lập trình viên như Garvin King, Rod Johnson ... viết những open source framework để nhằm mục đích ứng dụng vào việc làm phần mềm cho khách hàng (viết phần mềm bảo hiểm, fianance ...) nhanh hơn, có chất lượng cao hơn.

Do đó họ có danh tiếng tốt, có nhiều khách hàng hơn.

Phần mềm của họ khi được cộng đồng đóng góp, sẽ có nhiều chức năng hơn, chất lượng cao hơn, sử dụng lại vào việc làm phần mềm tốt hơn.

Những người đóng góp vào việc viết phần mềm của họ cũng học hỏi được nhiều hơn, sử dụng công cụ thuần thục hơn, có nền tảng để phát minh ra các công nghệ khác.

Khách hàng khi thấy việc ứng dụng những open source framework đem lại thời gian phát triển nhanh hơn, chất lượng công việc cao hơn cũng sẵn sàng trả nhiều tiền hơn.

d) Lợi ích về tiền
d1 - Bán value added features:

Tất nhiên là không ai đi bán open source software, nhưng người ta có thể viết thêm các chức năng cho nó, cung cấp thêm giá trị gia tăng.

Ví dụ như Linux là free. Setup Linux nói chung là khó. Nhưng công ty Redhat viết thêm anaconda để setup linux dễ dàng hơn, đóng gói vào CD, DVD kèm với tài liệu hướng dẫn và bán.

Nên nhớ ở đây, Redhat không bán Linux, mà bán CD kèm với tài liệu và thêm anaconda. Hoặc Redhat thêm enterprise feature vào Linux và bán Redhat Enterprise Linux.

Nhưng do GPL, người dùng anaconda và added features của Enterprise phải được cung cấp source code, vì thế, chúng ta mới được download free Redhat Linux và Fedora (free Enterprise Linux) từ redhat.com.

Hoặc IBM bán WADS, nhưng license của Eclipse không bắt buộc những gì viết thêm vào phải open source, nên IBM (người Đức gọi IBM là Ich bin mueder - I am tired) cứ ung dung bán WADS.

d2 - Bán consultant service

Không phải phần mềm mã nguồn mở nào cũng dễ dùng.

Triển khai Linux Enterprise cho doanh nghiệp, hoặc phát triển J2EE cho những corporation lớn như Boeing, Airbus, Lockheed Martin, Nike, Liz Claiborne... dùng Spring, Hibernate, Acegi, Tapestry ... không phải là việc mà bọn giáo sư hay trẻ con học Ph.D. ở MIT, Berkerley, Standford hay Carnegie Melon ra có thể làm được.

Giá consultantcy cho những triển khai ứng dụng loại này hiếm khi dưới tiền triệu $.

Ví dụ project Nike trị giá khoảng 35 triệu, project Liz Claiborne khoảng hơn chục triệu.

Đấy là chưa kể tiền công vài trăm $ / giờ cho senior developer, senior consultant Ấn độ loại vét đĩa, tiền ăn sushi trừ bữa, uống rượu mạnh cầm hơi, tiền xe Lincoln, máy bay, khách sạn ...

d3 - Dùng phần mềm mã nguồn mở để làm phần mềm thương mại đem bán

Rất nhiều phần mềm thương mại sử dụng các framework mã nguồn mở để làm component trong phần mềm của mình.

Ví dụ Windchill, một phần mềm collaborative software chuyên dụng cho các tập đoàn sản xuất lớn như Boeing, Airbus, Lockheed Martin, NASA, Ferrari, Toyota ... sử dụng rất nhiều phần mềm và framework mã nguồn mở như Apache, Tomcat, Log4J, itext, JFreeChart, Jasper, Xerces, Xalan...

Giá của một Windchill deployment không bao giờ dưới tiền triệu.

e) Giải quyết khâu oai:

He..he..Lập trình viên cũng như các nghề khác như hàng thịt lợn hay gái bán hoa, đều có tự ái nghề nghiệp của mình.

Khi giải quyết được một vấn đề công nghệ khó, làm ra một phần mềm hay, có nhiều người biết cũng thích. Đôi khi có một số lập trình viên viết một số cái nho nhỏ để giải quyết khâu oai.

4. Lợi ích của mã nguồn mở đối với người sử dụng

  • Được dùng phần mềm miễn phí.
  • Có nhiều chọn lựa, không bị phụ thuộc vào một công ty nào.
  • Có một cộng đồng support lớn.
  • Có nhiều phần mềm đa dạng.

Còn nhiều lợi ích khác, em các bác lười viết.

5. Những điều cần quan tâm khi chuyển sang mã nguồn mở

Máy tính không phải là cái TV, để có thể đem TV đen trắng vứt ra bãi rác rồi bê về cái TV màu.

Khi chuyển từ một hệ điều hành này sang một hệ điều hành khác, từ một phần mềm này sang một phần mềm khác, người ta không thể vứt toẹt cái cũ đi rồi thay cái mới vào.Sau đây là những vấn đề cần quan tâm:

a) Những dữ liệu đã có:

Một công ty như JP Morgan không thể một sớm một chiều vứt bỏ toàn bộ dữ liệu khách hàng và tài chính được lưu trong mainframe hay AS 400 để nhảy qua làm mới trong J2EE.

Phải có integration planning to move data.

b) Availability of Application:

Một công ty chuyên làm đồ họa, vẽ bản vẽ trong một graphic apps trên Mac, không thể một sớm một chiều vứt bỏ Mac OS để nhảy qua Linux, nếu trên Linux không có graphic software that understand the existing graphic file format của các bản vẽ phò mà công ty đó đã vẽ trên máy Mac phò.

c) Existing application:

Một ngân hàng đần độn đã đầu tư khối tiền của và chất đen của sự ngu dốt để phát triển phần mềm quản lí ngân hàng trên Window (như đa số các ngân hàng ở Việt nam đã làm, đang làm và sẽ làm) thì không thể một sớm một chiều nhảy qua Linux, vứt đi vài năm và vài triệu USD đã đầu tư, rồi viết lại phần mềm quản lí ngân hàng từ đầu.

d) Education cost

Khi chuyển từ một phần mềm này qua một phần mềm khác, người sử dụng phải được đào tạo lại.

Phải tính toán đến chi phí tài liệu, đào tạo, thời gian nhân viên nghỉ để học ...

e) Productivity of User:

Một user chuyển từ phần mềm này sang phần mềm khác, bao giờ cũng cần thời gian để làm quen, học hỏi, rút kinh nghiệm. Productivity sẽ giảm trong một thời gian nhất định.

Tùy theo chức năng của phần mềm, việc giảm productivity sẽ có ảnh hưởng đến tài chính.

Ví dụ một nhân viên ngân hàng chuyển từ một phần mềm này sang phần mềm khác, thì giảm productivity sẽ giảm lợi nhuận của ngân hàng.

Còn một nhân viên lập trình Việt nam chuyển từ Window sang Linux hoặc từ Java qua Ruby, thì không có hại gì cho công ty, vì tất cả những gì nó viết trên Window hay Linux, bằng Java hay Ruby chỉ là "Hello, World" ;-)

f) Transition and deployment cost:

Khi chuyển phần mềm trong một công ty hay tổ chức lớn, thì phải tính đến transition and deployment code:

  • Thời gian system down để triển khai phần mềm mới.
  • Chi phí mua bán thiết bị để phục vụ cho phần mềm mới.
  • Chi phí nhân công để triển khai phần mềm.
g) Availability of support

Các dự án phần mềm mở đa số là những dự án tình nguyện, trừ một số dự án có các công ty thương mại đứng đằng sau. Vì thế khi quyết định chuyển đổi phần mềm sang open source, công ty hay tổ chức phải cân nhắc:

  • Dự án phần mềm mở mình định dùng có phát triển ổn định hay không.
  • Phần mềm này có phổ biến rộng rãi trong cộng đồng hay không.
  • Có dễ tìm chuyên gia tư vấn, đào tạo và hỗ trợ kĩ thuật cho phần mềm này hay không.

Tóm lại, quyết định "To move or not to move" từ phần mềm thương mại sang mã nguồn mở không phải - và không bao giờ - là một quyết định whole sale cho cả một quốc gia, một dân tộc hay thậm chí một công ty. Nó phụ thuộc vào hoàn cảnh, tổ chức của từng tập thể, đoàn thể, công ty cụ thể.

Trong nhiều trường hợp, dùng open source là có lợi. Trong nhiều trường hợp khác thì không.

Ví dụ một tổ chức giáo dục chỉ dùng hệ điều hành và phần mềm văn phòng, nhưng có nhiều máy tính, có thể chọn chuyển từ Window và M$ Office sang Linux và Open Office để giảm chi phí.

Ngược lại, một ngân hàng có vài trăm máy tính dùng Window, và đã đầu tư vài triệu $ vào việc phát triển phần mềm ngân hàng trên Window, thì việc chọn trả tiền bản quyền cho mấy trăm máy Window, tốn vài chục nghìn, sẽ kinh tế hơn là chuyển sang Linux để trốn tiền bản quyền, rồi chi mấy triệu để viết lại phần mềm ngân hàng từ đầu.

Hoặc một công ty thiết kế đồ họa trên Mac với phần mềm chuyên dụng chỉ có cho Mac, thì cũng không chuyển sang Linux được.

Đối với công chúng đần độn, thì nói chung là dùng Window vẫn dễ hơn Linux, Hơn nữa nói chung thì bọn đần độn không nên dùng máy tính. The more they sleep, the less harm they cause.

Chỉ có bọn cực kì ngu xuẩn hoặc bọn tìm cách ăn cắp tiền dự án của nhà nước thì mới tính chuyện convert whole sale cả nước hay cả bộ hay ban ngành sang dùng open source. Bọn này là bọn phản động, muốn phá hoại chủ nghĩa xã hội bằng cách đưa ra những dự án bất khả thi, không có lợi gì cho ai, tốn tiền của Tổ quốc và nhân dân, trong khi Tổ quốc còn khó khăn và nhân dân còn nghèo. Các đồng chí ! Bắt lấy chúng!


Bình luận

  • TTCN (22)
Hiếu Tròn  25905

Cái ông hanoian.com này là ai vậy anh?

Hải Nam  30903

Đó là một người có thâm niên, nhưng anh không biết rõ.

Dao Hai Nam  31

Bác Châu Hồng Lĩnh này trước đây (1x năm về trước) cũng có tiếng tăm ở VN, hình như cũng là tác giả một số sách. Lâu rồi mới nghe lại cái tên này nên nhất thời không nhớ rõ.

Hải Nam  30903

Sách mình cũng không biết, nhưng độ 15 năm trước thì tác giả này viết bài liên tục trên PC World VN.

nguyenledung  17

Thú vị thật! Cái này đúng là bó tay! Thú thực dùng phần mềm miễn phí hay opensource không dễ chút nào! Đôi khi mình nghỉ opensource là miễn  phí đó! Đọc bài này, nói chung là mù màu luôn và cũng chỉ nói thâm niên tớ chưa đủ để bình luận. Người viết bài này cao thủ rồi!

Miễn bàn mọi vấn đề nêu ra!!!

Nguyễn Hồng Quân  14

Bài viết hay quá.

Bên lề: Xem chừng bác này là một tín đồ Java.

NgDThanh  33

chính xác, toàn đưa ví dụ của Java, của IBM dùng java, của công ty dùng J2EE

AnAn

Re:

Bài viết rất nhí nhảnh, nhưng có vẻ khúc cuối hơi phản động.

sagittarus_abcde

Bai viết đúng là hay thật nhưng ngôn ngữ đúng là hơi phản động. hihi. Thông cảm

Dinh Quang Huy  2

ặc ! ông này viết hay kinh ! Dùng windows chỉ cần bấm chuột còn dùng opensource như Ubuntu thì muốn cài gì là phải SUDO. .. SUDO...& SUDO

mà mấy ông lãnh đạo thì đa số già cóc đế, ngu như CoW , chỉ giỏi moi tiền của dân chứ công nghệ thì mù tịt, giờ cho dùng win còn ko biết gì chứ đừng nói cho đi học dùng lệnh của opensource .

toàn vẽ bánh rút tiền

nukeviet

Bài viết đúng, những chưa thể hiện tính tích cực.

Về giá trị của mã nguồn mở, phương thức và phạm vi áp dụng thì bài viết đã quá chuẩn, miễn bàn (mặc dù viết khá lâu rồi).

Vấn đề tôi muốn bàn luận ở đây là hơi tiêu cực trong việc chỉ trích việc thúc đẩy sử dụng mã nguồn mở của cơ quan nhà nước mà cuối cùng lại thiếu mất nội dung quan trọng là chỉ ra hướng đi nào cho mã nguồn mở Việt Nam.

Theo tôi, dưới góc nhìn của một đơn vị sinh ra từ mã nguồn mở và chuyên hoạt động về mã nguồn mở, thì tất cả các cơ quan hành chính nhà nước đều nên chuyển sang sử dụng phần mềm mã nguồn mở và phải chuyển sang dùng ngay, kể cả bằng "ép buộc hành chính" vì 2 lý do sau:

- Các cơ quan hành chính này sử dụng chủ yếu các ứng dụng văn phòng, mà các ứng dụng này đều đã có mã nguồn mở.

- Chính phủ điện tử của ta còn trong giai đoạn thai nghén. Phải chuyển sang sử dụng mã nguồn mở ngay để sớm có thời gian ổn định và phát triển đầu tư cho mã nguồn mở, theo định hướng chính phủ điện tử trên nền tảng mã nguồn mở.

2 lý do này sẽ đảm bảo cho việc tiết kiệm chi phí đầu tư cho hiện tại và trong tương lai, đảm bảo không "đập đi" những gì đang có để làm lại từ đầu, đảm bảo tiết kiệm chi phí triệt để.

Phát triển theo hứng thực sự có lợi hay trục lợi là cái tâm của người làm, không thể vì thế mà phủ nhận lợi ích của mã nguồn mở.

tranxuanbach

trả lời

tiêu cực, cách nhình vấn đề một cách phiếm diện,chủ quan.

lời lẽ có phần thoá mạ,vơ đũa cả bó.đề nghị anh admin gỡ ngay bài viết này đi.

xã hội nào mà chả tồn đọng tiêu cực?

pkq

Nghe hay đấy chứ

Bác này viết bài rất hài đấy, nhưng hình như đang viết thì bị vợ hoặc người yêu chửi hay sao ấy mà lời lẽ có vẻ tiêu cực quá. Nói thật là vì cái WTO lên mới có dự án chuyển sang Mã Nguồn Mở chứ như việt nam thì: Crack and Crack.

Phan Hoi  1

Sao lại có thể ví người lập trình viên như gái bán hoa được chứ? Nguời lập trình lao động trí óc, là tầng lớp văn hóa lao động cao, có trình độ trong xã hội, sao lại có thể đem so sánh với gái bán hoa. Tôi đề nghị trang thông tin công nghệ xem xét thật kĩ nội dung bài viết trước khi đưa lên. Còn tác giả Hải Nam đăng bài này cũng cần lưu ý hơn cách dùng từ, so sánh của mình. So sánh như thế chẳng khác nào con dân vô văn hóa nói chuyện tục ngoài chợ cả.

Khách324234234234

vớ vẩn

1 bài viết vớ vẩn , nội dung xác thực thế nào thì tôi ko biết nhưng cách viết của bạn thiếu tính tôn trọng 

Khách Comment

  Bài viết mang tính bỡn cợt là chính ... dùng tiếng Anh nhiều chỗ không chính xác lắm ... đọc éo hiểu Sad

huuquocha1990

Ông viết hay lắm, chửi hay lắm. Theo suy nghĩ của tui là như vậy nhưng không biết với những người khác như thế nào. Ông tiếp tục phát huy nha, cảm ơn nhiều.

KhoaVd

Bố láo

Thật là bài báo bố láo về cách trình bày, nội dung hoàn toàn mạng tính chất tra cứu -> thất vọng!

Tuấn Hói

Nhố nhăng

Mình nghĩ bài này nên viết trong mục truyện cười.

Ko hiểu sao TTCN lại cho đăng những bài viết có ngôn từ thiếu nghiêm túc thế này, chẳng nhẽ TTCN ngày càng đổ đốn vậy sao?

Tuấn Hói

Nếu bài viết này nằm ở diễn đàn thì văn phong nhí nhố như thế có thể chấp nhận. Còn ở trên TTCN, nếu bài viết này ko ở trong mục truyện cười, thì thực sự là TTCN đang tỏ ra hỗn xược với độc giả.

Khách234556

Anh đọc bài này thấy rất relax, giống với phong cách của đám FPT ngày xưa.

TTCN hay cái mẹ gì CN thì cũng chỉ là news online, không phải kinh thánh của Anh hay SGK của đám nhỏ mà phải phiền chú lo.

Sau ngày 27/12 Anh thấy TTCN bắt đầu xuất hiện những cmt kiểu này nhiều hơn thì phải.

Hải Nam  30903

Bạn không thấy bài này đăng ở blog cá nhân à? Chữ "blog" còn nằm ngay trước tiêu đề.