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 4 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

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í.

MÃ NGUỒN MỞ Giảng viên: ThS Phan Thanh Toàn v1.0015106225 11 BÀI TỔNG QUAN VỀ MÃ NGUỒN MỞ Giảng viên: ThS Phan Thanh Toàn v1.0015106225 MỤC TIÊU BÀI HỌC • Phân biệt phần mềm mã nguồn mở phần mềm quyền • Trình bày điểm học thuyết mã nguồn mở • Liệt kê loại giấy phép phần mềm mã nguồn mở v1.0015106225 CÁC KIẾN THỨC CẦN CÓ Để hiểu rõ này, yêu cầu sinh viên cần có kiến thức liên quan đến mơn học sau: • Cơng nghệ phần mềm; • Nguyên lí hệ điều hành v1.0015106225 HƯỚNG DẪN HỌC • Đọc tài liệu tóm tắt nội dung • Ln liên hệ lấy ví dụ thực tế học đến vấn đề khái niệm • Thực hành trực tiếp hệ điều hành Linux số phần mềm mã nguồn mở Open office, PHP • Làm tập luyện thi trắc nghiệm theo yêu cầu v1.0015106225 CẤU TRÚC NỘI DUNG v1.0015106225 1.1 Khái niệm phần mềm mã nguồn mở 1.2 Các học thuyết phần mềm mã nguồn mở 1.3 Các loại giấy phép phần mềm mã nguồn mở 1.4 Phần mềm dịch vụ miễn phí 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ở v1.0015106225 1.1.1 PHẦN MỀM MIỄN PHÍ Khái niệm phần mềm • Phần mềm chương trình chạy máy tính; • Phần mềm phát triển dựa ngơn ngữ lập trình; • Chương trình tập lệnh theo ngơn ngữ lập trình; • Tập lệnh chương trình gọi mã nguồn (Source code); • Source code dịch thành mã máy v1.0015106225 1.1.1 PHẦN MỀM MIỄN PHÍ (tiếp theo) Cơ sở 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 u cầu quyền sở hữu cho phép để thay đổi mã nguồn • Bất kì kiểm sốt mã nguồn hợp pháp 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 chương trình v1.0015106225 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, chép, phân phối và/hoặc sửa đổi tự do;  Một số cung cấp mã nguồn;  Tuân thủ theo giấy phép gốc phần mềm  Phần mềm dạng dịch vụ miễn phí: v1.0015106225  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 web;  Xuất phát điểm từ trào lưu phần mềm dịch vụ (SaaSSoftware as a Service) 10 1.1.2 PHẦN MỀM MÃ NGUỒN MỞ • Lịch sử hình thành phần mềm tự mã nguồn mở Free Software Definition (1986) Free and Open Software Definition (1998) Open Software Definition (1998) v1.0015106225 FLOSS (2001) 11 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 khơng có mã nguồn;  Mang nghĩa tự (khơng hẳn miễn phí), sử dụng, chép, phân phối, sửa đổi (nếu có mã nguồn) • Open source software  Có mã nguồn, sử dụng, chép, phân phối, sửa đổi theo quy định giấy phép;  Mang nghĩa nhóm nhiều người phát triển dựa mã nguồn cung cấp • FOSS (Free and open-source software): Vừa free software lẫn Open source software v1.0015106225 12 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 chương trình mà quy trình cấp phép cho người dùng quyền tự chạy chương trình theo mục đích nào, quyền nghiên cứu sửa đổi chương trình, quyền chép tái phát hành phần mềm gốc phần mềm sửa đổi (mà trả tiền quyền cho người lập trình trước) v1.0015106225 13 1.1.2 PHẦN MỀM MÃ NGUỒN MỞ (tiếp theo) • Sự bùng nổ số lượng triển khai hệ thống phần mềm nguồn mở làm thay đổi giới cơng nghệ thơng tin • Khi hệ thống FOSS phát triển, nhiều người sớm sử dụng hệ thống chuyên gia công nghệ v1.0015106225 14 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ở phần mềm thương mại Phần mềm thương mại Được coi Phần mềm mã nguồn mở • Một tài sản trí tuệ; • Một dịch vụ; • Một sản phẩm • Sự thể kĩ thuật Lập trình viên Được phân cơng làm Tham gia vào phần phần dự án theo lực Cài đặt máy mà khơng trả phí Vi phạm quyền Bảo mật đảm bảo nhờ Không bên ngồi biết Ai phát lỗi chế làm việc đề xuất giải pháp xử lí bên Lợi nhuận đem lại • Bán phiên mới; • Bán dịch vụ kèm; • Hỗ trợ kĩ thuật • Hỗ trợ kĩ thuật v1.0015106225 Không vi phạm, mang lại giá trị cho phần mềm 15 1.1.2 PHẦN MỀM MÃ NGUỒN MỞ (tiếp theo) Giảm chi phí Ưu điểm Có thể thay đổi phần mềm để đáp ứng nhu cầu riêng Không có hỗ trợ kĩ thuật cách thức, tài liệu, giao diện tương tác chưa thuận tiện Tính cam kết trì phát triển thấp Nhược điểm Khó kiểm sốt phiên thay đổi mã nguồn Phải tuân thủ theo yêu cầu giấy phép v1.0015106225 16 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 v1.0015106225 17 1.2.1 HỌC THUYẾT FSF Tổ chức phần mềm tự FSF (Free Software Foundation) đề xuất nhằm bảo vệ quyền tự người dùng • Quyền tự chạy chương trình với mục đích • Quyền tự nghiên cứu cách thức vận hành chương trình thích ứng cho phù hợp với nhu cầu • Quyền tự phân phát phiên phần mềm để giúp đỡ người xung quanh • Quyền tự thêm chức cho chương trình cơng bố tính đến cơng chúng để tồn cộng đồng hưởng lợi v1.0015106225 18 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 việc tạo phần mềm mạnh, có độ tin cậy cao phù hợp với kinh doanh, đặc biệt lợi ích thực tiễn phương pháp xây dựng quảng bá phần mềm nguồn mở • Open Source khơng có nghĩa truy cập vào source code Các điều khoản phân phối phần mềm nguồn mở phải tuân theo tiêu chí sau:  Free Redistribution – Miễn phí phân phối lại  Việc cấp giấy phép không hạn chế từ việc bán cho theo cách khác  Việc cấp giấy phép không địi hỏi phải có trả tiền chi phí khác  Source code  Chương trình phải bao gồm source code, phải cho phép phân phối source code hình thức biên soạn  Trong trường hợp số sản phẩm không phân phối với mã nguồn, phải cơng bố phương tiện đại chúng download từ Internet mà khơng có phí  Source code phải ưu tiên trường hợp lập trình viên chỉnh sửa chương trình  Cố ý làm rối source code không phép v1.0015106225 19 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, sản phẩm dẫn xuất phải cho phép họ phân phối theo điều khoản giấy phép phần mềm gốc  Integrity of The Author's Source Code – Sự toàn vẹn source code tác giả   Giấy phép đưa hạn chế mã nguồn Giấy phép yêu cầu sản phẩm dẫn xuất mang tên khác hay phiê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 nhóm: Giấy phép không phân biệt đối xử người nhóm người  No Discrimination Against Fields of Endeavor – Chống lại phân biệt cố gắng thành viên: Giấy phép không giới hạn việc sử dụng chương trình lĩnh vực cụ thể  Distribution of License – Phân phối giấy phép: Các quyền kèm theo chương trình cần phải áp dụng cho tất chương trình phân phối, mà không cần thực thêm giấy phép bên v1.0015106225 20 1.3 CÁC LOẠI GIẤY PHÉP VỀ PHẦN MỀM MÃ NGUỒN MỞ • Open Source Initiative (OSI) 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 nguồn mở) nhằm xác định xác khái niệm nguồn mở (http://opensource.org/docs/definition.php) • Phần mềm mã nguồn mở đơn giản phần mềm dùng loại giấy phép đáp ứng định nghĩa nguồn mở • 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 v1.0015106225 21 1.3 CÁC LOẠI GIẤY PHÉP VỀ PHẦN MỀM MÃ NGUỒN MỞ (tiếp theo) • Cơ giấy phép cho phép tự sử dụng, phân phối, sửa đổi • Nguồn mở khơng có nghĩa trở thành cơng Tác giả người nắm giữ quyền không bị khước từ quyền Họ cho phép sử dụng với giới hạn riêng Ví dụ: Phải giữ tên tác giả phiên kế thừa • Người giữ quyền gốc cung cấp phần mềm theo giấy phép nguồn mở giấy phép thương mại với điều khoản khác • Phần mềm nguồn mở đơi phải trả phí quyền • Với đối tượng cá nhân khơng có nhiều khác biệt loại giấy phép v1.0015106225 22 1.4 PHẦN MỀM DỊCH VỤ MIỄN PHÍ • Bên cạnh phần mềm tự mã nguồn mở, xu hướng cung cấp phần mềm 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 tối thiểu, trả phí với tính mở rộng – Freemium • Dùng trả tiền nhiêu v1.0015106225 23 1.4 PHẦN MỀM DỊCH VỤ MIỄN PHÍ (tiếp theo) SaaS – Software as a Service • Dữ liệu lưu trữ “Đám mây” (Internet) • Truy cập phần mềm qua Web Browser • Lợi ích:  Truy cập từ đâu, thời điểm  Chi phí thường rẻ mua phần mềm dạng sản phẩm (khơng phải trả tiền cho tính 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 cần có thiết bị truy cập Internet  Không phụ thuộc tảng (platform) • Nhược điểm:  Kết nối Internet tốc độ đường truyền  Khó tùy biến để đáp ứng nhu cầu đặc thù doanh nghiệp  Rủi ro bảo mật thông tin  Lệ thuộc vào nhà cung cấp dịch vụ v1.0015106225 24 TÓM LƯỢC CUỐI BÀI Trong học này, tìm hiểu nội dung sau: v1.0015106225 • Khái niệm phần mềm mã nguồn mở; • Các học thuyết phần mềm mã nguồn mở; • Các loại giấy phép phần mềm mã nguồn mở; • Các phần mềm dịch vụ miễn phí 25 ... nguồn mở 1. 3 Các loại giấy phép phần mềm mã nguồn mở 1. 4 Phần mềm dịch vụ miễn phí 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ở v1.0 015 106225 1. 1 .1 PHẦN... phiên thay đổi mã nguồn Phải tuân thủ theo yêu cầu giấy phép v1.0 015 106225 16 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 v1.0 015 106225 17 1. 2 .1 HỌC THUYẾT...BÀI TỔNG QUAN VỀ MÃ NGUỒN MỞ Giảng viên: ThS Phan Thanh Toàn v1.0 015 106225 MỤC TIÊU BÀI HỌC • Phân biệt phần mềm mã nguồn mở phần mềm quyền • Trình bày điểm học thuyết mã nguồn mở •

Ngày đăng: 07/05/2021, 13:15