Bài giảng Phát triển phần mềm nguồn mở - Bài 2: Phần mềm nguồn mở - Ngô Bá Hùng

PHÁT TRIỂN PHẦN MỀM NGUỒN MỞ  
PHẦN MỀM NGUỒN MỞ  
Tham khảo chính: Bài giảng Phần mềm mã nguồn m, TS. Ngô Bá Hùng  
Sở hữu phần mềm  
Khi một phần mềm được tạo ra nó thuộc một chủ sở  
hữu nào đó.  
Chủ sở hữu phần mềm có toàn quyền trên phần  
mềm họ chủ sở hữu, sẽ quyết định mức  
độ sử dụng và khai thác của những người khác trên  
phần mềm họ chủ sở hữu.  
Khi muốn sử dụng một phần mềm, bạn phải một  
Giấy phép sử dụng (License) phần mềm đó.  
2
Giấy phép sử dụng phần mềm  
một bản hợp đồng cho phép bạn khai thác phiên  
bản phần mềm, qui định về những khả năng bạn  
thể được.  
Các tiêu chí phân loại phần mềm dựa trên giấy phép  
Khả năng phân phối lại ( Distribution Possibility)  
Truy cập vào mã nguồn (Accessibility to source code)  
Phí sử dụng (Free)  
3
Tiêu chí phân loại phần mềm  
Khả năng phân phối lại  
Quyền được phép sao chép và phân phối lại phiên bản phần  
mềm bạn đang có trong tay (có giấy phép sử dụng nó)  
hay không ?  
Truy cập vào mã nguồn  
Chủ sở hữu phần mềm cho phép bạn xem mã nguồn, sử  
dụng, sửa đổi nguồn phần mềm của họ cho mục đích của  
bạn hay không ?  
Phí sử dụng  
Khi bạn sử dụng một phần mềm, bạn phải trả tiền hay không  
cho người chủ sở hữu phần mềm đó ?  
4
Phần mềm thương mại  
Bản quyền của phần mềm thương mại chỉ cho phép người  
sử dụng khai thác phần mềm theo những ràng buộc đã ghi  
rõ trong giấy phép.  
dụ: không cho phép người sử dụng cài đặt phần mềm trên  
nhiều máy khác nhau.  
Bản quyền loại này rất bị hạn chế.  
Trong trường hợp những lỗi phần mềm được phát hiện  
hay một số chức năng hoạt động không tốt:  
Người sử dụng không còn cách nào khác hơn phải chờ cho đến  
khi chủ sở hữu phần mềm sửa đổi chúng.  
Các nhà sản xuất phần mềm đôi khi không sẵn lòng làm việc đó  
hoặc thực hiện chúng với thời gian rất lâu hay đôi khi người sử  
dụng phải trả thêm tiền cho các bản cập nhật.  
Người sử dụng không có một phương tiện nào để thúc đẩy tiến  
trình cập nhật sửa chữa lỗi của các phần mềm thương mại.  
5
Phần mềm miễn phí/trả một phần  
Phần mềm miễn phí (freeware) và phần mềm trả một  
phần (shareware) KHÔNG là phần mềm nguồn  
mở.  
Phần mềm miễn phí và phần mềm trả một phần:  
Vẫn là các phần mềm chủ sở hữu.  
Được phân phối một cách tự do.  
Phần mềm trả một phần thì sau một khoản thời gian  
đã định người sử dụng phải trả tiền nếu như muốn  
được phép sử dụng tiếp.  
6
Phần mềm mã nguồn mở  
Một phần mềm nguồn mở nếu hội đủ các yếu  
tố cơ bản sau:  
được phân phối đến người sử dụng cùng với nguồn  
của nó mà chúng có thể bị sửa đổi  
Nó có thể được phân phối lại mà không bị một ràng buộc  
nào khác  
Chúng ta có thể phân phối cả những thay đổi mà chúng ta đã  
thực hiện trên mã nguồn gốc  
7
Một số loại phần mềm thông dụng  
8
Phần mềm tự do (free software)  
Những phần mềm mà người dùng thể tự do chia  
sẻ, nghiên cứu và sửa đổi chúng.  
Không đề cập đến vấn đề chi phí/giá cả  
Sự tự do bao gồm 4 yếu tố:  
Tự do thực thi chương trình cho bất kỳ mục đích gì  
Tự do nghiên cứu cách thực thi của chương trình và sửa đổi  
chúng cho mục đích của bạn. Truy cập vào mã nguồn  
chương trình là tiền đề  
Tự do phân phối phần mềm cho người khác  
Tự do cải tiến chương trình và phân phối cải tiến của bạn  
cho cộng đồng. Truy cập vào mã nguồn chương trình là tiền  
đề  
9
Khái niệm Copyleft  
Copyright nhằm bảo về quyền tác giả  
Copyleft là một phương pháp tổng quát nhằm làm  
cho một chương trình tự do và yêu cầu tất cả những  
phiên bản sửa đổi hay mở rộng của chương trình  
cũng phải tự do  
Giấy phép «GNU General Public License»  
Viết tắt «GNU GPL»  
Cụ thể hóa khái niệm Copyleft  
Dùng cho phần lớn các sản phẩm của dự án GNU  
10  
Lịch sử giấy phép của GNU  
Version 1 General Public License GPL v1 1989  
Version 2 General Public License GPL v2 1991  
Version 2 Library General Public License LGPL  
v2 1991  
Version 2.1 Lesser General Public License LGPL  
v2.1 1999  
Version 3 GPLv3 2007  
11  
GNU GPL V2  
thể bán mã thực thi tạo ra từ phiên bản sửa đổi  
Tuy nhiên mã nguồn phải công bố  
nguồn của sản phẩm tất cả các sửa đổi sau đó  
phải tồn tại dưới dạng phần mềm tự do  
Tất cả các chương trình có sử dụng nguồn GPL  
phải phát hành dưới giấy phép GPL  
Liên kết động hay tĩnh đến nguồn hoặc thự viện GPL  
Sao chép một số dòng của nguồn GPL  
12  
GNU LGPL v2.1  
Được tạo ra để cho phép liên kết động nguồn  
không phát hành dưới dạng GPL hoặc LGPL vào mã  
nguồn LGPL  
Dàn xếp việc sử dụng các thư viện tự do vào mục  
đích thương mại, dụ thư viện GNU C  
Hầu hết các điều khoản điều kiện tương tự GPL  
Nếu bạn thay đổi và phân phối một thư viện LGPL  
Thư viện những thay đổi phải được công bố (mã thực thi  
và mã nguồn cùng với chú thích về những sửa đổi)  
Bằng sáng chế được gắn với sự phân phối những sửa đổi  
13  
Một số phần mềm nguồn mở  
ArgoUML ArgoUML is a modelling tool that helps you design  
using UML diagrams  
GCC a set of compilers for multiple programming languages and  
platforms, including C, C++, Objective-C, Ada, Java, Pascal,  
Perl a programming language strong on text processing  
PHP a scripting language designed for web site applications  
Python A high-level scripting language  
Ruby A high-level scripting language  
XAMPP a package of web applications including Apache and MySQL  
…  
14  
Một số phần mềm nguồn mở  
15  
Framework  
Thư viện các lớp đã được xây dựng hoàn chỉnh  
Bkhung để phát triển các phần mềm.  
16  
Top PHP Frameworks 2016  
Theo Google trends (website thống kê các xu hướng tìm kiếm  
và quan tâm của người sử dụng thông qua các từ khóa và theo  
các mốc thời gian).  
Top: Laravel  
18  
pdf 18 trang yennguyen 12/04/2022 10580
Bạn đang xem tài liệu "Bài giảng Phát triển phần mềm nguồn mở - Bài 2: Phần mềm nguồn mở - Ngô Bá Hùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_phat_trien_phan_mem_nguon_mo_bai_2_phan_mem_nguon.pdf