Khái niệm này ở VN có khá nhiều từ: phần mềm tự do, phần mềm nguồn mở (hoặc đôi khi: phần mềm mã mở), phần mềm tự do nguồn mở. Trong khi nhiều người cho rằng các thuật ngữ này chỉ các khái niệm khác nhau thì tôi lại nghĩ rằng chúng đều mô tả một thực thể. Việc xuất hiện các thuật ngữ khác nhau đơn thuần chỉ là muốn "làm rõ nghĩa", muốn tạo tác động tốt hơn ở khía cạnh "tiếp thị".

Thử tìm hiểu các thuật ngữ này:

  • phần mềm tự do: free software (phân biệt với freeware: phần mềm miễn phí), libre software
  • mềm mềm (mã) nguồn mở: open source (software)
  • mềm mềm tự do nguồn mở: free open source software (FOSS), free/libre/open source software (FLOSS)

Các thuật ngữ này đều có "lực lượng hâm mô riêng". Chẳng hạn "phần mềm tự do" thì có tổ chức FSF (Quỹ phần mềm tự do, do Richard Stallman đứng đầu), "mã nguồn mở" được dùng bởi tổ chức OSI (Sáng kiến mã nguồn mở, có rất đông thành viên như Debian, Apache, Wikimedia, Mozilla, Quỹ Linux...), thuật ngữ "phần mềm tự do nguồn mở" xuất hiện nhiều từ năm 2003 và từ viết tắt FOSS được dùng thường xuyên, thuật ngữ FLOSS lại được dùng trong các văn bản chính thức của Nam Phi, Tây Ban Nha, Braxin.

Tuy nhiên, dùng thuật ngữ nào không quan trọng bằng việc hiểu rõ "phần mềm nguồn mở" là gì. Đây là khái niệm duy nhất mà mọi thuật ngữ trên nói đến. Gần như mọi "phần mềm nguồn mở" đều "tự do" và "miễn phí". Chẳng hạn, FSF định nghĩa "phần mềm tự do" như sau:

  • Tự do 0: chạy chương trình cho bất kì mục đích nào
  • Tự do 1: tự do nghiên cứu, sửa đổi chương trình
  • Tự do 2: tự do phân phối chương trình
  • Tự do 3: tự do cải thiện, và phát hành cải thiện đó

Như vậy, dù chỉ gọi là "phần mềm tự do", nhưng điểm 1 và 3 yêu cầu phải có mã nguồn mở.

Còn OSI định nghĩa "mã nguồn mở" chi tiết hơn, nhưng cũng có các yếu tố: phần mềm phải kèm theo mã nguồn, tự do phân phối lại, tự do phân phối phần mềm đã sửa đổi... Không phải mọi phần mềm có mã nguồn được công bố đều được OSI chấp nhận là "mã nguồn mở". Chẳng hạn, giấy phép MS-RSL của Microsoft chỉ cho phép "xem mã nguồn" không được OSI công nhận là mã nguồn mở. Ngược lại, các giấy phép thoáng hơn như MS-PL và MS-RL được OSI chấp nhận.

Đa phần giấy phép được OSI chấp nhận cũng được FSF chấp nhận, và ngược lại, bởi vì các định nghĩa có chung một cách nhìn, chỉ các nhau ở một vài chi tiết nhỏ.

Cập nhật 18/4:

1. Để hiểu rõ các bạn có thể tham khảo thêm:

2. FSF mặc dù dùng chữ "phần mềm tự do" và phản đối thuật ngữ "phần mềm nguồn mở" của OSI, nhưng họ cũng thừa nhận (người viết in đậm):

The official definition of “open source software” (which is published by the Open Source Initiative and is too long to include here) was derived indirectly from our criteria for free software. It is not the same; it is a little looser in some respects. Nonetheless, their definition agrees with our definition in most cases.

3. Sơ đồ phân loại phần mềm của FSF cho thấy phần mềm "tự do" và "nguồn mở" là hai khái niệm gần như nhau, và không có khái niệm nào "ít tự do" hơn khái niệm nào.

Ảnh
Phân loại phần mềm. Ảnh: FSF.

4. Tóm lại:

  • "Nguồn mở" và "mã nguồn mở" là một từ, dịch từ chữ "open source".
  • "Phần mềm tự do" và "phần mềm nguồn mở" chỉ cùng khái niệm, nhưng muốn nhấn mạnh các điểm khác nhau.
  • "Phần mềm tự do nguồn mở" là thuật ngữ được một số người đưa ra để giải quyết nhập nhằng này, tuy nhiên không có định nghĩa nào về "phần mềm tự do nguồn mở".
  • Với các văn bản chính thức trong nước, cần dùng một thuật ngữ thống nhất.
  • Ở Việt Nam, thuật ngữ "phần mềm (mã) nguồn mở" được dùng phổ biến nhất.

So sánh một chút, "vào cửa miễn phí" hay "vào cửa không mất vé" hay "vào cửa tự do miễn phí", so câu chữ thì khác nhau, nhưng khái niệm thì vẫn vậy.


Bình luận

  • TTCN (28)
HùngNT  144

"phần mềm tự do, phần mềm nguồn mở, mã nguồn mở"

Những thuật ngữ này theo mình là hoàn toàn khác nhau, mặc dù có nhiều điểm giống nhau nhưng không thể nói rằng nó cùng chỉ về một thực thể. Cụ thể thế này: sẽ có nhiều phần mềm thoả mãn cả 3 loại định nghĩa (thông thường mỗi thuật ngữ sẽ tương ứng với giấy phép của nó) nhưng không phải tất cả phần mềm đều như vậy, và vì vậy cần có sự phân biệt rõ ràng, căn cứ phân biệt là dựa theo giấy phép.

Vấn đề này cũng đang được thảo luận trên mailinglist của Câu lạc bộ phần mềm tự do nguồn mở Việt Nam (VFOSSA), Hải Nam có thể vào để thảo luận cùng mọi người để có cái nhìn đa chiều. Đây là link lưu trữ: http://bit.ly/XGmdTw

Để có thể thấy được sự khác nhau, Hải Nam xem định nghĩa "phần mềm mã nguồn mở" đang được định nghĩa trong một nghị định của chính phủ đang được lấy ý kiến ở đây: Nguồn: http://mic.gov.vn

Trích dẫn: "Phần mềm mã nguồn mở" là phần mềm được tác giả cung cấp với mã nguồn kèm theo, người sử dụng không phải trả chi phí bản quyền mua mã nguồn.

Như vậy, theo định nghĩa này, Phần mềm mã nguồn mở hoàn toàn không phải là phần mềm nguồn mở, càng không phải là phần mềm tự do nguồn mở. Và nếu chúng ta không có sự phân biệt rõ ràng, những lợi ích to lớn của phần mềm tự do nguồn mở sẽ bị "hạ cấp" xuống thành "mã nguồn mở".

Hiếu Tròn  25905

Đọc bình luận của anh, em cũng không hiểu phần mềm nguồn mở và phần mềm mã nguồn mở khác nhau chổ nào?
Còn cái định nghĩa của MIC, có nghĩa là người dùng chắc chắn không phải trả phí mua mã nguồn, còn phần mềm thì có thể phải trả phí sao anh?
"Cung cấp với mã nguồn kèm theo" là tác giả công bố công khai mã nguồn (ai cũng có thể tiếp cận), hay là đóng gói kèm theo phần mềm mà họ cung cấp? Ví dụ như mua cái phần mềm rồi được miễn phí cái mã nguồn kèm trong đĩa chẳng hạn, nếu hiểu theo định nghĩa là phần mềm mã nguồn mở thì miễn phí cái mã nguồn, phần mềm thì "hên xui".
Em là người "ngoại đạo", chỉ thắc mắc về mặt câu chữ vậy thôi.

HùngNT  144

Đúng như cách bạn đặt vấn đề. Miễn phí mã nguồn chưa chắc đã được phép sử dụng tự do. Đó chính là lý do mà chúng ta phải phân biệt rõ ràng các khái niệm này, nếu không sẽ có sự "nhầm lẫn" tai hại.

Tóm lại quyền sử dụng phần mềm sẽ do giấy phép của phần mềm quy định. Mà giấy phép của chúng khác nhau nên các quyền cũng sẽ khác nhau.

Hiếu Tròn  25905

Vậy phần mềm nguồn mởphần mềm mã nguồn mở khác nhau chổ nào vậy anh? 

HùngNT  144

Nếu căn cứ theo định ngĩa của MIC thì có thể hiểu là "Phần mềm mã nguồn mở" thì có mã nguồn được để mở (có thể đọc, tuy nhiên việc nó có được tự do hay không, giấy phép như thế nào... thì không biết vì không thấy nhắc tới).

Còn "phần mềm tự do", "phần mềm nguồn mở" hay "phần mềm tự do nguồn mở" thì bạn xem thêm định nghĩa ở đây: http://vi.wikipedia.org/

Vậy cái khác căn bản là khác giấy phép, từ đó dẫn tới khác nhau về quyền tự do sử dụng (code). Có thể tạm hiểu nếu xếp theo thứ tự ưu tiên tính tự do của phần mềm thì thứ hạng của chúng sẽ như sau: Phần mềm mã nguồn mở < Phần mềm nguồn mở < Phần mềm tự do < Phần mềm tự do nguồn mở.

Hải Nam  30800

"Thứ hạng" đó sai hoàn toàn và vô nghĩa. Cả bài blog này muốn nói lên điều đó. Lấy thí dụ, cho hỏi phần mềm nào "tự do" mà không phải "tự do nguồn mở"?

HùngNT  144

Hải Nam cho rằng sai chỗ nào? vô nghĩa chỗ nào?

Đúng là "không có phần mềm nào "tự do" mà ko phải là "tự do nguồn mở"". Bởi vì phần mềm tự do nguồn mở là gộp của phần mềm tự do và phần mềm nguồn mở. Nhưng mà đây là điều mình đã nói. Hải Nam nêu ra là để chứng minh điều gì?

Hải Nam  30800

Bạn vừa nói:

Đúng là "không có phần mềm nào "tự do" mà ko phải là "tự do nguồn mở"".

Nên mình mới không đồng ý. Ở trên bạn nói khác mà. Trích lại:

Phần mềm tự do < Phần mềm tự do nguồn mở

Theo đoạn đầu thì bạn cho rằng TDNM <= TD, còn tập dưới bạn nói ngược lại: TNDM > TD.

HùngNT  144

Sorry, có chút nhầm lẫn trong câu trả lời trước.

Mình vẫn giữ quan điểm như ban đầu về mặt thuật ngữ: Phần mềm tự do nguồn mở = Phần mềm tự do + phần mềm nguồn mở.

Mình cũng chưa hiểu tại sao Hải Nam không đồng ý, cái này quốc tế người ta cũng thừa nhận rồi:

FOSS is an inclusive term that covers both free software and open source software, which despite describing similar development models, have differing cultures and philosophies.

Nguồn: Wikipedia.org

Hải Nam  30800

Tất nhiên, mình có phản đối cái đó đâu. FOSS = FS ∩ OSS (dấu ∩ chỉ phép giao), phép toán này đơn giản mà, đó cũng là mục tiêu họ đưa ra thuật ngữ đó. Có điều, khi FS = OSS, thì thành ra FOSS = FS = OSS rồi. Mục tiêu bài này là nói lên điều đó (FOSS = FS = OSS), chứ không phải phản đối FOSS = FS ∩ OSS.

Và đi xa hơn một bước, nếu không cho rằng FS = OSS, thì tại sao không đi xa hơn bước nữa, FLOSS = FOSS ∩ LS (libre software), cho nó "siêu tổng quát". Và tiếng Việt sẽ có thuật ngữ "phần mềm tự do miễn phí nguồn mờ" Tongue Cả FSF và OSI đều cho là cái thuật ngữ này dài dòng lủng củng, và không hơn gì họ (FLOSS = FS = OSS). Khi báo chí viết, họ chỉ cần viết open source, nhưng vẫn hiểu theo tinh thần F/LOSS.

Mình đã nói, FOSS chỉ là một thuật ngữ đưa ra mà không có định nghĩa nào cụ thể, chỉ là nói chung chung. Không ai dám nói là phần mềm FS mà không phải OSS (hoặc ngược lại) thì không phải FOSS cả, dù cái đó thể hiện ngay trong định nghĩa FOSS.

Hải Nam  30800

Dựa vào 1 câu định nghĩa trong 1 cái nghị định chung chung thì sao mà kết luận được. Đừng nên căn cứ vào đó. Chẳng hạn, tôi bán phần mềm FOSS, ai cần mã nguồn thì vui lòng trả thêm 100K tiền gửi (do tôi không có Internet), như vậy FOSS của tôi không phải "mã nguồn mở" theo cái định nghĩa trên.

HùngNT  144

Đó chỉ là 1 ví dụ minh hoạ cho việc các thuật ngữ trên đang được hiểu theo cách khác nhau.

Với tư cách là một trang tin công nghệ, theo mình TTCN cần sử dụng thuật ngữ một cách chính xác. Và như vấn đề ban đầu đề cập, thuật ngữ "phần mềm mã nguồn mở" được sử dụng trong bài viết này chưa chính xác: article/46560 Nếu mình không nhầm thì bài viết này có sử dụng thông tin từ đây: http://bit.ly/13k2tWs và cụm từ "phần mềm mã nguồn mở" hẳn được dịch từ "open source software", mình hỏi bạn chữ "mã" lấy ở đâu ra?

Còn nếu bạn cứ nhất nhất cho rằng các thuật ngữ trên là giống nhau nên có thể đánh đồng chúng và sử dụng thay thế cho nhau thì mình mời bạn vào thảo luận trong mailing-list của VFOSSA để có cái nhìn chính xác hơn.

Hiếu Tròn  25905

Em đọc dữ lắm kĩ cái link anh đưa mà vẫn không hiểu sự khác nhau của phần mềm nguồn mởphần mềm mã nguồn mở, vì trang đó chỉ nói sự khác nhau giữa phần mềm nguồn mởmã nguồn mở thôi.

Em muốn được đọc 2 khái niệm đó (theo anh là khác nhau) để so sánh, nhưng không thấy.

Nếu không có định nghĩa khác nhau của 2 khái niệm này, theo em, về mặt câu chữ, phần mềm nguồn mở chỉ là cách viết tắt của phần mềm mã nguồn mở. Vì khi nói đến phần mềm nguồn mở là người ta ám chỉ mã nguồn của nó mở (chứ không phải là nguồn gốc của nó mở). Chữ nguồn được viết để chỉ mã nguồn.

Tuy nhiên, nếu thật sự chúng được định nghĩa khác nhau thì em mong được đọc cả hai khái niệm đó. Vì em cũng hay dịch những bài về vấn đề này, cho nên cần biết rõ ý nghĩa các thuật ngữ.

HùngNT  144

Vốn thuật ngữ "phần mềm mã nguồn mở" là do TTCN sử dụng trong bài viết này article/46560, thế giới hình như người ta không định nghĩa cái này, mình thấy định nghĩa của MIC thì chỉ cho các bạn để các bạn thấy rằng TTCN đang sử dụng một thuật ngữ không phản ánh chính xác về phần mềm tự do/phần mềm nguồn mở/phần mềm tự do nguồn mở - vốn là thông tin từ bài viết gốc http://bit.ly/13k2tWs

Hiếu Tròn  25905

Chắc chắn không chỉ riêng TTCN dùng thuật ngữ phần mềm mã nguồn mở. Thậm chí có cả môn học mang tên Phát triển phần mềm mã nguồn mở

http://bit.ly/17qhiHm

HùngNT  144

Môn học đó có nói rằng phần mềm mã nguồn mở là phần mềm nguồn mở ko?

Hải Nam  30800

Nếu thích dùng Wikipedia thì có http://bit.ly/YYpqQ9 đây:

Open-source software (OSS) is computer software with its source code made available and licensed with an open-source license in which the copyright holder provides the rights to study, change and distribute the software for free to anyone and for any purpose.

Nguồn = mã nguồn = source = source code.

HùngNT  144

Bạn đang đánh tráo khái niệm rồi, đây là định nghĩa thế nào là nguồn mở, không phải định nghĩa về mã nguồn mà lại sử dụng nó để quy chụp "Nguồn = mã nguồn"

Hải Nam  30800

Theo đoạn trên thì source với source code chỉ cùng khái niệm, ít nhất trong ngữ cảnh này.

HùngNT  144

Bạn nên tìm chỗ nào mà nó nói chính xác điều đó thì sẽ thuyết phục hơn là sử dụng một khái niệm để ngụ ý một khái niệm khác.

Hải Nam  30800

Source không phải mã nguồn (source code) thì nó là cái gì? Hai khái niệm này là 1, có gì mà "đánh tráo". "Nguồn" là cách gọi tắt của "mã nguồn".

Hải Nam  30800

VFOSSA là list dành cho thành viên của VFOSSA, muốn vào phải xin phép, chờ chấp thuận, đóng lệ phí... người ngoài đâu có vào thảo luận được!

HùngNT  144

Đăng ký thảo luận nhóm qua mailing list của VFOSSA cũng như đăng ký tài khoản trên website của VFOSSA hoàn toàn tự do, miễn phí chứ không hề mất phí như Hải Nam nói đâu: http://bit.ly/YYuwvT

Chỉ có đăng ký làm hội viên chính thức mới bị thu phí hội viên. Việc thu phí hội viên với việc thảo luận trê website hay mailing-list hoàn toàn không liên quan đến nhau!

Hải Nam  30800

Đăng kí list thì được, nhưng sẽ phải chờ moderator duyệt, và không là hội viên thì nghỉ nhé (hoặc đi cửa sau). Gần đây không biết có thay đổi gì không, có thể đã thay đổi sau hôm Đại hội 1 năm. Hùng có thể hỏi bác Quang chủ tịch VFOSSA để rõ.

HùngNT  144

Tôi sẽ hỏi lại chủ tịch việc này, không thể có chuyện vô lý đó.

Mr Hoang  1

mình đăng ký (cuối 2012)rất dễ dàng mà không phải là hội viên gì cả. Còn việc chờ mod duyệt hay không thì không nhớ, mà cũng không quan tâm lắm

Khoan Cắt Bê Tông  20

Đọc cái giấy phép/ điều khoản kèm theo

Tốt nhất là đối với mỗi phần mềm nên đọc cái đi kèm theo nó để biết. Các từ kia ngay cả nước ngoài cũng chỉ để tạm hình dung ra nó mà thôi, vì các tổ chức khác nhau họ hiểu nó khác nhau và không ai cấm điều đó. Ví dụ với GNU thì họ đề cao tính đóng góp công sức của người dùng vào phần mềm nguồn mở, với BSD thì họ đề cao việc "anh thích làm quái gì thì làm, càng quậy vào chúng tôi càng thích", với một số "ông" khác thì thích cho người ta dùng, phân phối,... nhưng chỉ được xem code mà không được sửa (sửa dùng cho cá nhân được) rồi "thả" nó ra bên ngoài, một số ông khác lại đề cao việc "người dùng có thể mang thương mại và đóng góp tiền lại cho chúng tôi".

Với một số tay mê tính tự do và viết phần mềm tung ra như thả một con thú ra thiên nhiên, họ rất đề cao tính bay nhảy của con thú này, họ chẳng quan tâm tiền bạc từ phần mềm họ tạo ra,... những tay này mà nghe đến chuyện "xôi thịt" liên quan đến phần mềm của họ, họ nổi giận là đương nhiên. Như ông Stallman thì ổng tin rằng phần mềm có lý do duy nhất để tồn tại: TỰ DO.

Như vậy, hãy đọc các điều khoản cụ thể đi kèm theo phần mềm trước khi đưa ra quyết định có nên sử dụng/ nên gì gì đó với nó hay không.

Hải Nam  30800

Vừa thêm một số thông tin cuối bài viết để các bạn hiểu rõ thêm trước khi tranh luận Wink