Nội dung
• Các định nghĩa về phần mềm mã nguồn mở
(Open Source Software - OSS)
• Phần mềm tự do (free software)
• Các loại phần mềm.
• Bốn nguyên lý của phần mềm mã nguồn mở.
• Hệ điều hành mã nguồn mở.
• Phần mềm văn phòng mã nguồn mở thông
dụng.
• Hệ quản trị cơ sở dữ liệu mã nguồn mở.
• Công cụ lập trình mã nguồn mở.
• Phần mềm máy ảo Oracle VirtualBox
29 trang |
Chia sẻ: phuongt97 | Lượt xem: 376 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Phần mềm nguồn mở - Bài 1: Tổng quan về phần - Đoàn Thiện Ngân, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đoàn Thiện Ngân Bài 1 - 1/29
Bài 1: Tổng quan về phần
mềm mã nguồn mở
GV: ĐOÀN THIỆN NGÂN
dngan2003@gmail.com – ngan@ueh.edu.vn
Đoàn Thiện Ngân Bài 1 - 2/29
Nội dung
• Các định nghĩa về phần mềm mã nguồn mở
(Open Source Software - OSS)
• Phần mềm tự do (free software)
• Các loại phần mềm.
• Bốn nguyên lý của phần mềm mã nguồn mở.
• Hệ điều hành mã nguồn mở.
• Phần mềm văn phòng mã nguồn mở thông
dụng.
• Hệ quản trị cơ sở dữ liệu mã nguồn mở.
• Công cụ lập trình mã nguồn mở.
• Phần mềm máy ảo Oracle VirtualBox
Đoàn Thiện Ngân Bài 1 - 3/29
Tài liệu tham khảo
• A practical guide to Fedora and Red Hat Enterprise
Linux, Mark G. Sobell. —6th Edition, 2011,
Prentice Hall.
• Shell Scripting, Steve Parker, 2011
John Wiley & Sons, Inc.
• Unix® Shell Programming, 3rd Edition;
Stephen G. Kochan, Patrick Wood;
Sams Publishing; 2003.
• Perspectives on Free and Open Source Software;
Joseph Feller, Brian Fitzgerald, Scott A. Hissam,
and Karim R. Lakhani; MIT Press, Cambridge,
Massachusetts, London, England; 2005.
• Open Source for the Enterprise; Gautam Guliani &
Dan Woods; O'Reilly; 2005
• Handbook of Open Source Tools, Sandeep Koranne
Springer, 2010
Đoàn Thiện Ngân Bài 1 - 4/29
Định nghĩa phần mềm mã nguồn mở
• Phần mềm mã nguồn mở: Open Source
Software – OSS.
• Định nghĩa từ Wikipedia
vi.wikipedia.org/wiki/ Phần_mềm_nguồn_mở
• Ban chỉ Đạo Phần mềm nguồn mở Quốc
gia
(???)
• OSI - Open Source Initiative
• OSS với IBM
www.ibm.com/developerworks/opensource/newto
Đoàn Thiện Ngân Bài 1 - 5/29
OSI - OSS
• Open source doesn't just mean access to
the source code.
• The distribution terms of open-source
software must comply with the following
criteria (10):
1. Free Redistribution
2. Source Code
3. Derived Works
4. Integrity of The Author's Source Code
Đoàn Thiện Ngân Bài 1 - 6/29
OSI – OSS (cont.)
5. No Discrimination Against Persons or
Groups
6. No Discrimination Against Fields of
Endeavor
7. Distribution of License
8. License Must Not Be Specific to a
Product
9. License Must Not Restrict Other
Software
10. License Must Be Technology-Neutral
Đoàn Thiện Ngân Bài 1 - 7/29
IBM - OSS
• Open source is collaboration. More specifically,
it's public collaboration on a software project.
• IBM has committed to open source in a big way
with contributions to more than 120 projects,
including more than $1 billion in Linux®
development.
• According to OSI: "Open source promotes
software reliability and quality by supporting
independent peer review and rapid evolution of
source code. To be OSI certified, the software
must be distributed under a license that
guarantees the right to read, redistribute, modify,
and use the software freely."
Đoàn Thiện Ngân Bài 1 - 8/29
Phần mềm tự do - Free software
• FSF (Free Software Foundation) –
GNU (GNU's Not Unix!)
www.fsf.org; www.gnu.org
• “Free software” is a matter of liberty, not
price. To understand the concept, you
should think of “free” as in “free speech,”
not as in “free beer.”
• FOSS - IBM
Free and Open Source Software
FOSS stands for Free and Open Source
Software. This term is used for software that
satisfies either the definition in free or the
definition in open source, when there is no
need to make a distinction.
Đoàn Thiện Ngân Bài 1 - 9/29
Phần mềm tự do - 2
Free software is a matter of the users' freedom to run,
copy, distribute, study, change and improve the
software. More precisely, it means that the program's
users have the four essential freedoms:
1) The freedom to run the program, for any purpose
(freedom 0).
2) The freedom to study how the program works, and
change it to make it do what you wish (freedom 1).
Access to the source code is a precondition for this.
3) The freedom to redistribute copies so you can help
your neighbor (freedom 2).
4) The freedom to distribute copies of your modified
versions to others (freedom 3). By doing this you
can give the whole community a chance to benefit
from your changes. Access to the source code is a
precondition for this.
Đoàn Thiện Ngân Bài 1 - 10/29
Phần mềm tự do - 3
Free software is a matter of the users' freedom to run,
copy, distribute, study, change and improve the
software. More precisely, it means that the program's
users have the four essential freedoms:
1) The freedom to run the program, for any purpose
(freedom 0).
2) The freedom to study how the program works, and
change it to make it do what you wish (freedom 1).
Access to the source code is a precondition for this.
3) The freedom to redistribute copies so you can help
your neighbor (freedom 2).
4) The freedom to distribute copies of your modified
versions to others (freedom 3). By doing this you
can give the whole community a chance to benefit
from your changes. Access to the source code is a
precondition for this.
Đoàn Thiện Ngân Bài 1 - 11/29
Các loại phần mềm - 1
1. 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.
2. 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).
Đoàn Thiện Ngân Bài 1 - 12/29
Các loại phần mềm - 2
3. Phần mềm “chia sẻ” (Shareware) Loại phần mềm
này có đủ các tính năng và được phân phối tự do,
nhưng có một giấy phép khuyến cáo các cá nhân
hoặc tổ chức mua, tùy tình hình cụ thể. Nhiều tiện
ích Internet như “WinZip” dùng các thuận lợi của
Shareware như một hệ thống phân phối.
4. Phần mềm sử dụng phi thương mại (Non-
commercial Use) Loại phần mềm này được sử
dụng tự do và có thể phân phối lại bởi các tổ chức
phi lợi nhuận. Nhưng các tổ chức kinh tế, thí dụ
các doanh nghiệp, ... muốn dùng phải mua. Trình
duyệt trước đây Netscape Navigator là một ví dụ
của loại phần mềm này.
Đoàn Thiện Ngân Bài 1 - 13/29
Các loại phần mềm - 3
5. Phần mềm không phải trả phần trăm cho nhà
sản xuất (Royalties Free Binaries Software)
Phần mềm được cung cấp dưới dạng nhị phân –
thực thi – chạy được (binary-executable) và
được dùng tự do. Ví dụ: bản thực thi của các
phần mềm Internet Explorer và NetMeeting.
6. Thư viện phần mềm không phải trả phần trăm
(Royalties Free Software Libraries)
Là những phần mềm mà mã nhị phân cũng như
mã nguồn được dùng và phân phối tự do,
nhưng người dùng không được phép sửa đổi.
Thí dụ: các thư viện lớp, ...
Đoàn Thiện Ngân Bài 1 - 14/29
Các loại phần mềm - 4
7. Phần mềm mã nguồn mở kiểu BSD - (Open Source
BSD-style) Một nhóm nhỏ khép kín (closed team) đã
phát triển các PMNM theo giấy phép Berkeley (BSD –
Berkeley Software Distribution) cho phép sử dụng và
phân phối lại các phần mềm này dưới dạng mã nhị
phân và mã nguồn. Tuy người dùng có quyền sửa đổi
mã, nhưng về nguyên tắc nhóm phát triển không cho
phép người dùng tự do lấy mã nguồn từ kho mã ra
sửa (check-out) và đưa mã đã sửa vào lại kho mã mà
không được họ kiểm tra trước (“check-in”).
8. PMNM kiểu Apache (Open Source Apache-style)
Chấp nhận nguồn mở kiểu BSD nhưng cho phép
những người ngoài nhóm phát triển xâm nhập vào lõi
của mã nền (core codebase), tức là được phép thực
hiện các “check-in”.
Đoàn Thiện Ngân Bài 1 - 15/29
Các loại phần mềm - 5
9. PMNM kiểu CopyLeft hay kiểu Linux (Open
Source CopyLeft, Linux-style)
PMNM kiểu CopyLeft (trò chơi chữ của Free
Software Foundation – FSF – và GNU – Gnu’s
Not Unix, để đối nghịch hoàn toàn với
CopyRight !) hay còn gọi là giấy phép GPL
(General Public Licence) là một bước tiến quan
trọng theo hướng tự do hóa của các giấy phép
phần mềm. Giấy phép GPL yêu cầu không
những mã nguồn gốc phải được phân phối theo
các qui định của GPL mà mọi sản phẩm dẫn xuất
cũng phải tuân thủ GPL.
Đoàn Thiện Ngân Bài 1 - 16/29
Các loại phần mềm - 6
• GPL cho người dùng tối đa quyền hạn và
tự do đối với các PMNM theo GPL, cụ thể
người dùng có quyền không những sao
chép, sửa đổi, mua bán các PMNM dưới
CopyLeft mà còn được quyền tự do như
vậy đối với các phần mềm dẫn xuất.
• Tóm lại nếu PMNM gốc đã theo CopyLeft
thì mọi PMNM dẫn xuất của nó cũng
đương nhiên theo CopyLeft.
Đoàn Thiện Ngân Bài 1 - 17/29
Bốn nguyên lý của OSS
• The first principle of open source:
Open source software is most frequently
built by programmers for other
programmers.
• The second principle of open source:
Open source projects are communities of
developers and users organized around
software that meets a common need.
Đoàn Thiện Ngân Bài 1 - 18/29
Bốn nguyên lý của OSS - 2
• The third principle of open source:
Open source software is not planned, but
evolves according to the changing values
and goals of the community.
• The (4th) final principle of open source:
The health, maturity, and stability of an
open source project is a direct reflection
of the health, maturity, and stability of the
community that surrounds it.
Đoàn Thiện Ngân Bài 1 - 19/29
Hệ điều hành mã nguồn mở
• BSD Unix, Solaris (!!!) – SUN
• Linux: Linus Torvald
– Debian
– Slackware
– Red Hat: Red Hat Enterprise Linux – Fedora
– Cent OS,
– SUSE (Novell Netware – IBM)
– Mandrake, Caldera (SCO)
– TurboLinux, Lindows,
– Knoppix, Ubuntu, Austrumi, (live cdrom,
live dvd)
– CMC Linux, Vietkey Linux (!!!)
Đoàn Thiện Ngân Bài 1 - 20/29
Red Hat Linux
• Red Hat Linux (1, ..,9).
• Red Hat Enterprise Linux (1, 2, 3, 4, 5, 6).
• Fedora Core 1, 2, , 6. Fedora 7, ,19.
• Live Cdrom, live DVD
• Phần mềm thông dụng:
– Web Browser (Firefox, Konqueror, )
– Email (Evolution, Sendmail, Qmail, )
– Libre Office, Open Office (Star Office),
Koffice,
– GIMP (Kodak Photoshop, ),
Đoàn Thiện Ngân Bài 1 - 21/29
Phần mềm văn phòng
mã nguồn mở
• Open Office
StarOffice
• KOffice
• GnomeOffice
• Libre Office (*****)
•
Đoàn Thiện Ngân Bài 1 - 22/29
Hệ quản trị cơ sở dữ liệu
mã nguồn mở
• Firebird
• MySQL (***)
• PostGreSQL (***)
• DB2 Express C – IBM (no-charge –
free software)
• Sybase (!!!),
•
Đoàn Thiện Ngân Bài 1 - 23/29
Công cụ lập trình mã nguồn mở
• Ngôn ngữ lập trình:
– C, C++, Java,
– PHP, Perl, Tcl/Tk, Python, Ruby,
• Trình soạn thảo thông dụng:
– gedit, emacs, vi
• Môi trường lập trình tích hợp IDE:
– Netbeans,
– Eclipse,
– JDeveloper,
– Sun Studio,
– Qt, QTDesigner, Zend Studio, Visual PHP,
KDeveloper, Glade,
Đoàn Thiện Ngân Bài 1 - 24/29
Phần mềm thông dụng
mã nguồn mở
• Phần mềm mã nguồn mở rất thông dụng:
– Apache Web server,
– Mambo,
– Sugar CRM,
– Dspace,
– Moodle,
– Zimbra (Mail Server, Desktop ),
– PhpNuke,
– GIMP,
– Umbrello UML Modeller,
– Oracle VirtualBox,
– Firefox,Evolution,
Đoàn Thiện Ngân Bài 1 - 25/29
Oracle VirtualBox
•
• Phiên bản trên MS Windows
• Phiên bản trên Linux
• Cập nhật rất nhanh
• Rất thông dụng
• Ổn định
• Tiện nghi
• Sử dụng dễ dàng
Đoàn Thiện Ngân Bài 1 - 26/29
Oracle VirtualBox
Đoàn Thiện Ngân Bài 1 - 27/29
Tóm tắt nội dung tập trung
• Hệ điều hành Fedora 16, (17, 18, 19, 20 )
• Phần mềm máy ảo VirtualBox
• Phần mềm văn phòng: Libre Office
• Trình soạn thảo thông dụng: gedit, emacs, vi
• Shell scripting: bash
• Programming: C++, Java, PHP, Eclipse,
Netbeans
• Networking: dhcp, ssh, rsync, www
Đoàn Thiện Ngân Bài 1 - 28/29
Cài đặt Fedora - CentOS
• Trước hết dùng Virtualbox làm quen,
tránh lỗi cho dữ liệu đang có trên máy
tính, khi chọn RAM cho Virtualbox không
nên vượt quá 1/3 dung lượng RAM thực
tế của máy tính
• Chọn bản cài đặt phù hợp (cần biết rõ hệ
điều hành 32 bit hay 64 bit)
• Có thể sử dụng bản Live Dvd để làm quen
ban đầu, sau đó dùng DVD đầy đủ cài đặt
để có nhiều công cụ và tiện nghi hơn.
Đoàn Thiện Ngân Bài 1 - 29/29
???
• Phần mềm mã nguồn mở là gì?
• Liệt kê giấy phép mã nguồn mở được biết?
• Trình bày việc cài đặt và sử dụng một phần
mềm mã nguồn mở thật sự đã biết.
• Vì sao khi nói về phần mềm mã nguồn mở,
người ta thường nghĩ ngay về Linux?
• Trình bày về những phần mềm máy ảo
(virtual machine) đã biết?
• Sử dụng VirtualBox cài đặt hệ điều hành.
Các file đính kèm theo tài liệu này:
- bai_giang_phan_mem_nguon_mo_bai_1_tong_quan_ve_phan_doan_thi.pdf