Skip to main content

Định nghĩa về phần mềm tự do

Chúng ta thường nói phần mềm tự do nguồn mở. Ở đây có 2 khái niệm, phần mềm tự do và phần mềm nguồn mở. Vì vậy phần này cũng sẽ đưa ra định nghĩa, một về phần mềm tự do và cái kia là về phần mềm nguồn mở sẽ được tìm hiểu trong một bài viết khác.

Định nghĩa phần mềm tự do

1. Phần mềm tự do, mà cha đẻ của phong trào này là  Richard Matthew Stallman, và cũng là người sáng lập ra tổ chức Phần mềm Tự do –  Free Software Foundation(FSF) vào ngày 04/10/1985. 
 
2. Tổ chức FSF duy trì định nghĩa về phần mềm tự do để chỉ ra một cách rõ ràng những gì phải đúng về một chương trình phần mềm cụ thể nào đó mà nó được xem là phần mềm tự do. Cùng với thời gian FSF sửa lại định nghĩa này để làm sáng tỏ nó. 
 
3. Phần mềm tự do là vấn đề về sự tự do, không phải là về giá thành. Để hiểu khái niệm này, bạn phải nghĩ về sự tự do như tự do được nói, chứ không phải là tự do uống bia.
 
4. Phần mềm tự do là vấn đề về sự tự do của người sử dụng để chạy, sao chép, phân phối, nghiên cứu, thay đổi và cải tiến phần mềm. Chính xác hơn, nó tham chiếu tới 4 quyền tự do cho người sử dụng các phần mềm này. 4 quyền tự do đó là:
free sotfware  
          a) Tự do chạy chương trình phần mềm vì bất kỳ mục đích nào (tự do số 0)
          b) Tự do nghiên cứu cách mà chương trình phần mềm làm việc, và áp dụng nó vào cho các
nhu cầu của bạn (tự do số 1). Việc truy cập vào mã nguồn là điều kiện tiên quyết để làm
được việc này.
c) Tự do phân phối các bản sao, sao cho bạn có thể giúp được người hàng xóm của bạn (tự
do số 2)
d) Tự do cải tiến chương trình phần mềm, và tung ra những cải tiến của bạn (và các phiên
bản đã được sửa đổi nói chung) cho mọi người, sao cho toàn bộ cộng đồng được hưởng
lợi (tự do số 3). Việc truy cập vào mã nguồn là điều kiện tiên quyết để làm được việc
này. 
 
 
 

5. Một chương trình là phần mềm tự do nếu những người sử dụng có tất cả các quyền tự do này. Vì thế, bạn phải được tự do để phân phối các bản sao, bất kể là có hay không có những sửa đổi, bất kể là cho không hay có lấy phí đối với việc phân phối này, cho bất kỳ ai, ở bất cứ đâu. Được tự do để làm những việc này có nghĩa là (trong số những thứ khác) bạn không phải hỏi ai hoặc trả tiền để được phép làm.

6. Bạn cũng phải có sự tự do để tiến hành những sửa đổi và sử dụng chúng một cách riêng tư trong công việc hoặc vui chơi riêng của bạn, mà thậm chí không cần phải nhắc tới việc chúng đang tồn tại. Nếu bạn xuất bản những thay đổi của bạn, thì bạn đặc biệt không không bị yêu cầu phải khai báo cho bất kỳ ai, hoặc theo bất kỳ cách thức đặc biệt nào.

 
7. Sự tự do để chạy chương trình có nghĩa là sự tự do cho bất kỳ dạng cá nhân hay tổ chức nào sử dụng nó trong bất kỳ dạng hệ thống máy tính nào, cho bất kỳ dạng công việc và mục đích bất kỳ nào, mà không bị yêu cầu phải giao tiếp về nó với người lập trình phát triển hoặc bất kỳ thực thể cụ thể nào khác. Theo sự tự do này, mục đích của người sử dụng chính là vấn đề, chứ không phải là mục đích của người lập trình phát triển; bạn như một người sử dụng là tự do chạy một chương trình cho các mục đích của bạn, và nếu bạn phân phối nó cho ai đó khác, thì anh/chị ta sau đó sẽ tự do chạy nó cho các mục đích của anh/chị ta, mà bạn không có quyền áp đặt các mục đích của bạn lên anh/chị ta.


8. Sự tự do để phân phối lại các bản sao phải bao gồm cả các dạng nhị phân hoặc chạy được của chương trình, cũng như là mã nguồn, cả đối với các phiên bản đã được sửa đổi và không được sửa đổi. (Việc phân phối các chương trình ở dạng chạy được là cần thiết cho các hệ điều hành tự do được cài đặt một cách thuận tiện). Nó là OK nếu không có cách nào để sản sinh ra dạng nhị phân hoặc chạy được cho một chương trình (vì một số ngôn ngữ không hỗ trợ tính năng này), nhưng bạn phải có sự tự do để phân phối lại những dạng như thế này mà bạn phải tìm cách hoặc tạo ra cách thức để thực hiện chúng.


9. Vì những quyền tự do để tiến hành những thay đổi, và để xuất bản ra những phiên bản đã được cải tiến, để có ý nghĩa, bạn phải có sự truy cập tới mã nguồn của chương trình. Vì thế, tính có thể truy cập được tới mã nguồn là một điều kiện cần thiết cho phần mềm tự do.


10. Một cách quan trọng để sửa đổi một chương trình là bằng việc trộn theo các module và các chương trình – thủ tục con tự do có sẵn. Nếu giấy phép của chương trình nói rằng bạn không thể trộn trong một module đang tồn tại được cấp phép một cách phù hợp, như là nếu nó yêu cầu bạn phải là người giữ bản quyền của bất kỳ mã nguồn nào bạn bổ sung vào, thì giấy phép đó là quá hạn chế không thể được cho là tự do được.


11.Để cho những quyền tự do này là hiện thực, chúng phải là vĩnh viễn và không thể huỷ bỏ được miễn là bạn không làm gì sai; nếu lập trình viên của một phần mềm có sức mạnh để thủ tiêu giấy phép này, hoặc thay đổi một cách có hiệu lực từ một thời điểm trong quá khứ những điều khoản của giấy phép, mà bạn không làm gì sai trái để tạo ra lý do, thì phần mềm này không phải là tự do.


12. Tuy nhiên, sự tồn tại của những dạng qui định nào đó về cách thức phân phối các phần mềm tự do là chấp nhận được, khi chúng không mâu thuẫn với những quyền tự do chính yếu. Ví dụ, copyleft (rất dễ nói, ngược với copyright) là qui định mà khi phân phối chương trình, bạn không thể bổ sung các hạn chế để khước từ những người khác những quyền tự do chính yếu. Qui định này không mâu thuẫn với các quyền tự do chính yếu, mà nó bảo vệ chúng.
 
13. Phần mềm tự do không có nghĩa là không thương mại. Một chương trình tự do phải sẵn sàng cho sử dụng thương mại, phát triển thương mại, và phân phối thương mại. Phát triển thương mại của phần mềm tự do không còn là không bình thường nữa, hoặc bạn có thể có được các bản sao miễn phí. Nhưng bất chấp cách nào bạn có được các bản sao, thì bạn luôn luôn có sự tự do để sao chép và thay đổi phần mềm, ngay cả là để bán các bản saođó.


14. Liệu một thay đổi tạo nên một cải tiến có là một vấn đề chính yếu hay không. Nếu những sửa đổi của bạn là hạn chế, về cơ bản, đối với những thay đổi mà ai đó nữa coi là một cải tiến, thì đó không phải là sự tự do.


15. Tuy nhiên, các qui định và cách đóng gói một phiên bản đã được sửa đổi là chấp nhận được, nếu chúng không hạn chế một cách trọng yếu sự tự do của bạn để tung ra các phiên bản được sửa đổi, hoặc sự tự do của bạn để làm và sử dụng các phiên bản được sửa đổi một cách cá nhân. Các qui định mà nếu bạn tiến hành cho phiên bản của bạn sẵn sàng theo cách này, thì bạn phải làm cho nó sẵn sàng theo cách đó cũng có thể chấp nhận được, theo điều kiện y như vậy. (Lưu ý rằng một qui định như vậy vẫn cho bạn sự lựa chọn cuối cùng có xuất bản hay không phiên bản của bạn). Các qui định mà chúng đòi hỏi đưa ra mã nguồn cho những người sử dụng đối với các phiên bản mà bạn đưa ra để sử dụng công khai cũng là chấp nhận được. Cũng chấp nhận được đối với giấy phép yêu cầu điều đó, nếu bạn đã phân phối một phiên bản đã sửa đổi và một lập trình viên trước đó yêu cầu một bản sao của nó, thì bạn phải gửi một bản sao, hoặc bạn tự xác định mình trên các sửa đổi của bạn.
16. Trong dự án GNU, FSF sử dụng copyleftđể bảo vệ các quyền tự do này theo pháp luật cho mọi người. Nhưng các phần mềm tự do không theo copyleft cũng đang tồn tại. FSF tin tưởng có những lý do quan trọng vì sao sử dụng copyleft là tốt hơn, mà nếu chương trình của bạn là phần mềm tự do không theo copyleft, thì nó vẫn cơ bản là hợp đạo đức.


17. Hãy xem các chủng loại về phần mềm tự do cho một mô tả cách mà phần mềm tự do, phần mềm theo copyleft và các chủng loại phần mềm có liên quan tới nhau. 


18. Đôi khi chính phủ đưa ra những qui định kiểm soát và những thừa nhận thương mại có thể cưỡng ép sự tự do của bạn để phân phối các bản sao các chương trình một cách nội bộ. Các lập trình viên của phần mềm không có sức mạnh để làm giảm bớt hoặc vượt qua được các hạn chế này, nhưng những gì họ có thể và phải làm là từ chối áp đặt chúng như những điều kiện sử dụng chương trình đó. Theo cách này, những hạn chế sẽ không ảnh hưởng tới những hoạt động và những người bên ngoài quyền lực pháp lý của các chính phủ này. Vì thế, các giấy phép phần mềm tự do phải không yêu cầu sự tuân lệnh đối với bất kỳ luật lệ xuất khẩu nào như một điều kiện cho bất kỳ quyền tự do cơ bản nào.


19. Hầu hết các giấy phép phần mềm tự do dựa trên bản quyền, và có những hạn chế về dạng các yêu cầu nào có thể bị áp đặt thông qua bản quyền. Nếu một giấy phép dựa trên bản quyền tôn trọng sự tự do theo các cách thức được mô tả ở trên, thì có lẽ sẽ có một số dạng vấn đề mà chúng ta không bao giờ biết trước được (dù điều này đôi khi xảy ra). Tuy nhiên, một số giấy phép phần mềm tự do dựa trên các hợp đồng, và các hợp đồng có thể ép buộc một loạt lớn hơn nhiều các hạn chế có thể có. Điều đó có nghĩa là sẽ có nhiều cách thức có khả năng như một giấy phép có thể là hạn chế không thể chấp nhận được và không tự do.


20. Chúng ta không thể có khả năng liệt kê tất cả các cách có thể xảy ra. Nếu một giấy phép dựa trên hợp đồng hạn chế người sử dụng theo một cách thức không thông thường mà các giấy phép dựa trên bản quyền không thể, và là những thứ không được nhắc tới ở đây một cách hợp pháp, thì chúng ta sẽ phải nghĩ về nó, và chúng ta sẽ có thể kết luận nó là không tự do.


21. Khi nói về phần mềm tự do, tốt nhất là tránh sử dụng các khái niệm như cho tặng hoặc miễn phí, vì những khái niệm này ngụ ý rằng vấn đề này là về giá thành, chứ không phải là về sự tự do. Một số khái niệm chung như sự ăn cắp là biểu hiện của những ý kiến mà chúng ta hy vọng bạn sẽ không chấp nhận. Xem “ Các từ và mệnh đề gây bối rối mà đáng để tránh xa chúng” đối với một thảo luận về các khái niệm này. FSF cũng có một danh sách các bản dịch của cụm từ "phần mềm tự do"trong một vài ngôn ngữ.


22. Cuối cùng, hãy lưu ý rằng các tiêu chí như những thứ được nói tới trong định nghĩa về phần mềm tự do đòi hỏi suy nghĩ cẩn thận việc dịch chúng. Để quyết định liệu một giấy phép phần mềm cụ thể nào đó có được cho là một giấy phép phần mềm tự do hay không, chúng ta phán xét nó trên cơ sở các tiêu chí này để xác định liệu nó có phù hợp với tinh thần của chúng cũng như các từ ngữ chính xác hay không. Nếu một giấy phép bao gồm những hạn chế không hợp lẽ, thì chúng ta từ chối nó, ngay cả nếu chúng ta đã không biết trước vấn đề trong các tiêu chí này. Đôi khi một yêu cầu của giấy phép làm dấy lên một vấn đề mà nó kêu gọi suy nghĩ thêm, bao gồm cả những thảo luận với một luật sư, trước khi chúng ta có thể quyết định liệu yêu cầu này có được chấp nhận hay không. Khi chúng ta đạt được một kết luận về một vấn đề mới, chúng ta thường cập nhật những tiêu chí này để làm cho nó dễ dàng hơn để thấy vì sao những giấy phép nào đó là được hoặc không được.


23. Nếu bạn quan tâm liệu một giấy phép cụ thể nào đó có được cho là một giấy phép phần mềm tự do hay không, hãy xem danh sách các giấy phép. Nếu giấy phép bạn có quan tâm không được liệt kê ở đó, thì bạn có thể hỏi về nó bằng cách gửi thư điện tử cho FSF theo <licensing@gnu.org>. 


24. Nếu bạn dự định viết một giấy phép mới, xin hãy liên hệ với FSF bằng cách viết theo địa chỉ thư đó. Sự tăng nhanh của các giấy phép phần mềm tự do khác nhau có nghĩa là công việc gia tăng cho những người sử dụng trong việc hiểu được các giấy phép; FSF có thể sẽ có khả năng giúp bạn tìm ra một giấy phép Phần mềm Tự do đang tồn tại mà nó đáp ứng được các nhu cầu của bạn.


25. Nếu điều đó là không thể, nếu bạn thực sự cần một giấy phép mới, với sự giúp đỡ của FSF bạn có thể đảm bảo rằng giấy phép đó thực sự là một giấy phép Phần mềm Tự do và tránh được một loạt các vấn đề thực tiễn.