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

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

pdf29 trang | Chia sẻ: phuongt97 | Lượt xem: 376 | Lượt tải: 0download
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:

  • pdfbai_giang_phan_mem_nguon_mo_bai_1_tong_quan_ve_phan_doan_thi.pdf
Tài liệu liên quan