Chương 1: Tổng quan về Phần Mềm Nguồn Mở 1. Khái niệm Phần Mềm Nguồn Mở Mã nguồn mở (open - source software) hiểu theo nghĩa rộng là một khái niệm chung được sử dụng cho tất cả các phần mềm mà mã nguồn của nó được công bố rộng rãi công khai và cho phép mọi người tiếp tục phát triển phần mềm đó. Điều này không có nghĩa là chúng có thể được sao chép, sửa chữa thoải mái hay sử dụng vào mục đích nào cũng được. Mã nguồn mở được công bố dưới rất nhiều điều kiện khác nhau, một số trong đó cho phép phát triển, sử dụng và bán tùy ý miễn là giữ nguyên các dòng về nguồn gốc sản phẩm, một số bắt buộc tất cả các sản phẩm làm ra từ đó cũng phải là open-source, một số khác đòi hỏi phải công bố trọn vẹn mã nguồn, một số khác không cho phép sử dụng vào mục đích thương mại, một số khác lại không có ràng buộc gì đáng kể v.Lợi ích và Hạn chế của Phần Mềm Nguồn Mở 1.Bảo mật nhờ mở và Bảo mật nhờ đóng Với các phần mềm Black-Box, sự bảo mật có được bằng cách che giấu mã nguồn, ngược lại, PMMNM cho phép nhiều người dùng có thể nhận biết các đoạn mã cũng như tuỳ biến chúng.
❖ “Đông tay vỗ nên kêu” (Four eyes see more than two eyes) ❖ Phản hồi trong cộng đồng: phản ứng của mọi người diễn ra nhanh hơn khi sự cố bảo mật được phát hiện. ❖ Cần ít miếng vá hơn (patch) ❖ Ít cuộc tấn công nguy hiểm hơn 2.Tính tương thích Khả năng định dạng là vô hạn, do đó các công ty có thể tuỳ biến mã nguồn cho phù hợp với nhu cầu. Điều này cho phép mã nguồn liên tục được phát triển.Hiệu năng Hiệu năng của các PMMNM thường cao hơn so với phần mềm độ quyền vì tính ổn định và độ tinh cậy.Không lệ thuộc vào nhà sản xuất Với mã nguồn mở sẽ không còn sự lệ thuộc vào nhà sản xuất, không còn phải đối mặt với những vấn đề phát sinh như khi một nhà sản xuất phần mềm độc quyền phá sản.Chi phí ❖ Chi phí mua PMMNM thấp hơn, nhưng chi phí huấn luyện ban đầu cao hơn ❖ Yếu tố quyết định & then chốt: TCO (Tổng chi phí sở hữu) Nói chung, mã nguồn mở có giai đoạn kiểm nghiệm lâu dài hơn, cho phép nhiều thời gian hơn để phát triển và hướng tới sự ổn định cao hơn. Đưa vào sử dụng khi đã ổn định đồng nghĩa với giảm sự cố và chi phí.
Đa dạng và phức tạp Cộng đồng mã nguồn mở đã phát triển nhiều ứng dụng đa dạng với những chức năng tương tự nhau. Điều này gây khó khăn cho những người mới sử dụng trong việc chọn lựa. Cơ cấu chọn lựa đã được thiết lập như nhà sản xuất, giá cả, thị phần hoặc hỗ trợ chỉ cung cấp một sự giúp đỡ có hạn. Vấn đề thực sự là một khi gia tăng tính đa dạng sẽ dẫn đến sự phức tạp trong khi với xã hội ngày nay, người ta luôn mong muốn sự đơn giản.
Một giải pháp khả thi cho vấn đề này có thể là sự chọn lựa trước của nhà phân phối b.Sự dư thừa Sự chia nhánh mã nguồn có thể dẫn đến sự lãng phí trong quá trình phát triển nó. Nếu các nguồn phát triển được kết hợp và tổ chức lại một cách tốt hơn thì hiệu suất sẽ được nâng cao. Thiếu các ứng dụng Vẫn còn những lĩnh vực vắng bóng các PMMNM. Bất tiện Mã nguồn mở thường chỉ tập trung vào các mã của nó mà ít chú ý đến thiết kế giao diện và phát triển các tiện ích.
Trong Microsoft World, hầu hết các phát triển trong vài năm gần đây đều thuộc lĩnh vực tiện ích và phát triển giao diện người dùng. Thêm vào những mâu thuẩn trên, người ta phải xem xét việc dùng một sản phẩm độc quyền chẳng hạn như của Microsoft vốn rất nổi tiếng với việc chuyển sang dùng PMMNM phải học cách sử dụng các ứng dụng mới.Một số sản phẩm Phần Mềm Nguồn Mở Internet đầy rẫy những PMMNM dành cho mục đích thương mại. Có thể nói rằng, không có mã nguồn mở sẽ không có Internet. Một vài sản phẩm mã nguồn mở phổ biến hiện nay là: -9- 1.Hệ điều hành ❖ Linux: hệ điều hành giống Unix được sử dụng nhiều nhất trên thế giới.
Các phiên bản của nó chạy trên mọi hệ thống, từ máy tính xách tay, máy để bàn cho đến các siêu máy tính mạnh nhất. Để biết danh sách các nguồn phân phối Linux, xem tại đây. ❖ FreeBSD, OpenBSD, và NetBSD: Các BSD được dựa trên Berkeley Systems Distribution of Unix, phát triển bởi Đại học California, Berkeley. Một BSD khác dựa trên dự án mã nguồn mở là Darwin, nền tảng của Apple's Mac OS X.
Nhiều router box và máy chủ hệ thống tên miền gốc (root DNS server) trên Internet giữ cho mạng luôn hoạt động dựa trên nền BSD hoặc Linux. Người ta cho rằng Microsoft giữ kín các BSD box nhằm duy trì hoạt động cho các dịch vụ MSN và Hotmail của họ. Không có gì đáng ngạc nhiên khi biết rằng hầu hết các hệ điều hành đứng đầu trong khả năng giữ mạng internet chạy tốt đều là mã nguồn mở.Internet ❖ Apache, chạy trên hơn 50% máy chủ web toàn thế giới. ❖ BIND, phần mềm cung cấp tên miền (domain name service) cho mạng Internet.
❖ sendmail, phần mềm vận chuyển e-mail quan trọng và được dùng rộng rãi nhất trên Internet. ❖ Mozilla, một thiết kế lại dựa trên mã nguồn mở của trình duyệt Netscape, đang lấy lại lãnh địa từ tay Netscape trong “cuộc chiến giữa các trình duyệt". Nó đã phát triển nhanh chóng từ 1.2, tăng thêm chức năng và sự ổn định mà không trình duyệt khác nào có được. ❖ OpenSSL là chuẩn giao tiếp an toàn (mã hóa mạnh) trên mạng.
TCP/IP DNS, SSL, và máy chủ e-mail được chú ý đặc biệt bởi chúng là "kẻ giết chết giới hạn"; không chỉ vì khả năng mạnh mẽ vô cùng, chúng còn tốt đến nỗi không đối thủ cạnh tranh thương mại nào có thể thay thế nổi.Các công cụ lập trình ❖ Perl, Zope, và PHP, là những engine phổ biến sau "các nội dung trực tiếp" (live content) trên mạng toàn cầu. ❖ Các ngôn ngữ cao cấp khác như Python, Ruby, và Tcl/Tk rất thành công và thịnh hành trong đội ngũ những nhà phát triển năng động. ❖ Trình biên dịch GNU và các công cụ (GCC, Make, Autoconf, Automake, và một số khác) được cho là trình biên dịch mạnh, linh hoạt cũng như dễ mở rông nhất hiện nay. Hầu hết tất cả dự án mã nguồn mở đều sử dụng chúng như công cụ phát triển chính.
Các công cụ phát triển được thiết kế đặc biệt tốt bởi không có các công cụ chương trình mã nguồn mở, PMMNM sẽ đòi hỏi công cụ thích hợp để xây dựng và tinh chỉnh nó. Có hàng trăm ngàn gói mã nguồn mở phổ biến, bao quát nhiều lĩnh vực phần mềm, và ngày một phát triển nhiều hơn. Vì sao? Bởi PMMNM miễn phí là một ý tưởng quá hấp dẫn đến nỗi một khi người ta bắt đầu hiểu nó, gần như mọi người đều muốn học cách dùng nó, phát triển và tạo ra PMMNM của riêng mình để chia sẻ cùng những người khác. Bạn cũng có thể làm ra tiền bằng cách dùng PMMNM giao sản phẩm hay dịch vụ cho khách hàng của mình.
- 10 - Chương 2: Tìm hiểu về Hệ điều hành Ubuntu và bộ OpenOffice.Tìm hiểu về HĐH Ubuntu 2.1Lịch sử Bản phát hành đầu tiên của Ubuntu là vào 20 tháng 10 năm 2004, bắt đầu bằng việc tạo ra một nhánh tạm thời của dự án Debian Linux. Việc này đã được thực hiện để một phiên bản mới của Ubuntu có thể được phát hành mỗi 6 tháng, tạo ra một hệ điều hành được cập nhật thường xuyên hơn. Bản phát hành Ubuntu luôn gồm bản GNOME mới nhất, và được lên lịch phát hành khoảng 1 tháng sau GNOME. Khác với các nhánh có mục đích chung trước của Debian - như MEPIS, Xandros, Linspire, Progeny và Libranet, phần nhiều trong số chúng dựa vào các phần mềm bổ sung có mã đóng mô hình của một doanh nghiệp.
Ubuntu lại giống với triết lý của Debian hơn và dùng các phần mềm miễn phí (libre) vào mọi thời điểm. Các gói của Ubuntu nói chung dựa trên các gói từ nhánh không ổn định của Debian: cả 2 bản phân phối đều dùng gói có định dạng deb của Debian và APT/Synaptic để quản lý các gói đã cài. Ubuntu đã đóng góp trực tiếp và lập tức tất cả thay đổi đến Debian, chứ không chỉ tuyên bố chúng lúc phát hành, mặc dù các gói của Debian và Ubuntu không cần thiết "tương thích nhị phân" với nhau. Nhiều nhà phát triển Ubuntu cũng là người duy trì các gói khoá (gói chủ chốt) của chính Debian.
Dù sao, Ian Murdock, nhà sáng lập của Debian, đã chỉ trích Ubuntu vì sự không tương thích giữa các gói của Ubuntu và Debian, ông nói rằng Ubuntu đã làm sai lệch quá xa so với Debian Sarge, do đó không còn giữ được sự tương thích. Hiện tại, Logo của Ubuntu vẫn giữ nguyên như bản đầu tiên, Ubuntu 4.Ubuntu là gì? Ubuntu là một hệ điều hành mã nguồn mở xây dựng xung quanh nhân Linux, được cộng đồng cùng phát triển. Hệ điều hành Ubuntu có đầy đủ chức năng của một hệ điều hành hiện đại, hoạt động tốt trên máy tính để bàn, máy tính xách tay và hệ thống máy chủ. Tuy ra đời chưa lâu, nhưng hệ điều hành này đang có những bước tiến nhảy vọt, sức lan toả rất lớn, hiện đang được sử dụng rất rộng rãi trên thế giới và đang dần dần phổ biến ở Việt Nam.
Lịch sử của Ubuntu bắt đầu từ tháng Tư năm 2004, khi Mark Shuttleworth tập hợp một nhóm các nhà phát triển phần mềm mã nguồn mở để tạo ra một hệ điều hành mới. Với quyết tâm hiện thực hoá những ý tưởng, các lập trình viên này đặt tên nhóm là Warthogs và cùng nhau làm việc trong sáu tháng để cho ra đời phiên bản thể hiện khái niệm của hệ điều hành mới. Họ lấy tên nhóm đặt cho phiên bản Ubuntu đầu tiên này, Warty Warthog. Dựa trên nền tảng chắc chắn của bản phân phối Debian, cùng với những nguyên tắc về thời gian phát hành, chương trình GNOME để quản lý giao diện Desktop, và một cam kết mạnh mẽ về sự tự do, chỉ trong vòng ba năm, Ubuntu đã phát triển một cộng - 11 - đồng lên đến mười hai ngìn thành viên và số lượng người dùng ước tính đến hơn tám triệu (tháng Bảy năm 2007).Tên gọi và phiên bản 2.