Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
753,2 KB
Nội dung
1 PHÁT TRIỂN PHẦN MỀM MÃ NGUỒN MỞ NGUYỄN VĂN HÒA EMAIL: NVHOA@AGU.EDU.VN Tham khảo giảng Đỗ Thanh Nghị, ĐHCT Mục tiêu môn học Hiểu tầm quan trọng mã nguồn mở (Open source software - OSS) Hiểu lợi ích OSS Hệ điều hành Linux Quy trình phát triển phần mềm mã nguồn mở Yêu cầu môn học Đọc tài liệu trước dự lớp Dự đầy đủ buổi lý thuyết thực hành Thảo luận, thực hành viết báo cáo đầy đủ Đánh giá môn học Điểm thường xuyên: Kiểm tra 30%; Báo cáo thực hành 20% Thi hết môn học: 50% Viết Thời gian phân bổ Số tiết lý thuyết 20 tiết Số tiết thực hành 20 tiết Môi trườngLinux: Ubuntu/Fedora Ngôn ngữ: Shell, Java, C/C++, PHP, QT Nội dung môn học Giới thiệu phần mềm mã nguồn mở Bản quyền phần mềm mã nguồn mở Hệ điều hành Linux Phát triển phần mềm mã nguồn mở Môi trường phát triển Quản lý mã nguồn Ngôn ngữ … Tài liệu tham khảo Giáo trình Linux phần mềm nguồn mở ĐHCT K Fogel.: Producing Open Source Software 2005 M St Laurent.: Open Source and Free Software Licensing 2004 Bài Giảng “Phát triển phần mềm nguồn mở”, Đỗ Thanh Nghị Phạm Nguyên Khang, ĐHCT An Introduction to Open Source software, Mitsubishi Research Institute, 2006 Phạm Nguyên Khang Đỗ Thanh Nghị Chương 1: GIỚI THIỆU PHẦN MỀM MÃ NGUỒN MỞ Nội dung Nguyên tắt luật quyền Phân loại phần mềm Phần mềm tự Phần mềm mã nguồn mở Một số thuật ngữ 10 Copyright, close source, commercial software, proprietary software Copyleft, open source, free software, freeoperation system Freeware, shareware Public domain, license, GPL, version, distribution terms Phân phối tự 26 Giấy phép không hạn chế người tham gia bán phát hành phần mềm thể phận phân phối phần mềm kết hợp từ nhiều nguồn khác Giấy phép không yêu cầu khoản phí cho việc bán Mã nguồn 27 Chương trình phải bao gồm mã nguồn, phải cho phép phân phối dạng mã nguồn dạng mã máy (đã biên dịch) Nếu sản phẩm phân phối khơng có mã nguồn kèm theo, phải có cách lấy mã nguồn với mức giá không cao giá tái sản xuất lại Mã nguồn phải dạng mà người phát triển phần mềm muốn thay đổi (modify) ưa thích Khơng phân phối mã nguồn dạng rắc rối khó đọc Các sản phẩm kế thừa 28 Giấy phép phải cho phép thay đổi sản phẩm kế thừa từ phần mềm gốc, phải cho phép phân phối lại chúng điều khoản giống hệt giấy phép phần mềm gốc Tính tồn vẹn mã nguồn tác giả 29 Giấy phép hạn chế việc mã nguồn phân phối dạng thay đổi giấy phép cho phép phân phối file vá (patch files) với mã nguồn mục đích điều chỉnh chương trình thời điểm biên dịch Giấy phép phải cho phép cách tường minh việc phân phối phần mềm biên dịch dừ mã nguồn điều chỉnh Giấy phép yêu cầu sản phẩm kế thừa mang tên khác hay số hiệu phiên khác với phần mềm gốc Đây phần tùy chọn, khơng phải phần định nghĩa Khơng phân biệt đối xử 30 Giấy phép không phân biệt đối xử người hay nhóm Giấy phép không hạn chế người sử dụng chương trình lĩnh vực cụ thể Ví dụ, khơng hạn chế chương trình sử dụng kinh doanh hay nghiên cứu di truyền Phân phối giấy phép 31 Các quyền kèm với chương trình phải áp dụng tới tất người dùng phân phối lại mà không cần tới thực thi giấy phép bổ sung người phân phối lại Giấy phép không dành riêng biệt cho sản phẩm 32 Các quyền kèm với chương trình khơng phụ thuộc vào phần phân phối phần mềm cụ thể Nếu chương trình trích từ phân phối dùng hay phân phối vòng điều khoản giấy phép chương trình, tất phần phân phối lại phải có quyền giống hệt thứ gán quyền kèm với phân phối phần mềm gốc Giấy phép không hạn chế phần mềm33 khác Giấy phép không đặt hạn chế phần mềm khác phân phối kèm theo với phần mềm có giấy phép Ví dụ, giấy phép khơng khẳng định tất chương trình khác phân phối phương tiện phải phần mềm nguồn mở Giấy phép GPL phù hợp với yêu cầu Giấy phép phải trung lập với công nghệ 34 Khơng có điều khoản giấy phép xác định cơng nghệ hay kiểu giao diện cụ thể Đây điều khoản quản lý gia đình (housekeeping) Một vài giấy phép yêu cầu thận trọng, người dùng phải xác nhận động tác ví dụ: click chuột vào Vì điều khoản khơng cho phép phân phối phương tiện (ví dụ giấy) không hỗ trợ chấp nhận người dùng Những giấy phép hạn chế việc tự phát hành mã nguồn Giấy phép 35 MIT BSD Apache Academic Free GPL, Lesser GPL Mozilla QT Artistic etc Lịch ích PMNM 36 Tính kinh tế Tính an tồn Tính ổn định Sử dụng chuẩn mở Giảm phụ thuộc vào nhập Phát triển lực ngành CNPM địa phương Giảm tình trạng vi phạm quyền Hạn chế PMNM 37 Thiếu ứng dụng kinh doanh đặc thù Tính thương thích với phần mềm đóng Giao diện người dùng chưa tốt Những dự án PMNM thành công 38 BIND (máy chủ tên miền DNS) Apache (máy chủ Web) Sendmail (máy chủ thư điện tử) OpenSSH(Công cụ quản trị bảo mật mạng) LibreOffice (bộ ứng dụng văn phòng) Software War 39 40 ... dung môn học Giới thiệu phần mềm mã nguồn mở Bản quyền phần mềm mã nguồn mở Hệ điều hành Linux Phát triển phần mềm mã nguồn mở Môi trường phát triển Quản lý mã nguồn Ngôn ngữ … Tài... loại phần mềm (Chao-Kuei) 21 Phân loại phần mềm (tt) 22 Phần mềm tự (free software) Phần mềm mã nguồn mở Phần mềm công cộng Phần mềm Copyleft Phần mềm tự không Copyleft Phần mềm phân... hệ thống GNU Phần mềm không tự (non-free) Phân loại phần mềm (tt) 23 Phần mềm bán tự Phần mềm có chủ sở hữu (proprietary software) Phần mềm Phần mềm Phần mềm Phần mềm miễn phí (freeware)