Xem mẫu

  1. MÃ NGUỒN MỞ Giảng viên: ThS. Phan Thanh Toàn 11 v1.0015106225
  2. BÀI 1 TỔNG QUAN VỀ MÃ NGUỒN MỞ Giảng viên: ThS. Phan Thanh Toàn v1.0015106225 2
  3. MỤC TIÊU BÀI HỌC • Phân biệt được phần mềm mã nguồn mở và phần mềm bản quyền. • Trình bày được các điểm chính trong các học thuyết về mã nguồn mở. • Liệt kê được các loại giấy phép của phần mềm mã nguồn mở. v1.0015106225 3
  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. v1.0015106225 4
  5. HƯỚNG DẪN HỌC • Đọc tài liệu và tóm tắt những nội dung chính của từng bài. • Luôn liên hệ và lấy ví dụ thực tế khi học đến từng vấn đề và khái niệm. • 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. v1.0015106225 5
  6. CẤU TRÚC NỘI DUNG 1.1 Khái niệm phần mềm mã nguồn mở 1.2 Các học thuyết về phần mềm mã nguồn mở 1.3 Các loại giấy phép về phần mềm mã nguồn mở 1.4 Phần mềm dịch vụ miễn phí v1.0015106225 6
  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ở v1.0015106225 7
  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. v1.0015106225 8
  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 được chương trình. v1.0015106225 9
  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). v1.0015106225 10
  11. 1.1.2. PHẦN MỀM MÃ NGUỒN MỞ • Lịch sử hình thành phần mềm tự do mã nguồn mở Free Software Free and Open Definition Software Definition (1986) (1998) Open Software FLOSS Definition (2001) (1998) v1.0015106225 11
  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 trong giấ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 source software. v1.0015106225 12
  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ẽ cho ngườ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ên cứ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ặc phầ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 trình trước). v1.0015106225 13
  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ệ. v1.0015106225 14
  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ệ; • Một dịch vụ; • Một sản phẩm. • Sự thể hiện kĩ thuật. Lập trình viên Được phân công làm các Tham gia vào các phần phần của dự án. theo năng lực. Cài đặt trên máy mà Vi phạm bản quyền. Không vi phạm, mang lại không trả phí giá trị hơn cho phần mềm. Bảo mật được đảm Không ai bên ngoài biết Ai cũng có thể phát hiện lỗi bảo nhờ được cơ chế làm việc và đề xuất giải pháp xử lí. bên trong. 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; • Hỗ trợ kĩ thuật. • Hỗ trợ kĩ thuật. v1.0015106225 15
  16. 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ó sự hỗ trợ kĩ thuật một cách chính thức, ít tài liệu, giao diện tương tác chưa thuận tiện. Tính cam kết duy trì sự phát triển thấp. Nhược điểm Khó kiểm soát phiên bản và sự thay đổi mã nguồn. Phải tuân thủ theo các yêu cầu trong giấy phép. v1.0015106225 16
  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 v1.0015106225 17
  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ác quyề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ười xung 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ính năng mới đó đến công chúng để toàn cộng đồng được hưởng lợi. v1.0015106225 18
  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ân phố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ác cá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.  Source code  Chương trình phải bao gồm source code, và phải cho phép phân phối source code cũng như các hình thức biên soạn.  Trong trường hợp một số sản phẩm không được phân phối với mã nguồn, thì phải công bố trên các phương tiện đại chúng hoặc download từ Internet mà không có phí.  Source code phải được ưu tiên trong trường hợp lập trình viên sẽ chỉnh sửa chương trình.  Cố ý làm rối source code là không được phép. v1.0015106225 19
  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ười nào hoặc nhóm người.  No Discrimination Against Fields of Endeavor – Chống lại phân biệt sự cố gắng củ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ình trong 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ác chươ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. v1.0015106225 20
nguon tai.lieu . vn