BÀI 3: PHẦN MỀM NGUỒN MỞ VÀ PHẦN MỀM CHẠY TRÊN INTERNET

    • Ngôn ngữ lập trình bậc cao (Python, C++, Java…) viết giống tiếng người, dễ đọc. Đây gọi là mã nguồn.
    • Máy tính không hiểu “ngôn ngữ loài người”, nên cần dịch sang mã máy (toàn số 0 và 1).
    • Nhược điểm: mã máy thì khó hiểu, nhưng lại có ưu điểm là… bảo vệ ý tưởng (không dễ bị copy hay chỉnh sửa lung tung).
    • Phần mềm chuyển giao ở dạng mã máy gọi là phần mềm nguồn đóng.

    1. PHẦN MỀM NGUỒN MỞ

    a. Phân loại phần mềm theo cách chuyển giao sử dụng

    Thảo luận trong SGK
    1. Bán phần mềm dưới dạng mã máy:+ Người dùng phải mua mới có, chỉ được quyền dùng, không biết bên trong có gì.
    + Lợi ích: có phần mềm để dùng, nhưng gần như chỉ dừng ở mức… “ăn cơm quán, không biết công thức nấu”.
    2. Cho dùng miễn phí (có điều kiện hoặc không), nhưng không kèm mã nguồn:+ Người dùng được lợi hơn: không phải bỏ tiền (hoặc ít nhất rẻ hơn).
    +Nhưng vẫn không động vào “ruột phần mềm” được, tức là chỉ được ăn free, không được xin công thức.
    3. Cho dùng phần mềm tự do + có mã nguồn:+Đây mới là “level max” cho người dùng:
    Không mất phí (thường vậy).
    +Xem được mã nguồn (giống như có công thức nấu ăn).
    +Muốn chỉnh, thêm, bớt gì cũng được.
    +Thậm chí chia sẻ lại cho bạn bè, cộng đồng.

    👉 Lợi ích tăng dần: từ chỗ chỉ được dùng ké (mua bản mã máy), sang được xài free (nhưng không chỉnh được), và cuối cùng là được toàn quyền chủ động (tự sửa, tự phát triển, chia sẻ).

    Nói ngắn gọn:

    • Càng “đóng” → người dùng càng bị phụ thuộc vào nhà sản xuất.
    • Càng “mở” → người dùng càng có nhiều quyền lợi.
    • Phần mềm thương mại (commercial software):
      • Mua mới dùng được.
      • Thường là nguồn đóng (dưới dạng mã máy).
      • Ví dụ: Microsoft Word, Photoshop.
    • Phần mềm tự do (free software):
      • Miễn phí, muốn dùng sao thì dùng, khỏi xin phép.
      • Có thể ở dạng mã máy hoặc mã nguồn.
      • Ví dụ: Acrobat Reader (chỉ đọc PDF, muốn xịn hơn thì phải mua bản Pro).
    Acrobat có bản tự do Acrobat Reader và bản thương mại Acrobat Pro DC
    • Phần mềm nguồn mở (open-source software):
      • Cho cả mã nguồn, người dùng có thể chỉnh sửa, phát triển, chia sẻ lại.
      • Thường miễn phí nhưng không bảo hành (có trục trặc thì… tự chịu).
      • Ví dụ: Inkscape, GIMP, Python.

    b. Giấy phép đối với phần mềm nguồn mở (Open-source license)

    • Mỗi phần mềm đi kèm “giấy phép” (license) để quy định cách dùng.
    • Với phần mềm thương mại, giấy phép thường giới hạn: mua 1 bản → chỉ được cài trên một số máy nhất định.
    • Với phần mềm nguồn mở, cần một loại giấy phép riêng để giải quyết mâu thuẫn với luật bản quyền.

    Giấy phép nguồn mở thường quy định:

    • Các tác giả có được miễn trừ bảo hành hay không, có bị kiện vì những sai sót của phần mềm hay không.
    • Người sửa đổi phần mềm có bắt buộc phải công bố rõ các tác giả trước đó hay không, bản sửa đồi có phải công khai dưới dạng nguồn mở hay không.

    Giấy phép phổ biến nhất: GNU GPL (General Public License).

    • Sao chép & phân phối:
      • Được copy, chia sẻ phần mềm.
      • Có thể thu phí, nhưng phải ghi rõ bản quyền gốc và kèm thông báo “không bảo hành”.
    • Sửa đổi & phân phối bản sửa đổi:
      • Được phép chỉnh sửa phần mềm.
      • Bắt buộc công khai mã nguồn đã chỉnh, ghi rõ chỗ nào thay đổi.
      • Bản sửa đổi cũng phải tuân theo GPL (tức là vẫn phải mở, không được “biến mở thành đóng”).

    2. VAI TRÒ CỦA PHẦN MỀM THƯƠNG MẠI VÀ PHẦN MỀM NGUỒN MỞ

    Phần mềm nguồn mở ngày nay có mặt ở hầu hết các lĩnh vực: từ văn phòng, hệ điều hành, quản trị cơ sở dữ liệu cho đến xử lí ảnh.

    Giới thiệu chung

    • Phần mềm nguồn mở là cơ hội để có giải pháp tốt với chi phí thấp.
    • Hầu hết lĩnh vực tin học đều có phần mềm nguồn mở thay thế được phần mềm thương mại.

    Ví dụ:

    Lĩnh vựcPhần mềm thương mạiPhần mềm nguồn mở
    Văn phòngMicrosoft Word, Excel, PowerPointOpenOffice Writer, Calc, Impress
    Hệ điều hànhWindowsLinux (Ubuntu, Red Hat, …)
    Di độngiOSAndroid
    CSDLOracle, SQL ServerMySQL, PostgreSQL
    Xử lí ảnhPhotoshopGIMP

    a. Phần mềm thương mại

    Loại 1: Phần mềm “đặt hàng” (may đo)

    • Đặc điểm: Thiết kế riêng theo yêu cầu của từng khách hàng; có bảo hành theo hợp đồng.
    • Ưu điểm: Đáp ứng đúng nhu cầu riêng biệt, có hỗ trợ kỹ thuật.
    • Nhược điểm: Chi phí cao, khó dùng chung.

    Loại 2: Phần mềm “đóng gói”

    • Đặc điểm: Viết dựa trên nhu cầu chung, hoàn chỉnh, có cài đặt tự động, nâng cấp định kỳ.
    • Ưu điểm: Phù hợp nhiều người dùng, dễ sử dụng, độ ổn định cao.
    • Nhược điểm: Không đáp ứng được yêu cầu riêng của từng khách hàng.

    Vai trò chung của phần mềm thương mại

    • Nguồn thu nhập chính cho ngành phần mềm, tạo thị trường đa dạng.
    • Đáp ứng cả nhu cầu chung lẫn nhu cầu riêng biệt.
    • Tuy nhiên, dễ khiến người dùng bị phụ thuộc vào nhà cung cấp.

    b. Phần mềm nguồn mở

    • Đặc điểm: Miễn phí hoặc chi phí thấp; mã nguồn công khai, minh bạch.
    • Ưu điểm: Không phụ thuộc nhiều vào một nhà cung cấp; khuyến khích chia sẻ, học tập.
    • Nhược điểm: Chủ yếu đáp ứng nhu cầu chung; hỗ trợ kỹ thuật chính thức còn hạn chế.

    Vai trò

    • Cung cấp phần mềm chất lượng, ổn định với chi phí thấp.
    • Giúp nhiều người tiếp cận công nghệ, phát triển cộng đồng lập trình.

    3. PHẦN MỀM CHẠY TRÊN INTERNET

    Khái niệm

    • Là phần mềm dùng trực tiếp qua Internet, không cần cài vào máy.
    • Hay còn gọi là phần mềm trực tuyến.

      Ví dụ:

      • Mạng xã hội, email, ứng dụng mua sắm online (Shopee, Lazada, Tiki,…).
      • Bộ công cụ của Google:
        • Google Docs: Soạn thảo văn bản (thay Word).
        • Google Sheets: Bảng tính (thay Excel).
        • Google Slides: Trình chiếu (thay PowerPoint).

      Lợi ích:

      • Dùng mọi lúc, mọi nơi, mọi máy (chỉ cần Internet).
      • Thường miễn phí hoặc rất rẻ.
      • Văn bản lưu trên đám mây → không lo quên USB.
      Câu 1. Em hãy nêu những ưu điểm của phần mềm chạy trên Internet.

      Không cần cài đặt, chỉ cần có Internet là dùng được.

      Có thể sử dụng ở bất kỳ đâu, trên bất kỳ máy nào.

      Thường miễn phí hoặc chi phí rất thấp.

      Dữ liệu được lưu trên “đám mây”, không lo mất file.

      Câu 2. Em hãy nêu tên một phần mềm trực tuyến khác với các phần mềm đã nêu trong bài.

      Ví dụ: Zalo Web, Facebook, Canva, Spotify, ChatGPT,… (chỉ cần vào web là dùng được, không cần cài).


      Câu 1. Có thề nói “Phần mềm nguồn mờ ngày càng phát triền thì thị trường phần mềm thương mại càng suy giảm” hay không? Tại sao?

      Hướng dẫn:

      Không thể nói như vậy.

      Còn phần mềm thương mại (nhất là loại “đặt hàng”) lại giải quyết nhu cầu riêng biệt, phức tạp, cần bảo hành và hỗ trợ kỹ thuật.
      👉 Do đó, hai loại phần mềm tồn tại song song, hỗ trợ nhau, chứ không loại trừ nhau.

      phần mềm nguồn mở chủ yếu đáp ứng nhu cầu dùng chung với chi phí thấp.

      Câu 2. Phần mềm ở các trạm ATM (rút tiền tự động) có phải là phần mềm trực tuyến không?

      Hướng dẫn

      Phần mềm ở trạm ATM không phải là phần mềm trực tuyến.

      Tuy nhiên, nó có thể kết nối mạng riêng để kiểm tra tài khoản, nhưng bản chất vẫn là phần mềm cài đặt, không phải phần mềm trực tuyến như Google Docs hay Facebook.

      Vì nó được cài đặt trực tiếp trong hệ thống máy ATM, hoạt động ngay cả khi không có Internet.

      Câu 1. Em hãy tìm trên Internet và cho biết tên một số phần mềm đồ hoạ nguồn mở và một số phần mềm đồ hoạ thương mại.

      Hướng dẫn

      Một số phần mềm đồ họa

      Thương mại: Photoshop, CorelDRAW, Adobe Illustrator, AutoCAD.

      Nguồn mở: GIMP, Inkscape, Krita, Blender.

      Câu 2. Nói chung, các môi trường lập trình trên ngôn ngữ Python đều không có chức năng biên dịch đề chuyền mã nguồn thành mã máy. Cậc chương trình Python đệu ở dạng mã nguồn. Liệu có thể coi mọi phần mềm viết bằng Python đều là phần mềm nguồn mở hay không?

      Hướng dẫn

      Có thể coi mọi phần mềm viết bằng Python là phần mềm nguồn mở không?

      Lý do: Phần mềm có nguồn mở hay không không phụ thuộc vào ngôn ngữ lập trình (Python, C++, Java…) mà phụ thuộc vào việc tác giả có công khai mã nguồn hay không.
      👉 Vậy nên, phần mềm viết bằng Python nhưng chỉ phát hành dưới dạng mã máy (hoặc bị giữ kín mã nguồn) thì vẫn là phần mềm nguồn đóng.

      Views: 1

      Để lại một bình luận

      Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *