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
38 trang |
Chia sẻ: lylyngoc | Lượt xem: 2116 | Lượt tải: 1
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