1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Mã nguồn mở: Bài 1 - ThS. Phan Thanh Toàn

25 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 1,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Mã nguồn mở - Bài 1: Tổng quan về mã nguồn mở gồm 4 nội dung khái niệm phần mềm mã nguồn mở; các học thuyết về phần mềm mã nguồn mở; các loại giấy phép về phần mềm mã nguồn mở; phần mềm dịch vụ miễn phí.

Trang 1

MÃ NGUỒN MỞ

Giảng viên: ThS Phan Thanh Toàn

Trang 2

BÀI 1

TỔNG QUAN VỀ MÃ NGUỒN MỞ

Giảng viên: ThS Phan Thanh Toàn

Trang 4

CÁC KIẾN THỨC CẦN CÓ

Để hiểu rõ bài này, yêu cầu sinh viên cần có các

kiến thức cơ bản liên quan đến các môn học sau:

• Công nghệ phần mềm;

• Nguyên lí hệ điều hành

Trang 5

• Thực hành trực tiếp trên hệ điều hành Linux và

một số phần mềm mã nguồn mở như Open

office, PHP

• Làm bài tập và luyện thi trắc nghiệm theo yêu

cầu từng bài

Trang 6

CẤU TRÚC NỘI DUNG

Trang 7

1.1 KHÁI NIỆM PHẦN MỀM MÃ NGUỒN MỞ

1.1.1 Phần mềm

miễn phí

1.1.2 Phần mềm mã

nguồn mở

Trang 8

1.1.1 PHẦN MỀM MIỄN PHÍ

Khái niệm phần mềm

• Phần mềm là chương trình chạy trên máy tính;

• Phần mềm được phát triển dựa trên ngôn ngữ lập trình;

• Chương trình là tập các lệnh theo một ngôn ngữ lập trình;

• Tập lệnh của chương trình được gọi là mã nguồn (Source code);

• Source code được dịch thành mã máy

Trang 9

1.1.1 PHẦN MỀM MIỄN PHÍ (tiếp theo)

Cơ sở về phần mềm

• Để sử dụng phần mềm người sử dụng không cần có mã nguồn

• Thay đổi chương trình thông thường yêu cầu quyền sở hữu và sự cho phép để thayđổi mã nguồn

• Bất kì ai kiểm soát mã nguồn hợp pháp thì có thể thay đổi, nâng cấp phần mềm

• Những người sử dụng không có mã nguồn thường không thể thay đổi đượcchương trình

Trang 10

1.1.1 PHẦN MỀM MIỄN PHÍ (tiếp theo)

• Có hai hình thức dùng phần mềm chi phí thấp

 Phần mềm tự do, mã nguồn mở (Libre Software, Open Source Software):

 Sử dụng, sao chép, phân phối và/hoặc sửa đổi tự do;

 Một số được cung cấp mã nguồn;

 Tuân thủ theo các giấy phép gốc của phần mềm đó

 Phần mềm dạng dịch vụ miễn phí:

 Sử dụng miễn phí theo tài khoản;

 Chủ yếu đáp ứng nhu cầu phần mềm chạy trên nền web;

 Xuất phát điểm từ trào lưu phần mềm như là dịch vụ (SaaSSoftware as

a Service)

Trang 11

Free and Open Software Definition

(1998)

FLOSS(2001)

Trang 12

1.1.2 PHẦN MỀM MÃ NGUỒN MỞ (tiếp theo)

• Free software (hay Libre software)

 Có thể có mã nguồn hoặc không có mã nguồn;

 Mang nghĩa tự do (không hẳn miễn phí), được sử dụng, sao chép, phân phối,sửa đổi (nếu có mã nguồn)

• Open source software

 Có mã nguồn, được sử dụng, sao chép, phân phối, sửa đổi theo quy định tronggiấy phép;

 Mang nghĩa nhóm nhiều người có thể cùng nhau phát triển dựa trên mã nguồnđược cung cấp

• FOSS (Free and open-source software): Vừa là free software lẫn Open sourcesoftware

Trang 13

1.1.2 PHẦN MỀM MÃ NGUỒN MỞ (tiếp theo)

• Định nghĩa phần mềm mã nguồn mở (David Wheeler)

Các chương trình OSS/FS là những chương trình mà quy trình cấp phép sẽ chongười dùng quyền tự do chạy chương trình theo bất kì mục đích nào, quyền nghiêncứu và sửa đổi chương trình, quyền sao chép và tái phát hành phần mềm gốc hoặcphần mềm đã sửa đổi (mà không phải trả tiền bản quyền cho những người lập

Trang 14

1.1.2 PHẦN MỀM MÃ NGUỒN MỞ (tiếp theo)

• Sự bùng nổ về số lượng triển khai các hệ thống phần mềm nguồn mở đã làm thayđổi thế giới công nghệ thông tin

• Khi những hệ thống FOSS đầu tiên được phát triển, nhiều người sớm sử dụng các

hệ thống này như là các chuyên gia về công nghệ

Trang 15

1.1.2 PHẦN MỀM MÃ NGUỒN MỞ (tiếp theo)

So sánh phần mềm mã nguồn mở và phần mềm thương mại

Phần mềm thương mại Phần mềm mã nguồn mở

Được coi là • Một tài sản trí tuệ;

Vi phạm bản quyền Không vi phạm, mang lại

giá trị hơn cho phần mềm

Bảo mật được đảm

bảo nhờ

Không ai bên ngoài biếtđược cơ chế làm việcbên trong

Ai cũng có thể phát hiện lỗi

và đề xuất giải pháp xử lí

Lợi nhuận đem lại • Bán các phiên bản mới; • Bán dịch vụ đi kèm;

Trang 16

1.1.2 PHẦN MỀM MÃ NGUỒN MỞ (tiếp theo)

Tính cam kết duy trì sự phát triển thấp

Khó kiểm soát phiên bản và sự thay đổi mã nguồn

Trang 17

1.2 CÁC HỌC THUYẾT VỀ PHẦN MỀM MÃ NGUỒN MỞ

1.2.1 Học thuyết FSF

1.2.2 Học thuyết OSI

Trang 18

1.2.1 HỌC THUYẾT FSF

Tổ chức phần mềm tự do FSF (Free Software Foundation) đề xuất nhằm bảo vệ cácquyền tự do của người dùng

• Quyền tự do chạy một chương trình với bất kì mục đích nào

• Quyền tự do nghiên cứu cách thức vận hành của một chương trình và thích ứng nócho phù hợp với nhu cầu của mình

• Quyền tự do phân phát các phiên bản của phần mềm để giúp đỡ những ngườixung quanh

• Quyền tự do thêm mới các chức năng cho một chương trình và công bố những tínhnăng mới đó đến công chúng để toàn cộng đồng được hưởng lợi

Trang 19

1.2.2 HỌC THUYẾT OSI

Chương trình sáng kiến nguồn mở OSI (Open Source Initiative) đề xuất

• Chú trọng giá trị kĩ thuật của việc tạo ra những phần mềm mạnh, có độ tin cậy cao

và phù hợp với kinh doanh, đặc biệt là lợi ích thực tiễn của phương pháp xây dựng

và quảng bá phần mềm nguồn mở

• Open Source không chỉ có nghĩa là truy cập vào source code Các điều khoản phânphối phần mềm nguồn mở phải tuân theo các tiêu chí sau:

 Free Redistribution – Miễn phí phân phối lại

 Việc cấp giấy phép sẽ không hạn chế bất kì ai từ việc bán hoặc cho theo cáccách khác nhau

 Việc cấp giấy phép sẽ không đòi hỏi phải có trả tiền hoặc các chi phí khác

Trang 20

1.2.2 HỌC THUYẾT OSI (tiếp theo)

 Derived Works – Các sản phẩm dẫn xuất: Giấy phép phải cho phép sửa đổi, bổsung, các sản phẩm dẫn xuất phải cho phép họ được phân phối theo cùng mộtđiều khoản như giấy phép của phần mềm gốc

 Integrity of The Author's Source Code – Sự toàn vẹn source code của tác giả

 Giấy phép có thể đưa ra các hạn chế mã nguồn

 Giấy phép có thể yêu cầu các sản phẩm dẫn xuất mang một tên khác hay phiên bản khác từ phần mềm ban đầu

 No Discrimination Against Persons or Groups - Không phân biệt đối xử với cánhân hoặc nhóm: Giấy phép không được phân biệt đối xử đối với bất kì ngườinào hoặc nhóm người

 No Discrimination Against Fields of Endeavor – Chống lại phân biệt sự cố gắngcủa các thành viên: Giấy phép không được giới hạn việc sử dụng chương trìnhtrong các lĩnh vực cụ thể

 Distribution of License – Phân phối giấy phép: Các quyền kèm theo trong cácchương trình cần phải áp dụng cho tất cả các chương trình được phân phối, màkhông cần thực hiện thêm một giấy phép giữa các bên

Trang 21

1.3 CÁC LOẠI GIẤY PHÉP VỀ PHẦN MỀM MÃ NGUỒN MỞ

• Open Source Initiative (OSI) là tổ chức phi lợi nhuận đề xướng khái niệm nguồn mở

• OSI quản lí “The Open Source Definition” (định nghĩa về nguồn mở) nhằm xác địnhchính xác khái niệm về nguồn mở (http://opensource.org/docs/definition.php)

• Phần mềm mã nguồn mở đơn giản là phần mềm dùng loại giấy phép đáp ứng địnhnghĩa về nguồn mở trên

• Một số giấy phép mã nguồn mở phổ biến:

 Gnu General Public License (GPL);

 Gnu Lesser General Public License (LGPL);

 Mozilla Public License (MPL);

 Apache Software License;

 Apple Public Source License;

 Artistic License;

 BSD License

Trang 22

1.3 CÁC LOẠI GIẤY PHÉP VỀ PHẦN MỀM MÃ NGUỒN MỞ (tiếp theo)

• Cơ bản các giấy phép đều cho phép tự do sử dụng, phân phối, sửa đổi

• Nguồn mở không có nghĩa là trở thành của công Tác giả vẫn là người nắm giữ bảnquyền và không bị khước từ bất cứ quyền nào Họ cho phép sử dụng với những giớihạn riêng Ví dụ: Phải giữ tên tác giả ở những phiên bản kế thừa

• Người giữ bản quyền gốc có thể cung cấp phần mềm theo cả giấy phép nguồn mở

và giấy phép thương mại với các điều khoản khác nhau

• Phần mềm nguồn mở đôi khi cũng phải trả phí bản quyền

• Với đối tượng cá nhân thì không có nhiều sự khác biệt giữa các loại giấy phép

Trang 23

1.4 PHẦN MỀM DỊCH VỤ MIỄN PHÍ

• Bên cạnh phần mềm tự do và mã nguồn mở, xu

hướng hiện tại cung cấp phần mềm dưới dạng

dịch vụ

• Chuyển từ “mua” sang “thuê” phần mềm

• Hay cung cấp miễn phí với tính năng tối thiểu, trả

phí với tính năng mở rộng – Freemium

• Dùng bao nhiêu trả tiền bấy nhiêu

Trang 24

1.4 PHẦN MỀM DỊCH VỤ MIỄN PHÍ (tiếp theo)

SaaS – Software as a Service

• Dữ liệu được lưu trữ trên “Đám mây” (Internet)

• Truy cập phần mềm qua Web Browser

• Lợi ích:

 Truy cập được từ bất cứ đâu, bất cứ thời điểm nào

 Chi phí thường rẻ hơn mua phần mềm dạng sản phẩm (không phải trả tiền chonhững tính năng không dùng)

 Không cần sắm, cài đặt, bảo trì, hệ thống hay máy chủ Đơn giản chỉ cần có thiết

bị truy cập được và Internet

 Không phụ thuộc nền tảng (platform)

• Nhược điểm:

 Kết nối Internet và tốc độ đường truyền

 Khó tùy biến để đáp ứng nhu cầu đặc thù của doanh nghiệp

Trang 25

TÓM LƯỢC CUỐI BÀI

Trong bài học này, chúng ta đã tìm hiểu những nội dungchính sau:

• Khái niệm về phần mềm mã nguồn mở;

• Các học thuyết về phần mềm mã nguồn mở;

• Các loại giấy phép về phần mềm mã nguồn mở;

• Các phần mềm dịch vụ miễn phí

Ngày đăng: 09/01/2021, 08:51

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm