PHẦN MỀM MÃ NGUỒN MỞ KHÁI NIỆM VỀ MÃ NGUỒN MỞ Richard Stallman (MIT) đưa ra khái niệm đầu tiên về mã nguồn mở 1984 (GNU) Thành lập FSF (Free Software Fundation, 1985) để quản lý dự án GNU Phân b[.]
Trang 1PHẦN MỀM MÃ NGUỒN MỞ
Trang 2KHÁI NIỆM VỀ MÃ NGUỒN MỞ
Richard Stallman (MIT) đưa ra khái niệm đầu tiên về mã nguồn
mở 1984 (GNU)
Thành lập FSF (Free Software Fundation, 1985) để quản lý dự
án GNU
Phân biệt : OPEN & FREE
Trang 3KHÁI NIỆM VỀ MÃ NGUỒN MỞ
Open Source: phần mềm có mã nguồn mở
Free software: phần mềm miễn phí, đôi khi free
software được dùng với ý nghĩa bao gồm cả open-source software và free software
Phần mềm nguồn mở (PMNM) được cung cấp dưới
cả dạng mã và nguồn, không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung qui định trong giấy phép PMNM (ví dụ General Public Licence – GPL)
Trang 4LỢI ÍCH CỦA OPEN SOURCE
Tự do sao chép, chia sẻ
Nhiều bản phân phối, không bị ràng buộc vào nhà cung cấp
Bảo mật tốt ???
Dễ dàng thay đổi, phát triển theo mục đích
Hỗ trợ cồng đồng cao
Trang 5BẤT LỢI CỦA OS
Không đảm bảo vì không thu phí
Quá nhiều phiên bản : khó chọn lựa
Nhập nhằng về bản quyền
Ví dụ : Autocad, MatLab vs Octave http://www.linuxjournal.com/
Trang 6CƠ HỘI KINH DOANH
Open source đã được chấp nhận trong các công ty lớn Thậm chí Microsoft đã phải lưu tâm đến Open Source như đối thủ to lớn
Các doanh nghiệp vừa và nhỏ cũng sẽ ưa chuộng phần mềm Open Source hơn
Open Source đã giành được khoảng 70% thị trường ứng dụng Web, và dường như con số này vẫn tiếp tục tăng lên hàng năm
Trang 7CÁC LOẠI GIẤY PHÉP
Software)
▪Phần mềm thử nghiệm giới hạn
(Limited Trial Software)
Trang 8 Phần mềm sử dụng phi thương mại (Non-commercial Use)
Software).
CÁC LOẠI GIẤY PHÉP
Trang 9PHẦN MỀM MÃ NGUỒN MỞ KIỂU BSD –
(OPEN SOURCE BSD-STYLE)
Một nhóm nhỏ khép kín (closed team) đã phát triển các PMNM theo giấy phép phân phối Berkely (BSD – Berkely Software Distribution) cho phép sử dụng và phân phối lại các phần mềm này dưới dạng mã nhị phân
và mã nguồn Tuy người dùng có quyền sửa đổi mã, nhưng về nguyên tắc nhóm phát triển không cho phép người dùng tự do lấy mã nguồn từ kho mã ra sửa (gọi là check-out) và đưa mã đã sửa vào lại kho mã mà không được họ kiểm tra trước (gọi là các “check-in”)
PMNM kiểu Apache (Open Source Apache-style) Chấp nhận nguồn mở kiểu BSD nhưng cho phép những người ngoài nhóm phát triển xâm nhập vào lõi của mã nền (core codebase), tức là được phép thực hiện các
“check-in”
Trang 10CỘNG ĐỒNG MÃ NGUỒN MỞ GNU
Cộng đồng GNU ( “Gnu is Not Unix”) đã xây dựng nhiều ứng dụng trên Unix (Linux) : Word proccessing ,Office, Game, Multimedia, networking và các compiler , interpriter , programming languages…
GNU – Phi lợi nhuận song cần tuân thủ một số quy định về bản quyền của GNU - GPL (General Public License) – “copyleft”( thay cho
“copyright”)
GNU cung cấp bộ biên dịch C/C++bao gồm :
gcc trình biên dịch C
g++ trình biên dịch C++
gdb Debug
GNU make Trình quản lý mã nguồn và trợ giúp biên dịch
bash shell
Các ngôn ngữ PHP&MySQL , Python , Perl … thuộc loại mã nguồn mở
Trang 11GIẤY PHÉP CÔNG CỘNG GNU (GPL)
Giấy phép công cộng GNU Phiên bản 2, tháng 6/1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA
Mọi người đều được phép sao chép và lưu hành bản sao nguyên bản nhưng không được phép thay đổi nội dung của giấy phép này
Trang 12BẢN QUYỀN
Các chương trình tuân theo GNU Copyleft hoặc GPL (General Public License) có bản quyền như sau [1] :
Tác giả vẫn là sở hữu của chương trình của mình.
Ai cũng được quyền bán copy của chương trình với giá bất kỳ
mà không phải trả cho tác giả ban đầu.
Người sở hữu chương trình tạo điều kiện cho người khác sao chép chương trình nguồn để phát triển tiếp chương trình
Trang 13CÁC ĐIỀU KIỆN VÀ ĐIỀU KHOẢN
Áp dụng những điều khoản trên như thế nào đối với chương trình của bạn
Nếu bạn xây dựng một chương trình mới, và muốn cung cấp một cách tối đa cho công chúng sử dụng, bạn cần phát triển chương trình đó thành phần mềm tự do để ai cũng có thể cung cấp lại và thay đổi theo những điều khoản như trên.
Để làm được việc này, hãy đính kèm những thông báo như sau cùng với chương trình của mình An toàn nhất là đính kèm chúng trong phần đầu của tập tin mã nguồn để thông báo một cách hiệu quả nhất về việc không có bảo hành; và mỗi tệp tin đều phải có ít nhất một dòng về “bản quyền” và trỏ đến toàn bộ thông báo.
Một dòng đề tên chương trình và nội dung của nó.
Bản quyền (C) năm, tên tác giả.
Trang 14 Chương trình này là phần mềm tự do, bạn có thể cung cấp lại và/hoặc chỉnh sửa nó theo những điều khoản của Giấy phép Công cộng của GNU do Tổ chức Phần mềm
Tự do công bố; phiên bản 2 của Giấy phép, hoặc bất kỳ một phiên bản sau đó (tuỳ sự lựa chọn của bạn)
Chương trình này được cung cấp với hy vọng nó sẽ hữu ích, tuy nhiên KHÔNG CÓ BẤT KỲ MỘT BẢO HÀNH NÀO; thậm chí kể cả bảo hành về KHẢ NĂNG THƯƠNG MẠI hoặc TÍNH THÍCH HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ Xin xem Giấy phép Công cộng của GNU để biết thêm chi tiết
CÁC ĐIỀU KIỆN VÀ ĐIỀU KHOẢN