Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
597,36 KB
Nội dung
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 phần mềm tạo thuộc chủ sở hữu Chủ sở hữu phần mềm có tồn quyền phần mềm mà họ chủ sở hữu, định mức độ sử dụng khai thác người khác phần mềm mà họ chủ sở hữu Khi muốn sử dụng phần mềm, bạn phải có Giấy phép sử dụng (License) phần mềm Giấy phép sử dụng phần mềm Là hợp đồng cho phép bạn khai thác phiên phần mềm, qui định khả mà bạn có Các tiêu chí phân loại phần mềm dựa giấy phép • Khả 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) Tiêu chí phân loại phần mềm Khả phân phối lại • Quyền phép chép phân phối lại phiên phần mềm mà bạn có 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 mã nguồn phần mềm họ cho mục đích bạn hay khơng ? Phí sử dụng • Khi bạn sử dụng 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 ? Phần mềm thương mại Bản quyền phần mềm thương mại cho phép người sử dụng khai thác phần mềm theo ràng buộc ghi rõ giấy phép • Ví dụ: khơng cho phép người sử dụng cài đặt phần mềm nhiều máy khác Bản quyền loại bị hạn chế Trong trường hợp có lỗi phần mềm phát hay số chức hoạt động khơng tốt: • Người sử dụng khơng cịn cách khác phải chờ 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 khơng sẵn lịng làm việc thực chúng với thời gian lâu hay người sử dụng phải trả thêm tiền cho cập nhật • Người sử dụng khơng có phương tiện để thúc đẩy tiến trình cập nhật sửa chữa lỗi phần mềm thương mại Phần mềm miễn phí/trả phần Phần mềm miễn phí (freeware) phần mềm trả phần (shareware) KHÔNG phần mềm mã nguồn mở Phần mềm miễn phí phần mềm trả phần: • Vẫn phần mềm có chủ sở hữu • Được phân phối cách tự Phần mềm trả phần sau khoản thời gian định người sử dụng phải trả tiền muốn phép sử dụng tiếp Phần mềm mã nguồn mở Một phần mềm mã nguồn mở hội đủ yếu tố sau: • Nó phân phối đến người sử dụng với mã nguồn mà chúng bị sửa đổi • Nó phân phối lại mà khơng bị ràng buộc khác • Chúng ta phân phối thay đổi mà thực mã nguồn gốc Một số loại phần mềm thông dụng Phần mềm tự (free software) Những phần mềm mà người dùng tự chia sẻ, nghiên cứu sửa đổi chúng Không đề cập đến vấn đề chi phí/giá Sự tự bao gồm yếu tố: • Tự thực thi chương trình cho mục đích • Tự nghiên cứu cách thực thi chương trình sửa đổi chúng cho mục đích bạn Truy cập vào mã nguồn chương trình tiền đề • Tự phân phối phần mềm cho người khác • Tự cải tiến chương trình phân phối cải tiến bạn cho cộng đồng Truy cập vào mã nguồn chương trình tiền đề Khái niệm Copyleft Copyright nhằm bảo quyền tác giả Copyleft phương pháp tổng quát nhằm làm cho chương trình tự yêu cầu tất phiên sửa đổi hay mở rộng chương trình phải tự Giy phộp ôGNU General Public Licenseằ ã Vit tt ôGNU GPL» • Cụ thể hóa khái niệm Copyleft • Dùng cho phần lớn sản phẩm dự án GNU 10 Lịch sử giấy phép GNU Version – General Public License – GPL v1 – 1989 Version – General Public License – GPL v2 – 1991 Version – Library General Public License – LGPL v2 – 1991 Version 2.1 – Lesser General Public License – LGPL v2.1 – 1999 Version – GPLv3 – 2007 11 GNU GPL V2 Có thể bán mã thực thi tạo từ phiên sửa đổi • Tuy nhiên mã nguồn phải cơng bố Mã nguồn sản phẩm tất sửa đổi sau phải tồn dạng phần mềm tự Tất chương trình có sử dụng mã nguồn GPL phải phát hành giấy phép GPL • Liên kết động hay tĩnh đến mã nguồn thự viện GPL • Sao chép số dòng mã nguồn GPL http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 12 GNU LGPL v2.1 Được tạo phép liên kết động mã nguồn không phát hành dạng GPL LGPL vào mã nguồn LGPL Dàn xếp việc sử dụng thư viện tự vào mục đích thương mại, ví dụ thư viện GNU C Hầu hết điều khoản điều kiện tương tự GPL Nếu bạn thay đổi phân phối thư viện LGPL • Thư viện thay đổi phải công bố (mã thực thi mã nguồn với thích sửa đổi) • Bằng sáng chế gắn với phân phối sửa đổi http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html 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, Fortran 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 Notepad++ Unikey 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 lớp xây dựng hoàn chỉnh Bộ khung để phát triển phần mềm 16 Framework PHP http://beebom.com/best-free-php-frameworks/ 17 Top PHP Frameworks 2016 Theo Google trends (website thống kê xu hướng tìm kiếm quan tâm người sử dụng thơng qua từ khóa theo mốc thời gian) • Top: Laravel 18 ... lỗi phần mềm thương mại Phần mềm miễn phí/trả phần Phần mềm miễn phí (freeware) phần mềm trả phần (shareware) KHÔNG phần mềm mã nguồn mở Phần mềm miễn phí phần mềm trả phần: • Vẫn phần mềm. ..Sở hữu phần mềm Khi phần mềm tạo thuộc chủ sở hữu Chủ sở hữu phần mềm có tồn quyền phần mềm mà họ chủ sở hữu, định mức độ sử dụng khai thác người khác phần mềm mà họ chủ sở hữu Khi... có chủ sở hữu • Được phân phối cách tự Phần mềm trả phần sau khoản thời gian định người sử dụng phải trả tiền muốn phép sử dụng tiếp Phần mềm mã nguồn mở Một phần mềm mã nguồn mở hội đủ yếu