Chương 1 Tổng quan về các hệ thống mã nguồn mở

1. Khái niệm về phần mềm nguồn mở 2. Lợi ích của phần mềm nguồn mở 3. Nhược điểm của các hệ thống mã nguồn mở 4. Các loại giấy phép 5. Phân loại các nhóm phần mềm mã nguồn mở 6. Phần mềm miễn phí dạng dịch vụ (SaaS) 7. Yêu cầu đề tài

pdf38 trang | Chia sẻ: lylyngoc | Lượt xem: 2004 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Chương 1 Tổng quan về các hệ thống mã nguồn mở, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TỔNG QUAN VỀ CÁC HỆ THỐNG MÃ NGUỒN MỞ Giảng viên : ThS. Nguyễn Minh Thành Email : thanhnm@itc.edu.vn Chương 1 : Môn Các Hệ Thống Mã Nguồn Mở 1 Nội Dung 1. Khái niệm về phần mềm nguồn mở 2. Lợi ích của phần mềm nguồn mở 3. Nhược điểm của các hệ thống mã nguồn mở 4. Các loại giấy phép 5. Phân loại các nhóm phần mềm mã nguồn mở 6. Phần mềm miễn phí dạng dịch vụ (SaaS) 7. Yêu cầu đề tài Môn Các Hệ Thống Mã Nguồn Mở 2 Khái niệm về phần mềm nguồn mở • Phần mềm nguồn mở (PMNM) là phần mềm được cung cấp với cả mã và nguồn. • Không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung quy định trong giấy phép phần mềm nguồn mở (General Public Licence - GPL). Môn Các Hệ Thống Mã Nguồn Mở 3 Khái niệm về phần mềm nguồn mở (tt) • PMNM không phải lúc nào cũng miễn phí. • Nhà cung cấp PMNM có thể không thu phí sử dụng phần mềm nhưng có thể thu phí các dịch vụ khác như : bảo hành, huấn luyện, nâng cấp, tư vấn, vv… tức là những dịch vụ để phục vụ người dùng, nhưng không được bán các sản phẩm nguồn mở vì nó là tài sản của trí tuệ chung, không phải là tài sản riêng của một nhà cung cấp nào. • Hoặc các công cụ hỗ trợ thêm cho phần mềm có thể bị thu phí. Môn Các Hệ Thống Mã Nguồn Mở 4 Khái niệm về phần mềm nguồn mở (tt) • Các nhà cung cấp PMNM có quyền không hỗ trợ bạn trong quá trình sử dụng phần mềm hoặc phải mất một mức phí để được hỗ trợ. • Phần này không có trong giấy phép sử dụng PMNM. Môn Các Hệ Thống Mã Nguồn Mở 5 Khái niệm về phần mềm nguồn mở (tt) • Người dùng có đầy đủ quyền truy cập vào mã nguồn. • Tự do sử dụng chương trình cho mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình, chỉnh sữa phù hợp với nhu cầu, truy cập vào mã nguồn, quyền tự do phân phối lại các phiên bản cho nhiều người, quyền tự do cải tiến chương trình và phát hành những bản cải tiến vì mục đích công cộng. Môn Các Hệ Thống Mã Nguồn Mở 6 Lịch sử phát triển • 1983 : Xu hướng phần mềm miền phí “Free Software” bắt đầu • 1995 : Free Software Foundation đưa ra định nghĩa về phần mềm miễn phí. • 1998 : Tổ chức “Open Source Initiative” do Eric S. Raymond và Bruce Perens thành lập đã đổi thuật ngữ “phần mềm miễn phí” thành “phần mềm nguồn mở” • Miễn phí • Có source code • Có thể thay đổi, tinh chỉnh source code Môn Các Hệ Thống Mã Nguồn Mở 7 Lợi ích của phần mềm nguồn mở • Tính an toàn • Tính ổn định/đáng tin cậy • Các chuẩn mở và việc không phải lệ thuộc nhà cung cấp • Giảm phụ thuộc vào nhập khẩu • Phát triển năng lực của ngành công nghiệp phần mềm địa phương • Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ, và tính tuân thủ WTO • Nội địa hoá Môn Các Hệ Thống Mã Nguồn Mở 8 Nhược điểm của PMNM • Nhiều lĩnh vực chưa có sản phẩm phần mềm hoàn thiện • Không hoàn toàn tương thích với PMNĐ • Thiếu tính tiện dụng vốn là đặc trưng của phần mềm thương mại • Không có sự hỗ trợ một cách chính thức Môn Các Hệ Thống Mã Nguồn Mở 9 Các loại giấy phép • Phần mềm thương mại (Commercial Software) • Là phần mềm thuộc bản quyền của tác giả hoặc nhà sản xuất, chỉ được cung cấp ở dạng mã nhị phân, người dùng phải mua và không có quyền phân phối lại. • Phần mềm thử nghiệm giới hạn (Limited Trial Software) • Là những phiên bản giới hạn của các phần mềm thương mại được cung cấp miễn phí nhằm mục đích thử nghiệm, giới thiệu sản phẩm và kích thích người dùng quyết định mua. Loại sản phấm này không chỉ giới hạn về tính năng mà còn giới hạn về thời gian dùng thử (thường là 60 ngày). Môn Các Hệ Thống Mã Nguồn Mở 10 Các loại giấy phép Giấp phép đại chúng GNU (General Public License) • Người phổ biến một chương trình đã được cấp phép đại chúng phải đồng thời phổ biến luôn cả mã nguồn cho người nhận • Nếu người phổ biến chương trình đã thực hiện một sửa đổi gì đó cho phần mềm thì những sửa đổi đó cũng phải được cấp phép theo chế độ giấy phép đại chúng • Người phổ biến chương trình không áp dụng với người nhận bất cứ hạn chế nào không thuộc phạm vi giấy phép đại chúng • Người nhận một phần mềm đã cấp phép đại chúng sẽ được trao y nguyên mọi quyền như người phổ biến gốc, tức là quyền sao chép, chỉnh sửa và phổ biến phần mềm Môn Các Hệ Thống Mã Nguồn Mở 11 Các loại giấy phép Giấp phép BSD (Berkeley System Distribution) • Ghi nhận công lao của tác giả đầu tiên làm ra phần mềm bằng cách đưa vào file mã nguồn các thông tin bản quyền gốc • Người phát hành ban đầu sẽ không chịu trách nhiệm trước pháp luật về bất cứ thiệt hại nào phát sinh do sử dụng những phần mềm nguồn mở đã được chỉnh sửa Môn Các Hệ Thống Mã Nguồn Mở 12 Các loại giấy phép Môn Các Hệ Thống Mã Nguồn Mở 13 Giấp phép đại chúng Giấp phép BSD Phải phổ biến mã nguồn gốc Có Không Phải phổ biến mã nguồn người dùng tạo mới Có Không Mã nguồn tạo mới phải được cấp phép đại chúng Có Không Các loại giấy phép khác Môn Các Hệ Thống Mã Nguồn Mở 14 • Academic Free License • Adaptive Public License • Apache Software License • Apache License, 2.0 • Apple Public Source License • Artistic license • Attribution Assurance Licenses • New BSD license • Computer Associates Trusted • Open Source License 1.1 • Common Development and • Distribution License • Common Public License 1.0 • CUA Office Public License Version 1.0 • EU DataGrid Software License • Eclipse Public License • Educational Community License • Eiffel Forum License • Eiffel Forum License V2.0 • Entessa Public License • Fair License • Frameworx License • GNU General Public License • (GPL) • GNU Library or "Lesser" • General Public License (LGPL) • Historical Permission Notice and Disclaimer Các loại giấy phép khác Môn Các Hệ Thống Mã Nguồn Mở 15 • IBM Public License • Intel Open Source License • Jabber Open Source License • Lucent Public License (Plan9) • Lucent Public License Version 1.02 • MIT license • MITRE Collaborative Virtual Workspace License (CVW License) • Motosoto License • Mozilla Public License 1.0 (MPL) • Mozilla Public License 1.1 (MPL) • NASA Open Source Agreement 1.3 • Naumen Public License • Nethack General Public License • Nokia Open Source License • OCLC Research Public License 2.0 • Open Group Test Suite License • Open Software License Các loại giấy phép khác Môn Các Hệ Thống Mã Nguồn Mở 16 • PHP License • Python license (CNRI Python License) • Python Software Foundation License • Qt Public License (QPL) • RealNetworks Public Source License V1.0 • Reciprocal Public License • Ricoh Source Code Public License • Sleepycat License • Sun Industry Standards Source License (SISSL) • Sun Public License • Sybase Open Watcom Public License 1.0 • University of Illinois/NCSA Open Source License • Vovida Software License v. 1.0 W3C License • wxWindows Library License • X.Net License • Zope Public License • zlib/libpng license Phân loại phần mềm nguồn mở • Các phần mềm NM có thể được phân loại theo chức năng • Hệ điều hành • Cơ sở dữ liệu • Ứng dụng trên Desktop • Ứng dụng Server • Ứng dụng Web Môn Các Hệ Thống Mã Nguồn Mở 17 Phân loại phần mềm nguồn mở • Nhóm hệ điều hành • Linux • Unix • Android • … Môn Các Hệ Thống Mã Nguồn Mở 18 Phân loại phần mềm nguồn mở (tt) • Nhóm Cơ sở dữ liệu • MySQL • Cassandra • PostgreSQL • … Môn Các Hệ Thống Mã Nguồn Mở 19 Phân loại phần mềm nguồn mở (tt) • Nhóm ứng dụng Desktop • Open Office • Xara Xtreme • GZIP • Eclipse • … Môn Các Hệ Thống Mã Nguồn Mở 20 Phân loại phần mềm nguồn mở (tt) • Nhóm Server • Webserver • Apache • NGINX • Lighttpd • Mail Server • SENDMAIL • QMAIL • POSTFIX • EXIM Môn Các Hệ Thống Mã Nguồn Mở 21 • File Server • XtreemFS • HFS • Openfiler Phân loại phần mềm nguồn mở (tt) • Nhóm ứng dụng Web trên nền PHP : loại ứng dụng rộng rãi hiện nay Môn Các Hệ Thống Mã Nguồn Mở 22 Phân loại phần mềm nguồn mở (tt) • Loại hệ thống chuyên về CMS/Portal Môn Các Hệ Thống Mã Nguồn Mở 23 Phân loại phần mềm nguồn mở (tt) • Loại hệ thống chuyên về Forum Môn Các Hệ Thống Mã Nguồn Mở 24 Phân loại phần mềm nguồn mở (tt) • Loại hệ thống chuyên về Blog Môn Các Hệ Thống Mã Nguồn Mở 25 Phân loại phần mềm nguồn mở (tt) • Loại hệ thống chuyên về thương mại điện tử (eCommerce) Môn Các Hệ Thống Mã Nguồn Mở 26 Phân loại phần mềm nguồn mở (tt) • Loại hệ thống chuyên về ERP Môn Các Hệ Thống Mã Nguồn Mở 27 Phân loại phần mềm nguồn mở (tt) • Loại hệ thống chuyên về Giáo dục (Education) Môn Các Hệ Thống Mã Nguồn Mở 28 Phân loại phần mềm nguồn mở (tt) • Loại hệ thống chuyên về Social Networking Môn Các Hệ Thống Mã Nguồn Mở 29 Phân loại phần mềm nguồn mở (tt) • Các loại hệ thống Open Source Web trên nền .NET Môn Các Hệ Thống Mã Nguồn Mở 30 Phần mềm miễn phí dạng dịch vụ (SaaS) Môn Các Hệ Thống Mã Nguồn Mở 31 Phần mềm miễn phí dạng dịch vụ (SaaS) Môn Các Hệ Thống Mã Nguồn Mở 32 • 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. Phần mềm miễn phí dạng dịch vụ (SaaS) Môn Các Hệ Thống Mã Nguồn Mở 33 • SaaS – Software as a Service • Dữ liệu được lưu trữ trên “mây” (Internet) • Truy cập phần mềm qua web browser Phần mềm miễn phí dạng dịch vụ (SaaS) Môn Các Hệ Thống Mã Nguồn Mở 34 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ảnphẩm (không phải trả tiền cho những tính năngkhô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) Phần mềm miễn phí dạng dịch vụ (SaaS) Môn Các Hệ Thống Mã Nguồn Mở 35 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 • Rủi ro về bảo mật thông tin • Lệ thuộc vào nhà cung cấp dịch vụ Đánh Giá Môn Học •Giữa kỳ (Nhóm 3 người) : 30% • Tìm hiểu và triển khai một hệ thống MNM bất kỳ •Cuối kỳ (Nhóm 3 người) : 70% • Xây dựng website thương mại điện tử • Tự xây dựng bằng PHP & MySQL (có thể sử dụng mô hình MVC) • Thực Hành • Thi thực hành trực tiếp trên máy Môn Các Hệ Thống Mã Nguồn Mở 36 Đăng ký nhóm • Website : https://sites.google.com/site/trangmonhocitc/ • Hạn chót : • Mỗi đề tài (giữa và cuối kỳ) bao gồm : • 1 báo cáo (theo mẫu trên website khoa CNTT) • 1 đĩa CD chứa source và chương trình đã cài đặt • Đề tài giữa kỳ phải thực hiện thuyết trình trước lớp. Môn Các Hệ Thống Mã Nguồn Mở 37 Hỏi Đáp ? Môn Các Hệ Thống Mã Nguồn Mở 38
Tài liệu liên quan