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

Tổng quan về mã nguồn mở

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 (1.47 MB, 42 trang )

Phần I - Giới thiệu PMNM 1
MÃ NGUỒN MỞ
PHẦN I – GIỚI THIỆU PHẦN MỀM NGUỒN MỞ
Phan Thanh Toàn
Mobie: 0912.069.762
Email:

Phần I - Giới thiệu PMNM 2
Nội dung chính
1. Khái niệm về PMNM
2. Các học thuyết PMNM
3. Lịch sử PMNM
4. Ưu và nhược điểm PMNM
5. Các giấy phép PMNM
Phần I - Giới thiệu PMNM 3
Mục tiêu

Cung cấp cho sinh viên kiến thức thế nào là phần mềm nguồn mở.

Khi phát triển phần mềm nguồn mở thì cần phải tuân theo nguyên tắc nào.

Biết một số giấy phép về nguồn mở.
Phần I - Giới thiệu PMNM 4
Khái niệm về phần mềm

Các nhà phát triển phần mềm tạo ra các chương trình bằng việc viết text, gọi
là “Source Code” hay “Mã nguồn”, theo một ngôn ngữ nhất định

Souce Code này thường được biên dịch thành một định dạng mà máy tính
có thể chạy được.
Phần I - Giới thiệu PMNM 5


Các kiểu biên dịch
Phần I - Giới thiệu PMNM 6
Source Code

Tạo bởi các ngôn ngữ lập trình

Java, C#, Prolog

C, C++, Delphi, Visual Basic, Pascal

Source Code:

Là các chỉ dẫn, các câu lệnh mà chương
trình phải làm.
Phần I - Giới thiệu PMNM 7
Cơ sở về phần mềm

Miễn là chương trình không cần phải thay đổi (để
trợ giúp cho các yêu cầu mới hoặc được sử dụng
trên một máy tính mới hơn), người sử dụng không
cần thiết Source Code

Thay đổi chương trình thông thường yêu cầu
quyền sở hữu và sự cho phép để thay đổi mã
nguồn

Bất kỳ ai mà kiểm soát mã nguồn hợp pháp thì họ
có thể được làm và không làm cái gì.

Những người sử dụng không có mã nguồn

thường không thể thay đổi được chương trình để
làm cái họ muốn hay chuyển sang một loại máy
tính khác
Phần I - Giới thiệu PMNM 8
Phần mềm nguồn mở

Ý tưởng cơ bản đằng sau nguồn mở rất đơn giản:
Các lập trình viên có thể đọc, phân phối lại, và
điều chỉnh mã nguồn một phần của phần mềm,
hay gọi là phần mềm tiến hóa hay phẩn mềm mở

Mọi người cải thiện, điều chỉnh, sửa lỗi nó.

Quá trình tiến hóa nhanh tức là sản xuất ra phần
mềm tốt hơn so với mô hình phần mềm “đóng”
truyền thống, mà chỉ một ít lập trình viên có thể
nhìn thấy mã nguồn, mọi người khác thì chỉ biết
sử dụng.

Tổ chức Open Source Initiative sáng lập nhằm
thực hiện mục tiêu trên.
Phần I - Giới thiệu PMNM 9
OSS/FS

Hai định nghĩa chính được sử dụng là “free software” và “open source
software”

Phần mềm là loại nào thì phải tuân theo các điều kiện khác nhau

Thuật ngữ “free software” xuất hiện đầu tiên

Phần I - Giới thiệu PMNM 10
Khái niệm PMNM

Định nghĩa (David Wheeler)
Các chương trình OSS/FS là những chương
trình mà quy trình cấp phép sẽ cho người
dùng quyền tự do chạy chương trình theo bất
kỳ mục đích nào, quyền nghiên cứu và sửa
đổi chương trình, quyền sao chép và tái phát
hành phần mềm gốc hoặc phần mềm đã sửa
đổi (mà không phải trả tiền bản quyền cho
những ngườI lập trình trước)
Phần I - Giới thiệu PMNM 11
Free and Open Source Software
(FOSS)

Sự bùng nổ về số lượng triển khai các hệ thống phần mềm nguồn mở đã
làm thay đổi thế giới công nghệ thông tin.

Khi những hệ thống FOSS đầu tiên được phát triển, nhiều người sớm sử
dụng các hệ thống này như là các chuyên gia về công nghệ.
Phần I - Giới thiệu PMNM 12
Các học thuyết về PMNM
Hai học thuyết PMNM chủ đạo

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

Chương trình Sáng kiến nguồn mở OSI (Open
Source Initiative)

Phần I - Giới thiệu PMNM 13
Các học thuyết về PMNM (tt)
Học thuyết FSF
Phần mềm miễn phí nhằm mục đích bảo vệ 4 quyền tự do của người dùng:
1. Quyền tự do chạy một chương trình với bất kỳ mục đích nào
2. 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.
3. 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
4. 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.
Phần I - Giới thiệu PMNM 14
Học thuyết FSF

Một chương trình là phần mềm tự do nếu người sử
dụng có tất cả tự do. Việc tự do để làm những thứ
có nghĩa là bạn không phải hỏi hay trả tiền để được
cho phép. Có tự do để làm những sự cải tiến và sử
dụng riêng tư trong công việc riêng mình hoặc chơi,
thậm chí không đề cập những cái đã tồn tại. Nếu
bạn xuất bản những cái thay đổi, bạn không cần
phải thông báo bất cứ ai nói riêng, hay trong bất kỳ
trường hợp đặc biệt nào.

Free Software không có nghĩa là không thương mại

Một chương trình free phải có sẵn cho sử
dụng, triển khai và phân phối thương mại.
Phần I - Giới thiệu PMNM 15

Các học thuyết về PMNM (tt)
Học thuyết OSI
Chú trọng giá trị kỹ thuật của việc tạo ra
những phần mềm mạnh, có độ tin cậy
cao và phù hợp với giới kinh doanh, đặc
biệt là lợi ích thực tiễn của phương
pháp xây dựng và quảng bá PMNM
Phần I - Giới thiệu PMNM 16
Học thuyết OSI

Open Source không chỉ có nghĩa là truy cập vào
source code.

Các điều khoản phân phối phần mềm nguồn mở
phải tuân theo các tiêu trí sau:
Phần I - Giới thiệu PMNM 17
1. Free Redistribution – Miễn phí
phân phối lại

Việc cấp giấy phép sẽ không hạn chế bất kỳ ai từ việc bán hoặc cho theo
các cách khác nhau phần mềm

Việc cấp giấy phép sẽ không đòi hỏi phải có trả tiền hoặc các chi phí khác.
Phần I - Giới thiệu PMNM 18
2. Source code

Chương trình phải bao gồm Source Code, và phải cho
phép phân phối source code cũng như các hình thức
biên soạn.


Trong trường hợp một số sản phẩm không được phân
phối với mã nguồn, thì phải công bố trên các phương
tiện đại chúng hoặc download từ Internet mà không có
phí.

Source code phải được ưu tiên trong trường hợp lập
trình viên sẽ chỉnh sửa chương trình.

Cố ý làm rối Source code là không được phép

Các sản phẩm trung gian như đầu ra của một tiền sử
lý hoặc dịch là không cho phép.
Phần I - Giới thiệu PMNM 19
3. Derived Works – Các sản phẩm
dẫn xuất

Giấy phép phải cho phép sửa đổi, bổ sung và các sản phẩm dẫn xuất phải
cho phép họ được phân phối theo cùng một điều khoản như giấy phép của
phần mềm gốc.
Phần I - Giới thiệu PMNM 20
4. Integrity of The Author's Source Code –
Sự toàn vẹn Source code của tác giả

Giấy phép có thể hạn chế mã nguồn từ bản đã được
phân phối dưới hình thức sửa đổi chỉ khi cấp giấy
phép cho phép phân phối "các miếng vá" với mã
nguồn cho mục đích của việc sửa đổi chương
trình tại thời điểm xây dựng.

Giấy phép phải rõ ràng cho phép phân phối phần

mềm được xây dựng từ sửa đổi mã nguồn.

Giấy phép có thể yêu cầu các sản phẩm dẫn xuất
mang một tên khác hay phiên bản khác từ phần mềm
ban đầu
Phần I - Giới thiệu PMNM 21
5. No Discrimination Against Persons or
Groups - Không phân biệt đối sử với cá
nhân hoặc nhóm

Giấy phép không được phân biệt đối xử đối với bất kỳ người nào hoặc
nhóm người
Phần I - Giới thiệu PMNM 22
6. No Discrimination Against Fields of Endeavor
– Chống lại phân biệt sự cố gắng của các thành
viên

Giấy phép không được giới hạn từ bất cứ ai làm việc sử dụng chương
trình trong một lĩnh vực cụ thể

Ví dụ

Trong thương mại

Trong nghiên cứu di truyền
Phần I - Giới thiệu PMNM 23
7. Distribution of License – Phân
phối giấy phép

Các quyền kèm theo các chương trình cần phải áp dụng cho tất cả các

chương trình được phân phối, mà không cần thực hiện thêm một giấy
phép giữa các bên.
Phần I - Giới thiệu PMNM 24
8. License Must Not Be Specific to a Product -
Giấy phép không được cụ thể cho một sản phẩm

Các quyền kèm theo các chương trình không phải phụ thuộc vào một phần
bản phân phối đặc biệt.

Nếu chương trình được trích xuất từ
bản phân phối đó và được sử dụng
hoặc được phân phối trong các điều
khoản của các chương trình cấp phép,
tất cả các bên tham gia vào chương trình
phân phối nên có cùng quyền lợi như
những người được cấp cùng với bản gốc
phần mềm phân phối.
Phần I - Giới thiệu PMNM 25
9. License Must Not Restrict Other
Software – Giấy phép phải không hạn
chế phần mềm khác

Giấy phép không được đưa ra các hạn chế về phần mềm khác mà được
phân phối cùng với các phần mềm đã được cấp phép.

Ví dụ, giấy phép không được đòi rằng tất
cả các chương trình khác được phân phối
trên cùng môi trường phải là phần mềm
mã nguồn mở

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×