Bài giảng Linux và phần mềm mã nguồn - Chương 1: Giới thiệu phần mềm mã nguồn mở và Linux - Hà Quốc Trung
Các thao tác trên phần mềm
• Sử dụng phần mềm
• Thay đổi, nâng cấp, cải tiến phần mềm
– Reverse enginering
• Phân phối phần mềm
– Bản thực hiện, mã nguồn
– Nguyên bản, nâng cấp, thay đổi
• Quản lý phần mềm
– Cho phép/không cho phép thực hiện các thao tác
trên phần mềmBản quyền phần mềm
• Tài liệu qui định việc sử dụng và phân phối
phần mềm
• Phần mềm sở hữu
– Phần mềm miễn phí/phần mềm chia sẻ
• Bản quyền phần mềm sở hữu
• Bản quyền phần mềm tự do và mã nguồn mở
– Phần mềm tự do
– Phần mềm mã nguồn mở
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Linux và phần mềm mã nguồn - Chương 1: Giới thiệu phần mềm mã nguồn mở và Linux - Hà Quốc Trung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Linux và phần mềm mã nguồn - Chương 1: Giới thiệu phần mềm mã nguồn mở và Linux - Hà Quốc Trung
Giới thiệu phần mềm mã nguồn mở và Linux TS. Hà Quốc Trung Nội dung • Phần mềm mã nguồn mở • Linux • Các phần mềm mã nguồn mở khác • Các kho phần mềm mã nguồn mở Các thao tác trên phần mềm • Sử dụng phần mềm • Thay đổi, nâng cấp, cải tiến phần mềm – Reverse enginering • Phân phối phần mềm – Bản thực hiện, mã nguồn – Nguyên bản, nâng cấp, thay đổi • Quản lý phần mềm – Cho phép/không cho phép thực hiện các thao tác trên phần mềm Bản quyền phần mềm • Tài liệu qui định việc sử dụng và phân phối phần mềm • Phần mềm sở hữu – Phần mềm miễn phí/phần mềm chia sẻ • Bản quyền phần mềm sở hữu • Bản quyền phần mềm tự do và mã nguồn mở – Phần mềm tự do – Phần mềm mã nguồn mở Phần mềm sở hữu • Ràng buộc chặt chẽ đảm bảo quyền lợi của người làm ra phần mềm: COPY RIGHT • Chặt chẽ về quyền phân phối và quản lý phần mềm • Hạn chế quyền thay đổi và cải tiến • Hạn chế việc phân tích ngược mã • Ví dụ – MS Excel EULA – MathWork Mathlab Phần mềm tự do/mã nguồn mở • Cung cấp tối đa các quyền trên phần mềm cho số đông NSD- TỰ DO • Để thực hiện việc thay đổi, nâng cấp và phân phối lại, cung cấp mã nguồn cho NSD: MÃ NGUỒN MỞ • Hạn chế quyền quản lý để đảm bảo cung cấp các quyền khác cho NSD (COPY LEFT) Đặc điểm của PMTD- MNM • Tự do phân phối • Luôn kèm mã nguồn • Cho phép thay đổi phần mềm • Không cho phép thay đổi các ràng buộc bản quyền • Có thể có ràng buộc về việc – Tích hợp mã nguồn – Đặt tên phiên bản • Không phân biệt cá nhân/nhóm khác nhau • Không phân biệt mục đích sử dụng • Không hạn chế các phần mềm khác • Trung lập về công nghệ Mô hình phát triển nhà thờ • Quá trình phân tích thiết kế xây dựng được quản lý giám sát chặt chẽ • Độ tự do của các thành viên tham gia phát triển thấp • VD – Our source phần mềm Mô hình phát triển bazar • NSD đóng vai trò nhà phát triển • Độ tự do lớn • Phiên bản đầu tiên sớm • Tích hợp các mô đun thường xuyên • 3 phiên bản – Bền vững, beta, night version • Tính mô đun hóa cao • Mô hình ra quyết định động Lịch sử của PMTD-MNM • 1983-GNU Project • 1985- FSF, Richard Stallman, GPL – ftware_licences • 1998- OSI – ftware_licences#OSI_approved_licenses • 2008 – Pháp lý hóa: Vi phạm -> các quyền bị hủy->dùng PM lậu Bản quyền của PMMNM • PMMNM có bản quyền • Có thể bị vi phạm • Thể hiện đóng góp của các tác giả • Khó khăn trong việc chuyển đổi bản quyền • Quá nhiều người đóng góp Nguồn lực phát triển phần mềm MNM • Tư vấn • Đào tạo • Hỗ trợ kỹ thuật • Tài trợ/quảng cáo • Thương mại hóa – Một phần (2 phiên bản song song) – Toàn bộ (đóng mã nguồn) So sánh phần mềm mở/không mở • PM MNM triệt tiêu thị trường PM? – Có thể có thu nhập từ các dự án PM MNM – PMMNM là bước trung gian cho PM TM – Chia sẻ chi phí phát triển – Không bị cản trở bởi động lực kinh tế (vd vá lỗi) – Không sử dụng cơ chế ẩn • PM MNM có thể phát triển – Theo nhu cầu NSD – Không bị giới hạn sự sáng tạo – Cần sự hỗ trợ pháp lý Ưu điểm • Mở rộng thị trường • Thiết lập các chuẩn công nghiệp • Lôi kéo được các nhà phát triển • Cập nhật sự phát triển về công nghệ • Cung cấp các phần mềm tin cậy, ổn định, giá thành hạ • Mềm dẻo, đổi mới, sáng tạo • Không bị sức ép thương mại Nhược điểm • Khó thuyết phục NSD không là nhà phát triển • Không có các dữ liệu về tính năng của phần mềm • Sản phẩm khó thương mại hóa • 50-50 với hacker Nội dung • Phần mềm mã nguồn mở • Linux • Các phần mềm mã nguồn mở khác • Các kho phần mềm mã nguồn mở Lịch sử phát triển • 1960-1970: Unix – Tin cậy, sẵn sàng – Mềm dẻo – Sử dụng rộng rãi – Ảnh hưởng tới các nhà thiết kế, phát triển GNU Project • FSF-Richard Stallman • GNU GPL • Compilators • System tools • GNU Hurd (Stalled) Berkeley Software Distribution • Xuất phát điểm Bell lab UNIX • Tranh cãi về bản quyền với AT&T • Kết thúc bằng vụ kiện 1990 • Ràng buộc bởi bản quyền • Hạn chế trong phát triển • FreeBSD, Darwin, MINIX and Tannenbaum • Andrew Tannenbaum – OS, Networking, DS, • MINIX with source code – Can not modify • 1991 Linus Tovald – Nhân hệ điều hành mã nguồn mở Linux kernel • 1994: 1.0 • 1999: 2.2.0 • 2001: 2.4 • 2003: 2.6.0 • 2009: 2.6.3 Cons Tanenbaum • Nhân đơn khối (quá cũ) – Chỉ hỗ trợ PC – Không có kiểm soát mã nguồn – Một số chức năng vô nghĩa – Sẽ bị thay thế bởi GNU Hurd • Samizdat • Copy mã nguồn của MINIX • Tannebaum: Đã thiết kế lại, đơn nhân, không có mã nguồn của Linux Thành phần của Linux • Nhân hệ điều hành • Các drivers • Các phần mềm hệ thống • Các phần mềm ứng dụng • X Windows • Các phần mềm ứng dụng với giao diện đồ họa Tính năng của Linux • Mã nguồn mở – Nguồn sáng tạo vô hạn? • Hỗ trợ nhiều phần cứng • Có các phân phối khác nhau • Thừa kế các tính năng Unix – Khả chuyển – Đa NSD, đa nhiệm – Một hệ thống file duy nhất – Shell – Các tính năng mạng 25 Bản phân phối Linux Linux = Kernel (OS Basic Part) Kernel Software Packages Installation tools SW management toosl U ser interface Distributor Distribution Developers Các phần mềm khác • Trên Linux – Webserver – Mail server – KDE, GNOME, .. • Trên các hệ điều hành khác – Open Office – Gimp – FireFox
File đính kèm:
- bai_giang_ma_nguon_mo_va_linux_chuong_1_gioi_thieu_phan_mem.pdf