Giới thiệu phần mềm mã nguồn mở và Linux - Hà Quốc Trung

pdf 27 trang huongle 4140
Bạn đang xem 20 trang mẫu của tài liệu "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 bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgioi_thieu_phan_mem_ma_nguon_mo_va_linux_ha_quoc_trung.pdf

Nội dung text: Giới thiệu phần mềm mã nguồn mở và Linux - Hà Quốc Trung

  1. Giới thiệu phần mềm mã nguồn mở và Linux TS. Hà Quốc Trung
  2. 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ở
  3. 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
  4. 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ở
  5. 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
  6. 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)
  7. Đặ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ệ
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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)
  13. 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ý
  14. Ư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
  15. 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
  16. 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ở
  17. 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
  18. GNU Project • FSF-Richard Stallman • GNU GPL • Compilators • System tools • GNU Hurd (Stalled)
  19. 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,
  20. 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ở
  21. Linux kernel • 1994: 1.0 • 1999: 2.2.0 • 2001: 2.4 • 2003: 2.6.0 • 2009: 2.6.3
  22. 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
  23. 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
  24. 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 Developers Linux = Kernel (OS Basic Part) U s Kernel e r i Distributor n Software Packages t e r f a SW management toosl c e Installation tools Distribution 25
  26. 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