Bài giảng Phần mềm mã nguồn mở - Đại học Công nghệ GTVT

Hướng dẫn trích xuất trang từ file dc2tt31 bai giang phan mem ma nguon mo pdfp1 4282. Tìm hiểu cách tách các trang cụ thể một cách nhanh chóng, dễ dàng.

Chuyên ngành

Công nghệ Thông tin

Người đăng

Ẩn danh

Thể loại

Bài giảng

2022

80
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

Lời mở đầu

1. Giới thiệu

1.1. Khái niệm về sự tự do của phần mềm

1.2. Các khái niệm có liên quan

1.3. Hệ quả của sự tự do của phần mềm

1.3.1. Đối với người sử dụng đầu cuối

1.3.2. Đối với nền hành chính nhà nước

1.3.3. Đối với lập trình viên

1.3.4. Đối với nhà tích hợp

1.3.5. Đối với các nhà cung cấp và duy trì dịch vụ

2. Một chút về lịch sử

2.1. Phần mềm tự do trước phần mềm tự do

2.1.1. Và lúc ban đầu nó từng là tự do

2.1.2. Những năm 70 và đầu những năm 80

2.1.3. Sự phát triển ban đầu của Unix

2.2. Sự bắt đầu: BSD, GNU

2.2.1. Richard Stallman, GNU, FSF: phong trào PMTD ra đời

2.2.2. CSRG của Berkeley

2.2.3. Sự khởi đầu của Internet

2.3. Mọi thứ đều theo cách của nó

2.3.1. Yêu cầu về một nhân kernel

2.4. Sự ra đời của GNU/Linux

2.5. Thời gian chín muồi

2.5.1. Kết thúc những năm 90

2.6. Tương lai: Một tiến trình đầy trở ngại?

3. Các khía cạnh pháp lý

3.1. Giới thiệu ngắn gọn về sở hữu trí tuệ

3.2. Bí mật thương mại

3.3. Các bằng sáng chế và các mô hình tiện ích

3.4. Thương hiệu và logo được đăng ký

3.5. Các giấy phép của PMTD

3.5.1. Các loại giấy phép

3.6. Những giấy phép dễ dãi

3.7. Các giấy phép mạnh

3.8. Phân phối theo vài giấy phép

3.9. Tài liệu chương trình

4. Các lập trình viên và những động lực của họ

4.1. Các lập trình viên là những ai?

4.2. Lập trình viên làm gì?

4.3. Phân bố theo địa lý

4.4. Sự cống hiến

4.5. Những động lực

4.6. Sự lãnh đạo

4.7. Tóm lược và các kết luận

5. Cấp vốn cho các dự án PMTD

5.1. Vốn nhà nước

5.2. Việc cấp vốn không vì lợi nhuận của tư nhân

5.3. Cấp vốn bởi ai đó yêu cầu những cải tiến

5.4. Việc cấp vốn với những lợi ích liên quan

5.5. Việc cấp vốn như một sự đầu tư nội bộ

5.6. Các phương thức cấp vốn khác

6. Các mô hình kinh doanh dựa trên PMTD

6.1. Hiểu biết tốt hơn

6.2. Hiểu biết tốt hơn với những hạn chế

6.3. Nguồn của một sản phẩm PMTD

6.4. Nguồn sản phẩm với những hạn chế

6.5. Các giấy phép đặc biệt

6.6. Bán thương hiệu

7. Những phân loại mô hình kinh doanh khác

7.1. Phân loại theo Hecker

8. Ảnh hưởng lên vị thế độc quyền

8.1. Các yếu tố thiên vị cho các sản phẩm áp đảo

8.2. Thế giới của PMSHĐQ

8.3. Tình trạng với PMTD

8.4. Các chiến lược cho việc trở thành một sự độc quyền với PMTD

9. PMTD và hành chính nhà nước

9.1. Ảnh hưởng lên các cơ quan hành chính nhà nước

9.1.1. Những ưu điểm và những ảnh hưởng tích cực

9.1.2. Những khó khăn của việc áp dụng và những vấn đề khác

9.2. Hành động của cơ quan hành chính nhà nước trong thế giới PMTD

9.2.1. Làm sao thỏa mãn nhu cầu của các cơ quan hành chính nhà nước?

9.2.2. Khuyến khích xã hội thông tin

9.3. Thúc đẩy nghiên cứu

9.4. Những ví dụ của những sáng kiến về pháp lý

9.4.1. Các dự luật tại Pháp

9.4.2. Dự luật của Brazil

9.4.3. Các dự luật tại Peru

9.4.4. Các dự luật tại Tây Ban Nha

10. Kỹ thuật của PMTD

10.1. Nhà thờ lớn và cái chợ

10.2. Sự lãnh đạo và ra quyết định trong cái chợ

10.3. Các qui trình của PMTD

10.4. Chỉ trích về “Nhà thờ lớn và cái chợ”

10.5. Các nghiên cứu có tính định lượng

10.6. Công việc tương lai

11. Các môi trường và công nghệ phát triển

11.1. Mô tả các môi trường, công cụ và hệ thống

11.2. Các ngôn ngữ và công cụ có liên quan

11.3. Các môi trường phát triển tích hợp

11.4. Các cơ chế cộng tác cơ bản

11.4.1. Hệ thống Phiên bản Đồng thời

11.4.2. Các hệ thống quản lý nguồn khác

11.5. Quản lý lỗi và các vấn đề khác

11.6. Hỗ trợ cho các kiến trúc khác

11.7. Các site hỗ trợ phát triển

11.7.1. Những người kế thừa của SourceForge

11.7.2. Các site và chương trình khác

12. Các trường hợp điển hình

12.1. Lịch sử của Linux

12.2. Cách thức làm việc của Linux

12.3. Hiện trạng của Linux

12.4. Lịch sử của FreeBSD

12.5. Sự phát triển trong FreeBSD

12.6. Qui trình ra quyết định trong FreeBSD

12.7. Các công ty làm việc xung quanh FreeBSD

12.8. Hiện trạng của FreeBSD

12.9. Bức tranh X quang của FreeBSD

12.10. Các nghiên cứu hàn lâm về FreeBSD

12.11. Lịch sử của KDE

12.12. Sự phát triển của KDE

12.13. Liên đoàn KDE

12.14. Hiện trạng của KDE

12.15. Hình ảnh X quang của KDE

12.16. Lịch sử của GNOME

12.17. Giới công nghiệp làm việc xung quanh GNOME

12.18. Hiện trạng của GNOME

12.19. Hình ảnh X quang của GNOME

12.20. Các nghiên cứu hàn lâm về GNOME

12.21. Lịch sử của Apache

12.22. Sự phát triển của Apache

12.23. Hình ảnh X quang của Apache

12.24. Lịch sử của Mozilla

12.25. Hình ảnh X quang của Mozilla

12.26. Lịch sử của OpenOffice

12.27. Tổ chức của OpenOffice

12.28. Hình ảnh X quang của OpenOffice

12.29. Red Hat Linux

12.30. Lịch sử của Red Hat

12.31. Hiện trạng của Red Hat

12.32. Bức tranh X quang của Red Hat

12.33. Debian GNU/Linux

12.34. Hình ảnh X quang của Debian

12.35. So sánh với các hệ điều hành khác

12.36. Lịch sử của Eclipse

12.37. Hiện trạng của Eclipse

12.38. Hình ảnh X quang của Eclipse

13. Các nguồn tự do khác

13.1. Những tài nguyên tự do quan trọng nhất

13.2. Các tài liệu khoa học

13.3. Luật pháp và chuẩn

13.4. Bách khoa toàn thư

13.5. Các bộ sưu tập và các cơ sở dữ liệu

13.6. Văn học và nghệ thuật

14. Các giấy phép cho những tài nguyên tự do khác

14.1. Giấy phép tài liệu tự do GNU

14.2. Các giấy phép chung sáng tạo

Tóm tắt

I. Tổng quan về Phần mềm mã nguồn mở Khái niệm và lợi ích

Bài giảng này cung cấp cái nhìn tổng quan về phần mềm mã nguồn mở (PMTD), một mô hình phát triển phần mềm đang ngày càng trở nên phổ biến. Từ những năm 1970, việc thương mại hóa phần mềm đã đi kèm với các điều kiện sử dụng hạn chế. Tuy nhiên, PMTD mang đến những sự tự do mà phần mềm độc quyền (PMSHĐQ) không có. PMTD không chỉ đơn thuần là phần mềm miễn phí. Nó trao quyền cho người dùng được sử dụng, nghiên cứu, phân phối lại và cải tiến phần mềm. Theo Richard Stallman, các quyền tự do cơ bản của PMTD bao gồm: tự do chạy chương trình vì bất kỳ mục đích gì, tự do nghiên cứu và sửa đổi nó, tự do phân phối lại các bản sao và tự do cải tiến chương trình. Cơ chế để đảm bảo những quyền tự do này là thông qua giấy phép đặc biệt. Sự không rõ nghĩa của khái niệm 'tự do' (free) trong tiếng Anh (có thể hiểu là 'miễn phí') dẫn đến nhiều nhầm lẫn. Chính vì thế, PMTD và phần mềm biếu không là hai khái niệm khác nhau. Bất kỳ ai cũng có thể thương mại hóa một chương trình cho trước ở bất kỳ giá nào. Từ quan điểm thực tế, một vài văn bản xác định chính xác hơn những điều kiện gì một giấy phép phải đáp ứng để được xem là một giấy phép PMTD. Các chỉ dẫn của Debian đi vào chi tiết của việc cho phép tác giả yêu cầu rằng các mã nguồn được phân phối sẽ không được sửa trực tiếp, mà thay vào đó là bản gốc được đi kèm với các bản vá riêng rẽ và rằng các chương trình nhị phân được tạo ra phải với các tên khác so với bản gốc. Họ cũng yêu cầu rằng các giấy phép không được làm xấu đi các chương trình khác được phân phối theo cùng cách này.

1.1. Định nghĩa và phân biệt Phần mềm mã nguồn mở và Phần mềm tự do

Khái niệm Phần mềm nguồn mở (PMNM), được khởi xướng bởi Eric Raymond và tổ chức Sáng kiến Nguồn Mở (OSI) là tương đương với khái niệm PMTD. Về mặt triết học mà nói, thì khái niệm này là rất khác vì nó nhấn mạnh tới tính sẵn sàng của mã nguồn và không nhấn mạnh về sự tự do, nhưng định nghĩa này về mặt thực tế là y hệt như của Debian. Khái niệm này về mặt chính trị là vô trùng hơn và nhấn mạnh khía cạnh kỹ thuật, mà nó có thể đưa ra những lợi ích về kỹ thuật, như các mô hình phát triển và kinh doanh được cải thiện, an ninh tốt hơn, vân vân. Bị chỉ trích mạnh mẽ bởi Richard Stallman (“Vì sao PMTD là tốt hơn nguồn mở”) và FSF , nó đã cộng hưởng tốt hơn nhiều với văn hóa thương mại và với các chiến lược của các công ty mà bằng một cách nào đó khác hỗ trợ mô hình này. Freeware thường chỉ được phân phối ở dạng nhị phân và có thể lấy được miễn phí. Đôi khi nó có khả năng có được phép để phân phối lại, và đôi khi không, nghĩa là sau đó nó chỉ có thể có được từ site “chính thức” được duy trì cho mục đích đó. Nó thường được sử dụng để quảng bá cho các chương trình (thường với chức năng hoàn chỉnh hơn) hoặc dịch vụ khác. Các ví dụ của dạng chương trình này bao gồm Skype, Google Earth hoặc Microsoft Messenger.

1.2. Động lực thúc đẩy sự phát triển của Phần mềm mã nguồn mở

Như chúng ta đã thấy, có 2 dòng động lực lớn cho sự phát triển PMTD, mà cũng đưa ra 2 cái tên được biết tới như: Động lực về đạo đức, được bênh vực bởi FSF, mà nó đã kế thừa được văn hóa của các cao thủ (hacker) và hỗ trợ sử dụng khái niệm tự do, viện lý rằng phần mềm là tri thức mà phải được chia sẻ không có trở ngại gì, rằng việc dấu nó là phản xã hội và nói thêm rằng khả năng để sửa đổi các chương trình là một dạng tự do diễn đạt. Bạn có thể nghiên cứu điều này sâu hơn bằng cách đọc hoặc phân tích của Pekka Himanen. Động cơ thực dụng, được bảo vệ bởi tổ chức OSI mà nó ủng hộ sử dụng khái niệm nguồn mở, và viện lý trường hợp này là về những ưu thế về kỹ thuật và tài chính mà chúng tôi sẽ thảo luận trong phần tiếp sau. Bên cạnh 2 động lực chính này, mọi người làm việc về PMTD có thể làm thế vì nhiều lý do khác, bao gồm cả vì thú vui hoặc vì tiền, đa phần với các mô hình kinh doanh bền vững.

1.3. Hệ quả của sự tự do trong Phần mềm mã nguồn mở

PMTD đưa ra nhiều ưu điểm và, trong một số ít các nhược điểm, thì nhiều cái đã được cường điệu hóa (hoặc được sáng tạo ra) bởi các đối thủ cạnh tranh sở hữu độc quyền. Những nhược điểm dễ thấy nhất là về tài chính, vì như chúng ta đã thấy là không thể kiếm nhiều tiền từ sự phân phối nó, mà có thể và có xu hướng sẽ được làm bởi ai đó khác chứ không phải tác giả. Ghi tạc trong tâm trí những cân nhắc về tài chính, chúng ta phải lưu tâm rằng mô hình giá thành của PMTD rất khác so với mô hình giá thành của PMSHĐQ, vì một số lượng lớn của nó phát triển bên ngoài nền kinh tế tiền tệ chính thống, và thường sử dụng các cơ chế trao đổi/đổi chác: “Tôi đưa cho anh một chương trình mà anh quan tâm, và anh thích nghi nó vào kiến trúc của anh và tiến hành các cải tiến mà anh cần”. Một phần lớn giá thành được giảm thiểu bởi thực tế rằng nó là tự do, vì các chương trình mới không cần bắt đầu từ đầu, vì chúng có thể sử dụng lại ngay các phần mềm đã có sẵn.

II. Lịch sử hình thành và phát triển Phần mềm mã nguồn mở PDF

Lịch sử của PMTD không phải là một dòng sự kiện ngắn gọn, mà là một quá trình phát triển lâu dài song song với lịch sử của ngành CNTT. Ban đầu, hầu hết phần mềm đều được chia sẻ tự do. Tuy nhiên, sự thay đổi trong mô hình kinh doanh đã dẫn đến sự ra đời của phần mềm độc quyền. Richard Stallman đã khởi động dự án GNU, đặt nền móng cho phong trào PMTD hiện đại. Cùng với sự phát triển của Internet và các cộng đồng lập trình viên, PMTD ngày càng trở nên phổ biến. Dự án GNU là một nỗ lực có cấu trúc cao với các mục tiêu rất rõ ràng. Phương pháp thường được dựa vào các nhóm người khá nhỏ (thường là những người tự nguyện) phát triển một trong những công cụ mà nó có thể sau đó phù hợp tuyệt vời trong một trò chơi ghép hình hoàn chỉnh (hệ GNU). Tính được phân thành các module của Unix, trong đó dự án này đã được truyền cảm hứng, trùng hợp hoàn toàn với ý tưởng đó. Đến những năm 1990, GNU gần như đã hoàn thành một hệ điều hành hoàn chỉnh, nhưng vẫn thiếu nhân kernel. Sự xuất hiện của Linux đã lấp đầy khoảng trống này, tạo ra hệ điều hành GNU/Linux. Nhóm Nghiên cứu Khoa học Máy tính CSRG (Computer Science Research Group) của Đại học California tại Berkeley đã là một trong những trung tâm nơi mà hầu hết các phát triển liên quan tới Unix đã được làm ra, đặc biệt giữa những năm 1979-1980.

2.1. Giai đoạn sơ khai Từ chia sẻ tự do đến phần mềm độc quyền

Trong những năm 60, toàn cảnh IT đã bị áp đảo bởi các máy tính lớn, chủ yếu được cài đặt trong các công ty và cơ quan chính phủ. IBM từng là nhà sản xuất hàng đầu, con đường phía trước đối với sự cạnh tranh của hãng. Trong thời kỳ này, khi mua một máy tính (phần cứng), thì phần mềm được bổ sung vào. Trong giai đoạn này, phần mềm thường được phân phối cùng với mã nguồn của nó (trong nhiều trường hợp chỉ như là mã nguồn), và nói chung, không có bất kỳ hạn chế thực tế nào. Các nhóm người sử dụng như SHARE (những người sử dụng các hệ thống của IBM) hoặc DECUS (những người sử dụng của DEC) đã tham gia vào những trao đổi này, và ở mức độ nào đó, đã tổ chức ra chúng. Khu vực “các thuật toán” của tạp chí Communication of the ACM từng là một ví dụ tốt khác về một diễn đàn trao đổi.

2.2. Sự ra đời của GNU Linux và hệ điều hành BSD

Tháng 07/1991 Linus Tovalds (một sinh viên Phần Lan 21 tuổi) đã đưa ra thông điệp đầu tiên nhắc tới dự án của anh ta (khi đó) để xây dựng một hệ điều hành tự do tương tự như Minix. Vào tháng 09 anh ta đã đưa ra phiên bản đầu tiên nhất (0.01), và sau mỗi ít tuần các phiên bản mới đã xuất hiện. Vào tháng 03/1994 phiên bản 1.0 đã xuất hiện, lần đầu tiên một phiên bản được gọi là ổn định, dù nhân mà Linus đã xây dựng đã có thể sử dụng được từ vài tháng trước. Trong giai đoạn này, đúng là hàng trăm lập trình viên đã chuyển sang Linux, tích hợp tất cả các phần mềm của GNU xung quanh nó, cũng như XFree và nhiều chương trình tự do khác nữa. Không giống như họ *BSD, nhân Linux và một số lượng lớn các thành phần được tích hợp xung quanh nó đã được phân phối bằng giấy phép GPL. Về nhiều phát triển đã nổi lên xung quanh Linux, một trong những câu chuyện thú vị nhất là khái niệm phát tán

2.3. Ảnh hưởng của Internet đến phong trào PMTD

Hầu hết từ sự tạo ra của nó trong thập kỷ những năm 1970, Internet đã từng gắn chặt với PMTD. Một mặt, ngay từ đầu, cộng đồng các lập trình viên mà họ xây dựng Internet đã có vài nguyên tắc rõ ràng mà chúng sau này đã trở thành kinh điển trong thế giới của PMTD; ví dụ, tầm quan trọng của người sử dụng có khả năng giúp sửa các lỗi hoặc chia sẻ mã nguồn. Tầm quan trọng của BSD Unix trong sự phát triển của nó (bằng việc cung cấp trong những năm 1980 hầu hết sự triển khai cài đặt phổ biến của các giao thức TCP/IP) làm cho nó dễ dàng truyền đi nhiều tập quán và cách thức của việc làm ra những thứ từ một cộng đồng - các lập trình viên đã tập trung xung quanh CSRG - đối với cộng đồng khác - các lập trình viên mà đã từng xây dựng những gì khi đó là NSFNet và có thể sau này đã trở thành Internet - và ngược lại.

III. Khía cạnh pháp lý quan trọng của Phần mềm mã nguồn mở PDF

Bài giảng này xem xét những khía cạnh pháp lý chính có liên quan tới PMTD. Để đặt chúng vào trong ngữ cảnh này, chúng tôi bắt đầu với một sự giới thiệu nhỏ về những khái niệm cơ bản nhất của các quyền sở hữu trí tuệ và sở hữu công nghiệp, trước khi đưa ra định nghĩa chi tiết của PMTD, PMNM và các khái niệm liên quan khác. Chúng tôi cũng xem xét một số chi tiết trong các giấy phép PMTD phổ biến nhất và ảnh hưởng của chúng lên các mô hình kinh doanh và các mô hình phát triển. Khái niệm sở hữu trí tuệ có một loạt ý nghĩa theo ngữ cảnh của nó và ai sử dụng nó. Trong nhiều trường hợp (và thường là trong trường hợp của phần mềm), quyền này được chuyển vào trong thực tế tới các công ty mà họ sử dụng những người sáng tạo hoặc những công ty phân phối hoặc bán những sáng tạo của họ. Tuy nhiên, sở hữu trí tuệ được chứng minh là đúng không chỉ về phương diện đạo đức, mà còn vì những lý do thực tiễn, để phù hợp với quyền khác: quyền công khai đối với lợi ích từ sự sáng tạo, khuyến khích nó thông qua những khích lệ và việc bảo vệ đầu tư trong sáng tạo, nghiên cứu và phát triển. Tiếp theo chúng ta mô tả ngắn gọn một ít giấy phép dễ dãi: Giấy phép X Window, phiên bản 11 (X11). Zope Public License 2.0. Giấy phép Apache.

3.1. Tổng quan về quyền sở hữu trí tuệ liên quan đến phần mềm

Bản quyền bảo vệ sự diễn đạt của nội dung, chứ không phải bản thân nội dung. Bản quyền đã được phát triển để bù đắp cho các tác giả các cuốn sách hoặc tác phẩm nghệ thuật. Các công việc được bảo vệ có thể diễn đạt các ý tưởng, tri thức hoặc các phương pháp mà chúng được sử dụng một cách tự do, nhưng bị cấm tái sinh chúng mà không có sự cho phép một phần hoặc toàn phần, có hoặc không có những sửa đổi. Việc bảo vệ này là rất đơn giản, vì nó tự động có hiệu lực với một phạm vi hầu như vạn năng chỉ khi công việc này được xuất bản/tung ra. Các quyền này được chia thành các quyền về đạo đức và sở hữu trí tuệ. Cái đầu đảm bảo cho sự kiểm soát của tác giả đối với việc phân phối tác phẩm của anh ta, dưới tên hoặc bút danh của anh ta, sự thừa nhận nguồn tác giả, tôn trọng tính toàn vẹn của tác phẩm và quyền sửa đổi và rút nó lại. Các quyền về đạo đức là suốt đời hoặc không hạn định, trong khi các quyền về trí tuệ có một thời hạn khá dài (70 năm sau cái chết của tác giả, trong trường hợp của một người cụ thể theo luật của Tây Ban Nha). Việc nhượng lại các quyền này được thiết lập bằng một dạng hợp đồng được biết tới như một giấy phép.

3.2. Các loại giấy phép phổ biến trong Phần mềm mã nguồn mở BSD GPL LGPL

Có nhiều loại giấy phép tự do, dù vì lý do thực tế hầu hết các dự án sử dụng một nhóm nhỏ khoảng 4 hoặc 5 giấy phép. Một mặt, nhiều dự án không muốn hoặc không có tài nguyên để thiết kế giấy phép của riêng họ; mặt khác, hầu hết những người sử dụng yêu thích một giấy phép nổi tiếng hơn là phải đọc và phân tích các giấy phép hoàn chỉnh. Chúng ta có thể thấy sự không nhất quán trong một số giấy phép, như Giấy phép Nguồn Công cộng Apple phiên bản 1.2), mà FSF coi là không tự do vì sự bắt buộc phải xuất bản tất cả những thay đổi (ngay cả nếu chúng là riêng tư), để lưu ý Apple về sự phân phối lại, hoặc khả năng hủy bỏ đơn phương. Bổn phận duy nhất mà nó đưa ra là để công nhận các tác giả, trong khi nó cho phép phân phối lại ở cả các định dạng nhị phân và mã nguồn, mà không bắt ép theo bất kỳ cách nào trong mọi trường hợp. Nó cũng trao quyền để thực hiện bất kỳ sự thay đổi nào và được tích hợp vào trong các chương trình khác mà hầu như không có bất kỳ hạn chế nào.

3.3. Phân tích chi tiết giấy phép GNU General Public Licence GNU GPL

Giấy phép Công cộng Chung GNU (FSF, 1991) (được biết tốt hơn bằng cái tên tắt là GPL), nó có trong phụ lục C, cho tới nay là giấy phép phổ biến và nổi tiếng nhất trong thế giới của PMTD. Nó đã được tạo ra bởi FSF (người sáng lập ra dự án GNU), và ban đầu đã được thiết kế để trở thành giấy phép cho tất cả các phần mềm được tạo ra bởi FSF. Tuy nhiên, việc sử dụng nó đã mở rộng xa hơn trở thành giấy phép được sử dụng nhiều nhất, ngay cả bởi các dự án hàng đầu trong thế giới của PMTD, như nhân Linux. Giấy phép GPL là thú vị từ một quan điểm pháp lý vì nó tạo ra sự sử dụng một cách sáng tạo pháp luật về bản quyền: thay vì việc giới hạn các quyền của người sử dụng, nó đảm bảo cho họ. Tuy nhiên, điều này chỉ có thể để phân phối lại mã nguồn được cấp phép theo GPL tích hợp được với mã nguồn khác nếu nó có một giấy phép tương thích. Điều này từng được gọi là hiệu ứng virus của GPL, vì một khi mã nguồn đã được xuất bản với các điều kiện này thì chúng có thể không bao giờ thay đổi được.

IV. Động lực của lập trình viên trong Phần mềm mã nguồn mở PDF

Các lập trình viên là những người đóng góp quan trọng nhất cho sự phát triển của PMTD. Động lực của họ rất đa dạng, từ đam mê công nghệ, mong muốn đóng góp cho cộng đồng, đến cơ hội học hỏi và phát triển kỹ năng. Cấp vốn cho các dự án PMTD cũng rất đa dạng. Vốn nhà nước, việc cấp vốn không vì lợi nhuận của tư nhân, cấp vốn bởi ai đó yêu cầu những cải tiến. Có thể được coi là động lực của các lập trình viên trong PMTD các mô hình kinh doanh dựa trên PMTD, Hiểu biết tốt hơn, Hiểu biết tốt hơn với những hạn chế, Nguồn của một sản phẩm PMTD, Nguồn sản phẩm với những hạn chế, Các giấy phép đặc biệt, Bán thương hiệu, Phân loại theo Hecker.

4.1. Ai là lập trình viên và họ làm gì trong Phần mềm mã nguồn mở

Các lập trình viên của PMTD là những cá nhân có kỹ năng và đam mê với công nghệ. Họ đến từ nhiều quốc gia và nền tảng khác nhau. Công việc của họ bao gồm viết mã, sửa lỗi, thiết kế giao diện, và hỗ trợ người dùng. Phân bố theo địa lý. Sự cống hiến. Những động lực. Sự lãnh đạo. Tóm lược và các kết luận.

4.2. Các yếu tố thúc đẩy lập trình viên tham gia cộng đồng Phần mềm mã nguồn mở

Những động lực chính của lập trình viên bao gồm: Tự do sáng tạo và chia sẻ, Cơ hội học hỏi và phát triển kỹ năng, Mong muốn đóng góp cho cộng đồng, Sự công nhận và danh tiếng trong cộng đồng. Cấp vốn cho các dự án PMTD. Vốn nhà nước. Việc cấp vốn không vì lợi nhuận của tư nhân. Việc cấp vốn với những lợi ích liên quan. Việc cấp vốn như một sự đầu tư nội bộ . Các phương thức cấp vốn khác.

4.3. Mô hình kinh doanh dựa trên Phần mềm mã nguồn mở

Các mô hình kinh doanh dựa trên PMTD rất đa dạng. Một số công ty bán dịch vụ hỗ trợ, tư vấn, và tùy chỉnh phần mềm. Những công ty khác phát triển phần mềm độc quyền dựa trên nền tảng PMTD. Các công ty khác hỗ trợ việc phát triển PMTD với những hiểu biết tốt hơn, Hiểu biết tốt hơn với những hạn chế, Nguồn của một sản phẩm PMTD, Nguồn sản phẩm với những hạn chế. Các giấy phép đặc biệt, Bán thương hiệu. Phân loại theo Hecker.

V. Ứng dụng và ảnh hưởng của Phần mềm mã nguồn mở đến chính phủ

PMTD có ảnh hưởng lớn đến các cơ quan hành chính nhà nước. Những ưu điểm và những ảnh hưởng tích cực. Những khó khăn của việc áp dụng và những vấn đề khác. Hành động của cơ quan hành chính nhà nước trong thế giới PMTD. Làm sao thỏa mãn nhu cầu của các cơ quan hành chính nhà nước?. Khuyến khích xã hội thông tin. Ảnh hưởng lên vị thế độc quyền. Các yếu tố thiên vị cho các sản phẩm áp đảo. Thế giới của PMSHĐQ. Tình trạng với PMTD. Các chiến lược cho việc trở thành một sự độc quyền với PMTD.

5.1. Lợi ích của Phần mềm mã nguồn mở cho cơ quan hành chính nhà nước

Các lợi ích chính bao gồm: Giảm chi phí, Tăng cường an ninh, Khả năng tùy chỉnh và kiểm soát cao, Hỗ trợ các tiêu chuẩn mở, Thúc đẩy đổi mới và phát triển kinh tế. Ảnh hưởng lên các cơ quan hành chính nhà nước. Những ưu điểm và những ảnh hưởng tích cực . Những khó khăn của việc áp dụng và những vấn đề khác.

5.2. Khó khăn và thách thức trong việc áp dụng Phần mềm mã nguồn mở

Những khó khăn chính bao gồm: Thiếu kỹ năng và kinh nghiệm, Vấn đề tương thích, Lo ngại về an ninh, Sự phụ thuộc vào cộng đồng. Hành động của cơ quan hành chính nhà nước trong thế giới PMTD. Làm sao thỏa mãn nhu cầu của các cơ quan hành chính nhà nước?. Khuyến khích xã hội thông tin.

5.3. Các sáng kiến pháp lý thúc đẩy việc sử dụng Phần mềm mã nguồn mở

Nhiều quốc gia đã ban hành các luật và chính sách để thúc đẩy việc sử dụng PMTD trong các cơ quan chính phủ. Điều này bao gồm các yêu cầu ưu tiên PMTD trong mua sắm công, hỗ trợ các dự án PMTD, và khuyến khích nghiên cứu và phát triển. Thúc đẩy nghiên cứu . Những ví dụ của những sáng kiến về pháp lý. Các dự luật tại Pháp. Dự luật của Brazil. Các dự luật tại Peru. Các dự luật tại Tây Ban Nha.

VI. Kỹ thuật phát triển và môi trường làm việc của PMTD PDF

Để phát triển PMTD, kỹ thuật xây dựng phải phù hợp và chuyên dụng. Nhà thờ lớn và cái chợ. Sự lãnh đạo và ra quyết định trong cái chợ. Các qui trình của PMTD. Chỉ trích về “Nhà thờ lớn và cái chợ”. Các nghiên cứu có tính định lượng. Công việc tương lai. Các môi trường và công nghệ phát triển. Mô tả các môi trường, công cụ và hệ thống. Các ngôn ngữ và công cụ có liên quan. Các môi trường phát triển tích hợp. Các cơ chế cộng tác cơ bản. Hệ thống Phiên bản Đồng thời. Các hệ thống quản lý nguồn khác. Quản lý lỗi và các vấn đề khác. Hỗ trợ cho các kiến trúc khác. Các site hỗ trợ phát triển.

6.1. So sánh mô hình Nhà thờ lớn và Cái chợ trong PMTD

Mô hình "Nhà thờ lớn" là mô hình phát triển tập trung, trong đó một nhóm nhỏ các lập trình viên có kinh nghiệm chịu trách nhiệm chính. Mô hình "Cái chợ" là mô hình phát triển phân tán, trong đó nhiều lập trình viên tham gia đóng góp mã nguồn. Nhà thờ lớn và cái chợ. Sự lãnh đạo và ra quyết định trong cái chợ.

6.2. Các công cụ và môi trường phát triển PMTD phổ biến

Các công cụ và môi trường phát triển PMTD phổ biến bao gồm: Hệ thống quản lý phiên bản (Git, SVN), Hệ thống theo dõi lỗi (Bugzilla, Jira), Diễn đàn và danh sách gửi thư, Các công cụ cộng tác (IRC, Slack). Các môi trường và công nghệ phát triển. Mô tả các môi trường, công cụ và hệ thống. Các ngôn ngữ và công cụ có liên quan. Các môi trường phát triển tích hợp. Các cơ chế cộng tác cơ bản.

6.3. Các cơ chế cộng tác và quản lý lỗi trong PMTD

Các cơ chế cộng tác trong PMTD bao gồm: Kiểm tra mã nguồn, Thảo luận công khai, Đánh giá ngang hàng. Các cơ chế quản lý lỗi bao gồm: Hệ thống theo dõi lỗi, Quy trình báo cáo lỗi rõ ràng, Ưu tiên sửa lỗi theo mức độ nghiêm trọng. Hệ thống Phiên bản Đồng thời. Các hệ thống quản lý nguồn khác. Quản lý lỗi và các vấn đề khác.

22/09/2025

Trích đoạn nội dung tài liệu

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT KHOA CÔNG NGHỆ THÔNG TIN THS. PHAN NHƯ MINH (Bộ môn truyền thông và mạng máy tính) BÀI GIẢNG PHẦN MỀM MÃ NGUỒN MỞ DÙNG CHO SINH VIÊN KHOA CÔNG NGHỆ THÔNG TIN LƯU HÀNH NỘI BỘ Hà nội 2022 GNUFDL • PID_00148386 Phần mềm tự do Mục lục 1 Giới thiệu.1 Khái niệm về sự tự do của phần mềm.2 Các khái niệm có liên quan .3 Hệ quả của sự tự do của phần mềm.1 Đối với người sử dụng đầu cuối.2 Đối với nền hành chính nhà nước.3 Đối với lập trình viên.4 Đối với nhà tích hợp .5 Đối với các nhà cung cấp và duy trì dịch vụ.31 2 Một chút về lịch sử.1 Phần mềm tự do trước phần mềm tự do.1 Và lúc ban đầu nó từng là tự do.2 Những năm 70 và đầu những năm 80.3 Sự phát triển ban đầu của Unix.2 Sự bắt đầu: BSD, GNU.1 Richard Stallman, GNU, FSF: phong trào PMTD ra đời.2 CSRG của Berkeley.3 Sự khởi đầu của Internet.3 Mọi thứ đều theo cách của nó.1 Yêu cầu về một nhân kernel.3 Sự ra đời của GNU/Linux.4 Thời gian chín muồi.1 Kết thúc những năm 90.5 Tương lai: Một tiến trình đầy trở ngại?.53 3 Các khía cạnh pháp lý.1 Giới thiệu ngắn gọn về sở hữu trí tuệ.2 Bí mật thương mại.3 Các bằng sáng chế và các mô hình tiện ích.4 Thương hiệu và logo được đăng ký.2 Các giấy phép của PMTD.1 Các loại giấy phép.61 Trang 20/218 GNUFDL • PID_00148386 Phần mềm tự do 3.2 Những giấy phép dễ dãi.3 Các giấy phép mạnh.4 Phân phối theo vài giấy phép.5 Tài liệu chương trình.70 4 Các lập trình viên và những động lực của họ.2 Các lập trình viên là những ai?.3 Lập trình viên làm gì?.4 Phân bố theo địa lý.5 Sự cống hiến.6 Những động lực.7 Sự lãnh đạo.8 Tóm lược và các kết luận.1 Cấp vốn cho các dự án PMTD.1 Vốn nhà nước.2 Việc cấp vốn không vì lợi nhuận của tư nhân.3 Cấp vốn bởi ai đó yêu cầu những cải tiến.4 Việc cấp vốn với những lợi ích liên quan.5 Việc cấp vốn như một sự đầu tư nội bộ .6 Các phương thức cấp vốn khác.2 Các mô hình kinh doanh dựa trên PMTD.1 Hiểu biết tốt hơn.2 Hiểu biết tốt hơn với những hạn chế.3 Nguồn của một sản phẩm PMTD.4 Nguồn sản phẩm với những hạn chế.5 Các giấy phép đặc biệt.6 Bán thương hiệu.3 Những phân loại mô hình kinh doanh khác.1 Phân loại theo Hecker.4 Ảnh hưởng lên vị thế độc quyền.1 Các yếu tố thiên vị cho các sản phẩm áp đảo.2 Thế giới của PMSHĐQ.3 Tình trạng với PMTD.4 Các chiến lược cho việc trở thành một sự độc quyền với PMTD.97 6 PMTD và hành chính nhà nước.1 Ảnh hưởng lên các cơ quan hành chính nhà nước.1 Những ưu điểm và những ảnh hưởng tích cực .2 Những khó khăn của việc áp dụng và những vấn đề khác.2 Hành động của cơ quan hành chính nhà nước trong thế giới PMTD.1 Làm sao thỏa mãn nhu cầu của các cơ quan hành chính nhà nước?.2 Khuyến khích xã hội thông tin.107 Trang 21/218 GNUFDL • PID_00148386 Phần mềm tự do 6.3 Thúc đẩy nghiên cứu .3 Những ví dụ của những sáng kiến về pháp lý.1 Các dự luật tại Pháp.2 Dự luật của Brazil.3 Các dự luật tại Peru.4 Các dự luật tại Tây Ban Nha.112 7 Kỹ thuật của PMTD.2 Nhà thờ lớn và cái chợ.3 Sự lãnh đạo và ra quyết định trong cái chợ.4 Các qui trình của PMTD.5 Chỉ trích về “Nhà thờ lớn và cái chợ”.6 Các nghiên cứu có tính định lượng.7 Công việc tương lai.123 8 Các môi trường và công nghệ phát triển.1 Mô tả các môi trường, công cụ và hệ thống.2 Các ngôn ngữ và công cụ có liên quan.3 Các môi trường phát triển tích hợp.4 Các cơ chế cộng tác cơ bản.1 Hệ thống Phiên bản Đồng thời.2 Các hệ thống quản lý nguồn khác.7 Quản lý lỗi và các vấn đề khác.8 Hỗ trợ cho các kiến trúc khác.9 Các site hỗ trợ phát triển.2 Những người kế thừa của SourceForge.3 Các site và chương trình khác.141 9 Các trường hợp điển hình.1 Lịch sử của Linux.2 Cách thức làm việc của Linux.3 Hiện trạng của Linux.1 Lịch sử của FreeBSD.2 Sự phát triển trong FreeBSD.3 Qui trình ra quyết định trong FreeBSD.4 Các công ty làm việc xung quanh FreeBSD.5 Hiện trạng của FreeBSD.151 Trang 22/218 GNUFDL • PID_00148386 Phần mềm tự do 9.6 Bức tranh X quang của FreeBSD.7 Các nghiên cứu hàn lâm về FreeBSD.1 Lịch sử của KDE.2 Sự phát triển của KDE.3 Liên đoàn KDE.4 Hiện trạng của KDE.5 Hình ảnh X quang của KDE.1 Lịch sử của GNOME.3 Giới công nghiệp làm việc xung quanh GNOME.4 Hiện trạng của GNOME.5 Hình ảnh X quang của GNOME.6 Các nghiên cứu hàn lâm về GNOME.1 Lịch sử của Apache.2 Sự phát triển của Apache.3 Hình ảnh X quang của Apache.1 Lịch sử của Mozilla.2 Hình ảnh X quang của Mozilla.1 Lịch sử của OpenOffice.2 Tổ chức của OpenOffice.3 Hình ảnh X quang của OpenOffice.8 Red Hat Linux.1 Lịch sử của Red Hat.2 Hiện trạng của Red Hat.3 Bức tranh X quang của Red Hat.9 Debian GNU/Linux.1 Hình ảnh X quang của Debian.2 So sánh với các hệ điều hành khác.1 Lịch sử của Eclipse.2 Hiện trạng của Eclipse.3 Hình ảnh X quang của Eclipse.187 10 Các nguồn tự do khác.1 Những tài nguyên tự do quan trọng nhất.1 Các tài liệu khoa học.2 Luật pháp và chuẩn.3 Bách khoa toàn thư.193 Trang 23/218 GNUFDL • PID_00148386 Phần mềm tự do 10.5 Các bộ sưu tập và các cơ sở dữ liệu.7 Văn học và nghệ thuật.2 Các giấy phép cho những tài nguyên tự do khác.1 Giấy phép tài liệu tự do GNU.2 Các giấy phép chung sáng tạo.196 Trang 24/218 GNUFDL • PID_00148386 Phần mềm tự do 1 Giới thiệu “Nếu bạn có một quả táo và tôi có một quả táo và chúng ta trao đổi táo cho nhau, thì bạn và tôi sẽ vẫn mỗi người có một quả táo. Nhưng nếu bạn có một ý tưởng và tôi có một ý tưởng và chúng ta trao đổi cho nhau những ý tưởng đó, thì mỗi người chúng ta sẽ có 2 ý tưởng”. Phần mềm tự do (PMTD) là gì? Nó là gì và những ảnh hưởng của một giấy phép chương trình tự do là gì? PMTD được phát triển như thế nào? Các dự án PMTD được cấp vốn như thế nào và các mô hình kinh doanh nào có liên quan tới chúng mà chúng ta đang trải nghiệm? Cái gì thôi thúc các lập trình viên, đặc biệt là những tình nguyện viên, để tham gia vào trong các dự án PMTD? Các lập trình viên này thích cái gì? Các dự án của họ được điều phối như thế nào, và các phần mềm mà họ sản xuất ra giống thứ gì? Ngắn gọn, bức tranh toàn cảnh của PMTD là gì? Đây là dạng các câu hỏi mà chúng ta sẽ cố gắng trả lời trong tài liệu này.

Mặc dù vì PMTD đang gia tăng sự hiện diện của nó trên các phương tiện thông tin đại chúng và trong các tranh cãi giữa những người chuyên nghiệp về công nghệ thông tin (IT), và dù ngay cả các công dân nói chung đang bắt đầu nói về nó, thì điều này đối với hầu hết mọi người vẫn còn lạ lẫm chưa rõ. Và ngay cả những người mà đã quen với nó vẫn thường nhận thức được chỉ về một trong những tính năng của nó, và hầu hết bỏ qua về những thứ khác. Để bắt đầu, trong chương này chúng tôi sẽ trình bày những khía cạnh đặc thù của PMTD, tập trung chủ yếu vào việc giải thích nền tảng cơ bản của nó cho những người tiếp cận chủ đề này lần đầu tiên, và nhấn mạnh tới tầm quan trọng của nó. Như một phần của nền tảng cơ bản, chúng tôi sẽ phản ánh về định nghĩa của khái niệm này (để biết chúng ta đang nói về cái gì) và về những hậu quả chính của việc sử dụng (và chỉ là sự tồn tại của) PMTD.1 Khái niệm về sự tự do của phần mềm Kể từ đầu những năm 70 chúng ta đã bắt đầu quen với thực tế là bất kỳ ai thương mại hóa một chương trình có thể áp đặt (và đang áp đặt) những điều kiện theo đó chương trình có thể được sử dụng.

Việc cho một bên thứ 3 mượn có thể sẽ bị cấm, ví dụ vậy. Dù thực tế là các phần mềm là khái niệm của công nghệ hầu như mềm dẻo và có thể thích nghi được mà chúng ta có, thì nó có thể áp đặt sự ngăn cấm (và nó thường bị cấm) áp dụng nó cho những nhu cầu cụ thể nào đó, hoặc sửa các lỗi của nó, mà không có sự đồng ý rõ ràng của nhà sản xuất, người thường giữ quyền riêng cho những khả năng này. Nhưng điều này chỉ là một trong những khả năng mà pháp luật hiện hành đưa ra: PMTD, mặt khác, đưa ra những sự tự do mà các phần mềm sở hữu độc quyền từ chối. Phần mềm sở hữu độc quyền (PMSHĐQ) Trong tài liệu này chúng tôi sẽ sử dụng khái niệm PMSHĐQ để chỉ tới bất kỳ chương trình nào mà nó không được coi là PMTD theo định nghĩa mà chúng tôi sẽ đưa ra sau đây.

Trang 25/218 GNUFDL • PID_00148386 Phần mềm tự do 1.1 Định nghĩa Vì thế, khái niệm PMTD, như được hiểu bởi Richard Stallman trong định nghĩa của ông (FSF, “Định nghĩa PMTD” http://www.org/philosophy/free-sw.html [120]), tham chiếu tới các quyền tự do được đảm bảo cho người nhận nó, được nhắc tới 4 quyền sau: 1. Tự do chạy chương trình ở bất cứ đâu, vì bất kỳ mục đích gì và vĩnh viễn. Tự do nghiên cứu cách mà nó làm việc và để áp dụng nó cho các nhu cầu của chúng ta. Điều này cần tới sự truy cập vào mã nguồn.

Tự do phân phối lại các bản sao, sao cho chúng ta có thể giúp được những bạn bè và hàng xóm của chúng ta. Tự do cải tiến chương trình và đưa những cải tiến đó ra cho công chúng. Điều này cũng cần tới mã nguồn. Cơ chế mà đảm bảo cho những quyền tự do này, theo pháp luật hiện hành, là sự phân phối theo một giấy phép đặc biệt như chúng ta sẽ thấy sau (trong chương 3).

Thông qua giấy phép này, tác giả trao các quyền cho người nhận chương trình để thi hành các quyền tự do này, cũng như bổ sung thêm bất kỳ sự hạn chế nào mà tác giả có thể mong muốn áp dụng (như để công nhận các tác giả ban đầu trong trường hợp của một sự phân phối lại). Để giấy phép được xem là tự do, những hạn chế này phải không làm mất tác dụng các quyền tự do đã được nêu ở trên. Sự không rõ nghĩa của khái niệm tự do Khái niệm PMTD trong tiếng Anh là “Free” (“Tự do”), ám chỉ 'sự tự do', nhưng khái niệm này có thể còn có nghĩa là 'miễn phí' hoặc 'biếu không', mà nó gây ra nhiều sự hiểu lầm.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ