Tải bản đầy đủ (.ppt) (21 trang)

Thảo luận Phát triển mã nguồn mở docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (264.15 KB, 21 trang )

Phát triển phần mềm mã
nguồn mở
Giảng viên: Ths.Phạm Minh Thái
Khoa CNTT- Trường ĐH KT-KT CN
Email:
DĐ: 0905491592
Phát triển phần mềm mã
nguồn mở
Bài 1: Giới thiệu chung
Định nghĩa

PMNM [Open Source Software - OSS] là những phần
mềm đã được cung cấp dưới cả dạng mã và nguồ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 nhất định
theo điều khoản quy định trong giấy phép PMNM
(General Public Licence – GPL) mà không cần xin
phép ai - điều mà họ không được phép làm với Phần
mềm nguồn đóng (PMNĐ) hay còn gọi là Phần mềm
thương mại.
3
Hai học thuyết chủ đạo

Tổ chức phần mềm tự do FSF (Free
Software Foundation)

Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )
4
Tổ chức phần mềm tự do FSF
(Free Software Foundation)



Quyền tự do chạy một chương trình với bất kỳ mục
đích nào

Quyền tự do nghiên cứu cách thức vận hành của một
chương trình và thích ứng nó cho phù hợp với nhu
cầu của mình.

Quyền tự do phân phát các phiên bản của phần mềm
để giúp đỡ những người xung quanh

Quyền tự do thêm mới các chức năng cho một
chương trình và công bố những tính năng mới đó
đến công chúng để toàn cộng đồng được hưởng lợi.
5
Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )

Mã nguồn mở không chỉ có nghĩa là truy cập
vào mã nguồn. Các điều khoản phân phối của
phần mềm mã nguồn mở phải tuân thủ các
tiêu chuẩn sau:

Tự do tái phân phối

Mã nguồn

Các chương trình phát sinh
6
Tổ chức sáng kiến mã nguồn mở OSI

(Open Source Initiative )

Tính toàn vẹn của mã nguồn cung cấp bởi Tác giả

Không có sự phân biệt đối xử giữa các cá nhân hay
nhóm người

Không phân biệt đối xử với bất cứ một lĩnh vực công
việc nào

Việc phân phối giấy phép

Giấy phép phải không được dành riêng cho một sản
phẩm

Giấy phép phải không được cản trở các phần mềm
khác

Giấy phép phải trung lập về mặt công nghệ
7
Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )

Tự do tái phân phối
Giấy phép đó sẽ không giới hạn bất cứ một bênnào trong việc
bán hay đem cho phần mềm đó như là một thành phần của bản
phân phối phần mềm tổng hợp mà có chứa các chương trình từ
nhiều nguồn khác nhau. Giấy phép sẽ không đòi hỏi việc phải
giữ nguyên trạng phần mềm hay các phí tổn khác cho những
thương vụ như vậy.

8
Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )

Mã nguồn
Chương trình phải đi kèm mã nguồn, và phải cho phép phân
phối cả mã nguồn cũng như dạng đã được biên dịch. Ở những
nơi mà một số dạng sản phẩm không được phân phối cùng mã
nguồn thì phải có các cách thức được phổ biến rộng rãi nhằm
lấy được mã nguồn với chi phí không cao hơn chi phí tái sản
xuất hợp lý–khuyến khích cho phép tải về một cách miễn phí
qua Internet. Mã nguồn phải để dạng được ưa chuộng mà theo
đó một lập trình viên sẽ có thể tham gia sửa đổi chương trình
được. Việc biến đổi mã nguồn thành một dạng mã gây rối một
cách có chủ tâm là không được phép. Những hình thức trung
gian như kết quả xử lý từ một bộ tiền xử lý hay máy dịch cũng
không được phép.
9

Các chương trình phát sinh
Giấy phép phải cho phép sửa đổi và các chương trình phát sinh
từ đó, và phải cho phép chúng được phân phối dưới cùng các
điều khoản như giấy phép của phần mềm gốc.
Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )
10
Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )

Tính toàn vẹn của mã nguồn cung cấp bởi

Tác giả
Giấy phép có thể hạn chế không cho phép mã nguồn được phân
phối ở dạng đã được sửa đổi chỉ nếu như giấy phép cho phép
phân phối “các file vá” cùng mã nguồn nhằm mục đích sửa đổi
chương trình ở thời gian tạo sản phẩm. Giấy phép phải cho
phép một cách tường minh việc phân phối phần mềm được tạo
ra từ mã nguồn được sửa đổi. Giấy phép có thể yêu cầu các sản
phẩm phát sinh phải mang một cái tên hay một số hiệu phiên
bản khác so với phần mềm gốc.
11
Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )

Không có sự phân biệt đối xử giữa các cá
nhân hay nhóm người
Giấy phép phải không được phân biệt đối xử với bất cứ cá nhân
hay nhóm người nào.
12
Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )

Không phân biệt đối xử với bất cứ một lĩnh
vực công việc nào
Giấy phép phải không được cản trở bất cứ ai khỏi việc sử dụng
chương trình trong một lĩnh vực công việc cụ thể. Ví dụ, nó
không được cản trở không cho chương trình đó được dùng
trong một doanh nghiệp, hay không được dùng cho việc nghiên
cứu gien.
13
Tổ chức sáng kiến mã nguồn mở OSI

(Open Source Initiative )

Việc phân phối giấy phép
Các quyền lợi đi kèm với chương trình phải áp dụng cho tất cả
những ai mà chương trình đó được tái phân phối đến đồng thời
không cần phải thực thi một thứ giấy phép phụ thêm nào do
các bên đó quy định.
14
Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )

Giấy phép phải không được dành riêng cho
một sản phẩm
Các quyền lợi đi cùng chương trình đó phải không được phụ
thuộc vào việc chương trình phải là một bộ phận một một bản
phân phối phần mềm cụ thể. Nếu chương trình được tách ra từ
bản phân phối đó và được sử dụng hay phân phối dưới các điều
khoản của giấy phép kèm theo chương trình thì tất cả các bên
mà chương trình được phân phối đến cũng nên có được các
quyền lợi ngang bằng như những quyền lợi được đưa ra theo
bản phân phối phần mềm gốc.
15
Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )

Giấy phép phải không được cản trở các phần
mềm khác
Giấy phép phải không được áp đặt các giới hạn lên các phần
mềm khác mà được phân phối kèm với phần mềm có giấy phép
đó. Ví dụ, giấy phép không được chỉ dẫn nhất quyết rằng tất cả

các phần mềm khác được phân phối trên cùng một phương tiện
thì phải là phần mềm mã nguồn mở. Lý do cơ bản: Các nhà
phân phối phần mềm mã nguồn mở phải có quyền đưa ra các
lựa chọn của chính họ liên quan đến phần mềm của họ.
16
Tổ chức sáng kiến mã nguồn mở OSI
(Open Source Initiative )

Giấy phép phải trung lập về mặt công nghệ
Không cho phép tồn tại điều khoản nào của giấy phép khẳng
định sự liên quan đến bất cứ một công nghệ riêng biệt hay một
kiểu giao diện nào.
17
Licenses

GNU General Public License (GPL)

GNU General Public License version 3.0
(GPLv3)


18
Lịch sử của PMNM

1984: Richard Stallman sáng lập dự án GNU (GNU
Not Unix)

1991: Linus Tovards viết thành công lõi Linux

1997: GNU/Linux chiếm 25% thị trường máy chủ


1998: Netscape công bố mã nguồn Navigator, Thuật
ngữ “Nguồn mở” ra đời

Thành lập Sáng kiến nguồn mở OSI
19
Lợi ích của PMNM
1. Tính kinh tế
2. Tính an toàn
3. Tính ổn định
4. Sử dụng chuẩn mở
5. Giảm phụ thuộc vào nhập khẩu
6. Phát triển năng lực ngành CNPM địa phương
7. Giảm tình trạng vi phạm bản quyền
20
Hạn chế của PMNM
1. Thiếu các ứng dụng kinh doanh đặc thù
2. Tính tương hỗ với các phần mềm đóng kém
3. Giao diện người dùng chưa tốt
21

×