ma nguon mo
*)Khái niệm :
Mã nguồn mở (open - source software) hiểu theo nghĩa rộng là một khái niệm chung được sử dụng cho tất cả các phần mềm mà mã nguồn của nó được công bố rộng rãi công khai và cho phép mọi người tiếp tục phát triển phần mềm đó. Điều này không có nghĩa là chúng có thể được sao chép, sửa chữa thoải mái hay sử dụng vào mục đích nào cũng được. Mã nguồn mở được công bố dưới rất nhiều điều kiện khác nhau, một số trong đó cho phép phát triển, sử dụng và bán tùy ý miễn là giữ nguyên các dòng về nguồn gốc sản phẩm, một số bắt buộc tất cả các sản phẩm làm ra từ đó cũng phải là open-source, một số khác đòi hỏi phải công bố trọn vẹn mã nguồn, một số khác không cho phép sử dụng vào mục đích thương mại, một số khác lại không có ràng buộc gì đáng kể v.v. Qua đó ta thấy khái niệm open source không thể chuẩn xác mà muốn nói đến tính pháp lý của việc sử dụng các phần mềm mã nguồn mở, chúng ta phải xem xét đến điều kiện sử dụng cụ thể mà dưới đó chúng được công bố. Một điều kiện hay được áp dụng nhất là GPL: GNU General Public License (http://www.fsf.org/licenses/gpl.html) của tổ chức Free Software Foundation.
GPL có 2 đặc điểm phân biệt, đó là:
§ Tác giả gốc giữ bản quyền về phần mềm nhưng cho phép người dùng rất nhiều quyền khác, trong đó có quyền tìm hiểu, phát triển, công bố cũng như quyền khai thác thương mại sản phẩm.
§ Tác giả sử dụng luật bản quyền để bảo đảm các quyền đó không bao giờ bị vi phạm đối với tất cả mọi người, trên mọi phần mềm có sử dụng mã nguồn của mình.
Đặc biệt điểm thứ 2 thường được gọi là hiệu ứng virus (viral effect) vì nó biến tất cả các phần mềm có dùng mã nguồn GPL cũng biến thành phần mềm GPL. Trên thực tế điều này có ý nghĩa: bất kỳ tác giả nào sử dụng dù chỉ 1 phần rất nhỏ mã nguồn GPL trong chương trình của mình cũng phải công bố chương trình đó dưới điều kiện GPL. Điều kiện này quy định ví dụ:
Mọi phần mềm GPL đều phải công bố mã nguồn của mình rộng rãi công khai và phải tạo điều kiện cho mọi người truy cập được mã nguồn ấy (ví dụ qua web hoặc qua việc bán CD giá rẻ)
Giữ nguyên mọi dòng chú thích về nguồn gốc tác giả, bản quyền của họ cũng như điều kiện được áp dụng đối với phần mềm (trong 1 file có tên LICENSE)
Cấm việc bán mã nguồn nhưng cho phép kinh doanh chương trình được tạo ra từ mã nguồn ấy hoặc là các dịch vụ hỗ trợ liên quan.
*)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(định nghĩa giấy phép mã nguồn mở GPL)
- Tự do tái phân phối: Bản quyền sẽ không giới hạn bất cứ ai khỏi 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 mềm tổng hợp mà có chứa các chương trình từ nhiều nguồn khác nhau. Bản quyền 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.
- 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.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.
- Các chương trình phát sinh: Bản quyền 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ính toàn vẹn của mã nguồn cung cấp bởi Tác giả: Bản quyền 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ư bản quyền 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. Bản quyền 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. Bản quyền 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. Mã nguồn sẽ tồn tại ở dạng dễ dàng lấy được.
- Không có sự phân biệt đối xử giữa các cá nhân hay nhóm người:Bản quyền 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. Một số quốc gia, trong đó có Hoa Kì, ban hành điều luật hạn chế xuất khẩu một số loại phần mềm nhất định. Một giấy phép tuân thủ định nghĩa Mã Nguồn Mở có thể cảnh báo cho người sử dụng giấy phép về những hạn chế có thể được áp dụng và nhắc nhở họ là họ có nghĩa vụ tuân thủ luật pháp; tuy nhiên, bản quyền đó không được tự đặt ra các giới hạn như vậy.
- 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:Bản quyền 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.
- Việc phân phối bản quyền: 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.
- 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 bản phân phối phần mềm cụ thể khác. 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.
- Bản quyền phải không được cản trở các phần mềm khác:Bản quyền 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ó bản quyền đó. Ví dụ, bản quyền 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ở. Đúng là GPL tuân thủ theo yêu cầu này. Phần mềm liên kết với các thư viện phân phối dưới GPL chỉ kế thừa GPL nếu nó tạo nên một sản phẩm đơn nhất, chứ không phải là bất cứ phần mềm nào mà chúng chỉ được phân phối đi kèm theo.
- Giấy phép phải trung dung về mặt công nghệ: Không cho phép tồn tại điều khoản nào của bản quyền 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.
Cần phân biệt rõ phần mềm Nguồn Mở và phầm mềm miễn phí :
- Phần mềm Nguồn Mở (OpenSource Software) tương đương với phần mềm Tự do (Free Software)
* Một chương trình là phần mềm tự do đối với một người sử dụng bình thường, nếu bạn có thể:
* Tự do chạy chương trình với bất cứ mục đích nào
* Tự do sửa đổi chương trình phù hợp với nhu cầu của bạn
* Tự do phân phối lại các bản sao, kể cả cho không hoặc có phí
* Tự do phân phối các bản đã được sửa đổi đối với các chương trình (để làm cho sự tự do này có hiệu lực trong thực tế, bạn buộc phải truy cập vào vào mã nguồn, vì việc làm thay đổi trong chương trình mà không có mã nguồn là cực kỳ khó khăn), sao cho cộng đồng có thể hưởng lợi từ việc cải tiến của bạn.
* Vì chữ "Free" ở đây là TỰ DO, không liên quan gì tới giá, nên không có mâu thuẫn gì giữa việc bán các bản sao và phần mềm tự do.
- Phần mềm nguồn mở thì đa số miễn phí, còn phần mềm miễn phí không hẳn đã là phần mềm nguồn mở.
* Phần mềm mã nguồn mở tuân thủ theo giấy phép GPL. Có 2 đặc điểm cơ bản cần hiểu rõ là :
- Tác giả gốc giữ bản quyền về phần mềm nhưng cho phép người dùng rất nhiều quyền khác, trong đó có quyền tìm hiểu, phát triển, công bố cũng như quyền khai thác thương mại sản phẩm.
Tác giả sử dụng luật bản quyền để bảo đảm các quyền đó không bao giờ bị vi phạm đối với tất cả mọi người, trên mọi phần mềm có sử dụng mã nguồn của mình.
- Đặc biệt điểm thứ 2 thường được gọi là hiệu ứng virus (viral effect)vì nó biến tất cả các phần mềm có dùng mã nguồn GPL cũng biến thành phần mềm GPL. Trên thực tế điều này có ý nghĩa: bất kỳ tác giả nào sử dụng dù chỉ 1 phần rất nhỏ mã nguồn GPL trong chương trình của mình cũng phải công bố chương trình đó dưới điều kiện GPL. Điều kiện này quy định ví dụ:
+ Mọi phần mềm GPL đều phải công bỗ mã nguồn của mình rộng rãi công khai và phải tạo điều kiện cho mọi người truy cập được mã nguồn ấy (ví dụ qua web hoặc qua việc bán CD giá rẻ)
+ Giữ nguyên mọi dòng chú thích về nguồn gốc tác giả, bản quyền của họ cũng như điều kiện được áp dụng đối với phần mềm (trong 1 file có tên LICENSE)
+ Cấm việc bán mã nguồn nhưng cho phép kinh doanh chương trình được tạo ra từ mã nguồn ấy hoặc là các dịch vụ hỗ trợ liên quan.
*)Ưu điểm phần mềm mã nguồn mở:
- Có độ tin cậy và an ninh cao hơn phần mềm mã nguồn đóng.(pmmnm đc đông đảo các nhà lập trình tham gia tìm và sửa các lỗi và lỗ hổng an ninh.)
- Có khả năng độc lập với nhà cung cấp.(Do mã nguồn công khai, nhiều nhà cung cấp có thể tìm hiểu để làm chủ phần mềm, do đó có nhiều lựa chọn nhà cung cấp và khi cần có thể bỏ nhà cung cấp này chọn nhà cung cấp khác cho cùng phần mềm đó.)
- Có phạm vi áp dụng rộng: giấy phép sử dụng pmmnm ko hạn chế người sử dụng cũng như lĩnh vực sử dụng.
- Chi phí sử dụng rất thấp và ko hạn chế số lượng máy cài.
- Thử nghiệm nhanh: vì có bản chạy thử với chi phí nhỏ nhất và thời gian nhanh nhất.
- Làm chủ công nghệ, đảm bảo an toàn và riêng tư: PMNM không có các “cửa hậu”, không có gián điệp điện tử lẩn ở đâu đó trong phần mềm. Do nắm được mã nguồn nên những người sử dụng và những nhà phát triển làm chủ được phần mềm, có khả năng thay đổi, bổ sung và phát triển các ứng dụng theo yêu cầu riêng của mình, điều mà phần mềm thương mại không đáp ứng được.
- Tính thích ứng và sáng tạo.
- Tuân thủ các chuẩn: PMNM thông thường được phát triển tuân thủ theo các chuẩn tốt hơn.
- Tính lâu dài: PMNM không có một chủ sở hữu duy nhất là lý do bảo đảm để không ai có thể làm ngừng hoặc “giết chết” sản phẩm này.
- Tự do: Các kết quả phát triển PMNM theo yêu cầu của cộng đồng sẽ được quyết định bởi “đa số dân chủ”. PMNM không bao giờ bắt buộc chỉ có một cách cài đặt. Người sử dụng luôn luôn chỉ cài đặt những phiên bản hoàn chỉnh và ổn định, bỏ qua các phiên bản phát triển chưa ổn định. PMNM cũng cho phép mỗi người sử dụng tạo ra và duy trì những phiên bản đặc thù theo yêu cầu riêng của mình.
- Phát triển dễ dàng: Những dự án và phát triển phần mềm mới có thể được thực hiện mà không cần phải xin phép ai trước khi triển khai. Việc này phù hợp với các kỹ thuật phát triển mới: tạo ra giải pháp bằng cách tập hợp nhiều đối tượng đã có mà không sợ rủi ro bị ngừng giữa chừng vì những hạn chế pháp lý và những qui định về sở hữu trí tuệ đối với phần mềm.
*)Nhược điểm:
- Nhiều lĩnh vực chưa có sản phẩm phần mềm hoàn thiện do thiếu những người vừa giỏi về kỹ thuật lại vừa thạo về chuyên ngành kinh doanh nghiên cứu.
- Pmmnm thường không hoàn toàn tương thích với pmmnđ, nhất là khi cài trên máy bàn. Khi nào các công ty chuyển hẳn từ hệ thống chuẩn đóng sang chuẩn mở thì nhược điểm này đc khắc phục.
- Pmmnm còn thiếu tính tiện dụng vốn là đặc trưng của phần mềm thương mại. Giao diện đồ họa với người sử dụng của pmmnm chưa thực sự thân thiện.
- Chưa có hỗ trợ kỹ thuật tin cậy: Nếu người sử dụng gặp sự cố, tuy họ tin sẽ nhận được sự giúp đỡ của cộng đồng nguồn mở quốc tế, nhưng không ai chịu trách nhiệm hỗ trợ đầy đủ. Về mặt pháp lý, không ai có nghĩa vụ bắt buộc phải cung cấp các dịch vụ hỗ trợ PMNM cho người sử dụng như trong trường hợp các phần mềm thương mại.
- Số các thiết bị hỗ trợ PMNM còn hạn chế: Các máy in, máy vẽ, bìa màn hình và các thiết bị ngoại vi khác đều cần có các chương trình điều khiển (drivers) riêng. Có thể phải chờ một thời gian dài nữa cộng đồng phần mềm nguồn mở quốc tế mới phát triển đầy đủ các chương trình điều khiển này.
- Thiếu các hướng dẫn sử dụng: Nếu không có các chuyên gia tư vấn chuyên nghiệp hoặc các kiến trúc sư hệ thống, người sử dụng và ngay cả người quản trị hệ thống CNTT sẽ khó tìm kiếm giải pháp trong số hàng ngàn giải pháp PMNM đã có sẵn để phục vụ cho mục đích cụ thể của mình.
- Không có cam kết bắt buộc phải hoàn thành một sản phẩm cụ thể: Có những dự án về PMNM được phê duyệt đầu tư nhưng không thể phát triển được hoặc bịđình trệ vì không thể tìm được kinh phí đầu tư hoặc không đủ lập trình viên từ các trường đại học và tổ chức khác tham gia. Thực ra, đây cũng là một vấn đề đối với các phần mềm thương mại. Cũng xảy ra các trường hợp tương tự khi dự án đã tương đối được phổ biến, sự phát triển tiếp tục của dự án đó có thể lại do một nhóm khác đảm nhiệm.
- Có một số hạn chế đối với các hệ thống cao cấp: Trừ một số môi trường rất chuyên dụng như các máy tính lớn IBM mainframe, phần lõi của hệ thống nguồn mở hiện nay vẫn còn bị hạn chế đối với các hệ thống quản lý chuẩn của doanh nghiệp như hỗ trợ đa xử lý và quản lý nhật ký.
- Năng lực hạn chế của người sử dụng: Các hệ điều hành nguồn mở hiện nay đều dựa theo hệ điều hành Unix, nhưng hầu hết người sử dụng trong các cơ quan hành chính cũng như doanh nghiệp thậm chí cả những người quản trị hệ thống CNTT chưa có kiến thức cần thiết về Unix. Do đó đôi khi phải đào tạo lại từ đầu và đi từ đào tạo cơ bản. Chi phí cho đào tạo việc này sẽ lại là đáng kể.
- Đối với SV, nhất là SV CNTT, việc tìm hiểu và nghiên cứu các phần mềm mã nguồn mở nói chung và Linux nói riêng đem lại cho sinh viên rất nhiều lợi ích :
* Bỏ qua những giá trị về kinh tế, việc tìm hiểu Linux trước hết đem lại cho chúng ta một cái hình rộng hơn về tin học. Bạn không còn chỉ bị bó buộc trong Windows và việc viết các phần mềm trong Windows. VD: Học Linux khiến bạn hiểu rõ hơn thế nào là Cấu trúc file : Trong Linux không dùng hệ thống định vị file FAT thường thấy trong Dos hay Win mà dùng ext3, ext4, ReierFS từ đó đó bạn hiểu thêm về cách tổ chức thông tin trên đĩa. Từ chỗ có một cái nhìn rộng hơn, bạn sẽ hiểu sâu hơn và ngay cả việc phát triển các ứng dụng trên Windows cũng sẽ có hiệu quả hơn.
* Linux và các phần mềm mã nguồn mở cung cấp cho bạn mã nguồn của chương trình. Rất nhiều trong số các chương trình này được viết bởi những lập trình viên nhiều kinh nghiệm và đã được cộng đồng mã nguồn mở trên toàn thế giới kiểm thử. Vì thế mã của các chương trình này chứa đựng một lượng khối kiến thức rất tinh túy hoàn toàn đáng để bạn có thể học hỏi. Mặt khác những tài liệu về các phần mềm mã nguồn mở thường rất sẵn, chi tiết và được cập nhật thường xuyên(có thể tham khảo www.tldp.org) . Không hề có những "bí mật công nghệ " trong các sản phẩm mã nguồn mở. Những thắc mắc của bạn cũng có thể được giải đáp nhanh chóng thông qua các forum của các nhóm phát triển mã nguồn mở.Vì vậy, theo tôi, đối với sinh viên ( nhất là sinh viên Việt Nam) học tập và nghiên cứu các phần mềm mã nguồn mở là một trong những cách tốt nhất để nâng cao kiến thức cho mình.
Định nghĩa phần mềm tự do:
- Chạy chương trình,- Nghiên cứu chương trình và thích ứng nó theo yêu cầu của bạn (điều này kéo theo tất yếu quyềntruy cập mã nguồn),- Phân phối lại chương trình để giúp đỡ người tiếp theo,-Và sau cùng, cải tiến chương trình và phân phối lại những cải tiến này cho mọi người (điều nàycũng kéo theo quyền tự do truy cập mã nguồn).
A. GIẤY PHÉP PHẦN MỀN.
Giấy phép phần mềm (hay giấy phép phần mềm trong cộng đồng sử dụng) là một phương tiện pháp lý chi phối việc sử dụng và tái phân phối phần mềm được bảo vệ bản quyền. Một giấy phép phần mềm điển hình trao người dùng cuối quyền sử dụng một hay nhiều bản sao chép của phần mềm theo những cách mà nếu không tuân thủ theo nó sẽ dẫn đến cấu thành việc xâm phạm tính độc quyền của nhà phát hành phần mềm, theo luật bản quyền. Về hiệu lực, giấy phép phần mềm hoạt động như một lời cam kết từ nhà phát hành phần mềm rằng sẽ không kiện người dùng cuối nếu họ tiến hành các hoạt động thông thường nằm trong những quyền độc quyền được xem như thuộc về nhà phát hành.
Giới thiệu giấy phép mã nguồn mở (Open Source Licensing).
Giấy phép phần mềm mã nguồn mở cho phép người dùng đọc, truy cập, thay đổi và sử dụng lại mã nguồn của một sản phẩm phần mềm. Cả phần mềm mã nguồn mở Apache dùng cho máy chủ web và cơ sở dữ liệu hỗ trợ Linux đều có giấy phép sử dụng giống như phần mềm của Microsoft. Vì thế, người dùng cũng cần phải biết quyền lợi và trách nhiệm của mình được ghi trong văn bản này.
Điều đầu tiên cần ghi nhớ là mã nguồn mở mang ý nghĩa tự do nhiều hơn là miễn phí. Những công ty chuyên về mã nguồn mở như Red Hat được phép thu tiền đối với sản phẩm đóng gói và phân phối công nghệ. Tất nhiên, bạn có thể vào thẳng website nào đó có lưu mã nguồn mở và tải xuống miễn phí. Tuy nhiên, các yêu cầu về giấy phép vẫn có hiệu lực.
Phân loại: Giấy phép mã nguồn mở có thể được chia thành 2 loại chính:
- Những giấy phép không quy định bất cứ sự hạn chế nào trong việc sử dụng mã nguồn (còn có thể gọi là các giấy phép không bảo hộ vì chúng không bảo vệ mã nguồn mở khỏi việc bị sử dụng trong các phần mềm không phải là mã nguồn mở)
Các giấy phép thuộc loại này: Apache Software License v.1.1, BSD License, Intel Open Source License for CDSA/CSSM Implementation, MIT License, Sun Industry Standards Source License, W3C Software Notice and License…
Người giữ bản quyền mã nguồn khi sử dụng loại giấy phép không bảo hộ sẽ giữ lại bản quyền của họ đối với mã nguồn, và cấp cho người được cấp bản quyền (có thể hiểu là người sử dụng sản phẩm, mã nguồn) tất cả các quyền thuộc về bản quyền của mã nguồn đó.
- Những giấy phép quy định các hạn chế trong việc sử dụng mã nguồn (còn có thể gọi là các giấy phép bảo hộ vì chúng đảm bảo rằng các mã nguồn mở khi được sử dụng trong bất cứ tình huống nào sẽ vẫn được công khai/miễn phí.)
Các giấy phép thuộc loại này: Apple Public Source License v.1.2, Common Public License v.1.0; GNU General Public License v.2.0, IBM Public License v.1.0, Mozilla Public License v.1.0 and v.1.1, Nokia Open Source License v.1.0a, Open Software License v.1.1, Python License; Python Software Foundation License v.2.1.1, Sun Public License v.1.0…
Người giữ bản quyền mã nguồn khi sử dụng loại giấy phép có bảo hộ giữ lại bản quyền của họ đối với mã nguồn, và cấp cho người được cấp bản quyền tất cả các quyền thuộc về bản quyền của mã nguồn đó, nhưng có ít nhất một điều kiện, thông thường là việc phân phối lại phần mềm/mã nguồn đó, dù đã được sửa đổi hay chưa, đều phải sử dụng cùng loại giấy phép ban đầu.
Những điều khoản sơ đẳng của các giấy phép.
Tất cả các giấy phép nguồn mở đều có chung một số điều khoản tích cực sau đây:
- Xác định rõ ràng chủ sở hữu của bản quyền, bao gồm cả đến các bản sao và các bản dẫn xuất.
- Sự bắt buộc bảo toàn ghi chú giấy phép như ban đầu, trên chương trình và các phiên bản dẫn xuất. Tất nhiên đây là một sự cần thiết kỹ thuật: mất công định nghĩa các điều khoản giấy phép làm gì nếu chúng bị dỡ bỏ ngay từ bản sao đầu tiên.
- Sự bảo vệ tác giả đối với người sử dụng chương trình của anh ta vì tác giả đã cho bạn tự do sử dụng thành quả của anh ta, vậy nên dù thế nào bạn cũng sẽ không truy cứu anh ta về những thiệt hại và lợi nhuận.Phải đồng thời tôn trọng luật pháp quốc gia và giấy phép, hoặc là ta bị cấm phân phối chương trình dưới giấy phép này.
Người viết giấy phép:
Giấy phép mã nguồn mở do một số công ty, tổ chức lập ra để quy định về trách nhiệm của người sử dụng đối với một phần mềm/mã nguồn mở. Hiện tại, công ty (tổ chức) OSI (Open Source Initiative) là người đưa ra định nghĩa về mã nguồn mở (OSD – Open Source Definition) được cộng đồng công nhận rộng rãi. Các giấy phép mã nguồn mở đa phần được xây dựng dựa trên OSD.
Quy trình thông qua một giấy phép mã nguồn mở tại OSI:
- Cộng đồng thẩm định giấy phép sẽ thảo luận trong ít nhất 30 ngày.
- Các ý kiến từ cộng đồng sẽ được tổng kết và đưa lên ban giám đốc OSI.
- Ban giám đốc OSI sẽ đưa ra quyết định cuối cùng, hoặc yêu cầu các thông tin bổ sung, trong lần họp định kì tháng sau.
- Cộng đồng thẩm định sẽ được thông báo về quyết định của ban giám đốc OSI. Nếu giấy phép đó được chấp thuận, nó sẽ được đưa lên website của OSI.
Mục đích sử dụng:
Các giấy phép mã nguồn mở được sử dụng để đảm bảo rằng các phần mềm, mã nguồn có sử dụng giấy phép này luôn là mã nguồn mở, phù hợp với OSD.
Cách sử dụng giấy phép mã nguồn mở;
Giấy phép mã nguồn mở được sử dụng cho các phần mềm nguồn mở.
Đối với nhà phát hành phần mềm, để có thể sử dụng một giấy phép mã nguồn mở có sẵn vào trong phần mềm của mình thì thông thường cần phải thực hiện các công việc sau:
- Đính kèm giấy phép vào trong phần mềm của mình (được hiểu là đưa nội dung bản giấy phép vào trong bộ cài đặt, hoặc vào một file văn bản đi kèm với các file của chương trình)
- Điền các thông tin cần thiết vào trong giấy phép: mỗi giấy phép đều có hướng dẫn việc làm thế nào để sử dụng chúng, thông thường là điền tên tác giả, năm phát hành, công ty … vào trong các trường tương ứng được quy định sẵn của giấy phép.
Chi tiết GPL:
GNU General Public License – Giấy phép công cộng GNU (còn được gọi là GNU GPL hay đơn giản là GPL) là giấy phép phần mềm tự do phổ biến nhất, ban đầu được thiết kê bới Richard Stallman, dành cho dự án GNU. Phiên bản 1 của GNU GPL, phát hành vào tháng 1 năm 1989. Phiên bản 2 của giấy phép này được phát hành năm 1991(với 12 điều). Phiên bản 3 của giấy phép đã được phát hành trong năm 2007 (với 17 điều) và đang được triển khai dần.
III.2.2. Nội dung chính:
*Quyền lợi:
- Quyền được sao chép và phân phối chương trình, quyền được yêu cầu trả phí cho việc phân phối đó.
- Quyền được thay đổi chương trình để sử dụng cho mục đích cá nhân.
- Quyền được phân phối bản đã được thay đổi đó.
* Nghĩa vụ:
- Khi sao chép và phân phối chương trình, phải đính kèm các thông báo về bản quyền gốc và không nhận bảo hành (trừ trường hợp có văn bản thêm về quy định bảo hành.)
- Khi phân phối bản đã được thay đổi bởi bản thân, phải chú thích rõ đó là bản đã được thay đổi, các thành phần được thay đổi, và áp dụng giấy phép GNU cho bản đã được thay đổi đó.
- Khi phát hành chương trình phải công khai mã nguồn của chương trình của nó, đồng thời phải công bố mã nguồn của chương trình trong tối thiểu 3 năm mà không được đòi một khoản phí nào từ những người yêu cầu mã nguồn trừ chi phí vận chuyển hay tương đương.
* Xử lí vi phạm:
Người vi phạm giấy phép bị tước quyền sử dụng giấy phép GNU, tuy nhiên nếu B thừa hưởng giấy phép từ A, mà A vi phạm mà B không vi phạm thì B vẫn được giữ giấy phép GNU.
Ta có thể thấy giấy phép GNU có những điểm đáng chú ý sau:
- Có đặc tính virus, bởi sức lây lan và kế thừa của nó. Một người nhận sản phẩm từ người mang giấy phép GNU thì ngay lập tức người đó cũng mang giấy phép GNU. Hệ quả là GNU là giấy phép phổ biến nhất, bởi mã nguồn luôn ở dạng công cộng cho phép ai cũng có thể tham gia ở bất kì thời điểm nào.
- Tác giả gốc giữ bản quyền, và cho người dùng các quyền hợp pháp trong việc: sao chép, chỉnh sửa, phân phối sản phẩm. Mặc dù giấy phép GNU yêu cầu mã nguồn và chương trình phải được cung cấp miễn phí, song nó cho phép người phân phối có thể kinh doanh với sản phẩm nhờ đưa ra các chính sách về bảo hành, tính chi phí phân phối sản phẩm, đào tạo sử dụng …
Một số người lo ngại về vấn đề mã nguồn bị public tạo điều kiện cho hacker tìm ra lỗ hổng, song thực tế lại chứng minh ngược lại, càng cố che giấu mã nguồn thì lại càng bị tấn công nhiều hơn.
* Ý tưởng của GPL:
+ Phần mềm GPL phải là phần mềm tự do:Tức là người sử dụng có 4 quyền sau với phần mềm GPL:
- Tự do chạy chương trình, cho bất cứ mục đích nào.
- Tự do tìm hiểu cách hoạt động của chương trình, và tự do sửa đổi nó (Quyền truy cập mã nguồn là điều kiện tiên quyết cho quyền tự do này).
- Tự do tái phân phối bản sao.
- Tự do cải tiến chương trình, và phát hành những gì cải tiến ra công cộng (Quyền truy cập mã nguồn là điều kiện tiên quyết cho quyền tự do này).
So sánh với thoả thuận giấy phép người dùng cuối của phần mềm thương mại thường không cho người dùng cuối quyền nào trừ quyền sử dụng phần mềm và luôn hạn chế kỹ thuật phân tích ngược (reverse engineering).
+ Phần mềm phái sinh từ phần mềm GPL cũng phải là phần mềm GPL:
Giấy phép GPL khác với các giấy phép tự do "ít ràng buộc" hơn, như là Giấy phép BSD, tại vì GPL có mục đích bảo đảm là các tự do ở trên được giữ trong các bản sao và phần mềm phái sinh. Nó làm vậy dùng hệ thống luật pháp được gọi là copyleft, do ông Stallman chế, nó làm các tác phẩm bắt nguồn từ chương trình dưới GPL cũng phải được phát hành dưới GPL. Không giống vậy, các giấy phép kiểu BSD để những tác phẩm phái sinh được tái phân phối như phần mềm thương mại.
* Các điều khoản và điều kiện:
Các điều khoản và điều kiện của GPL có sẵn cho bất cứ ai nhận được một bản sao của tác phẩm mà có một GPL được áp dụng cho nó ( "các giấy phép"). Bất cứ giấy phép những người tuân thủ các điều khoản và điều kiện được cho phép sửa đổi công việc, cũng như để sao chép và phân phối lại làm việc hay bất kỳ phiên bản phái sinh. Giấy phép được phép thu phí cho dịch vụ này, hoặc làm điều này miễn phí. Điểm này sau phân biệt giấy phép GPL từ phần mềm mà không cho phép tái phân phối thương mại.FSF cho rằng phần mềm miễn phí không nên đặt các hạn chế về sử dụng thương mại và GPL cách rõ ràng rằng các công trình tiểu bang GPL có thể được bán với giá nào.
Các tiểu bang GPL thêm rằng một nhà phân phối không thể áp đặt "hạn chế thêm chi tiết về các quyền được cấp theo GPL". Điều này nghiêm cấm các hoạt động như phân phối phần mềm không theo một thỏa thuận hoặc hợp đồng. Nhà phân phối dưới GPL cũng được cấp một giấy phép cho bất kỳ bằng sáng chế của họ thực hiện bởi phần mềm, để thực hành những sáng chế trong phần mềm GPL.
Phần thứ tư của phiên bản 2 của giấy phép và phần thứ bảy của phiên bản 3 yêu cầu các chương trình phân bố như trước những chương trình được biên soạn kèm theo một bản sao của mã nguồn, một lời mời bằng văn bản để phân phối các mã nguồn thông qua cơ chế tương tự như tiền -biên dịch nhị phân hoặc cung cấp bằng văn bản để có được mã nguồn mà bạn nhận được khi bạn nhận được trước biên dịch nhị phân dưới GPL. Phần thứ hai của phiên bản 2 và phần thứ năm của phiên bản 3 cũng cần thiết cho "mọi người nhận một bản sao của Giấy phép cùng với Chương trình". Phiên bản 3 của giấy phép cho phép thực hiện các mã nguồn có bằng cách bổ sung vào thực hiện phần thứ bảy.Trong đó có tải mã nguồn từ một máy chủ mạng lân cận, hoặc bằng peer-to-peer truyền, với điều kiện là làm thế nào mã đã được biên dịch sẵn và có "chỉ dẫn rõ ràng" về nơi để tìm mã nguồn.
LGPL:
Nhà phát hành:
Open Source Initiative OSI - The LGPL: Cấp phép
GNU Lesser General Public License (LGPL). Phiên bản 2.1 phát hành tháng 2 năm 1999.
Lesser GNU General Public License (LGPLv3) phát hành tháng 6 năm 2007. Giấy phép này là một tập các điều khoản bổ sung thêm vào phiên bản 3 của GNU General Public License.
III.3.2. Vài nét về LGPL.
Giấy phép LGPL rất gần với GPL, nhưng cho phép gọi các hàm từ một chương trình khác, không cần các chương trình sử dụng chương trình dưới LGPL này phải là nguồn mở. Giấy phép này vì thế đặc biệt thích hợp với các thư viện hàm, bản chất là để cho các chương trình khác nhau gọi tới, không đặt ra các điều kiện quá mạnh cho các chương trình này.
Ban đầu LGPL có nghĩa là Library GPL, nhưng tên gọi sau đã được đổi thành Lesser GPL (yếu hơn GPL), bởi vì Richard Stallman muốn hạn chế tối đa sự tương ứng « thư viện (Library) = LGPL » và cho phép trù tính có cả các thư viện dưới GPL. Giấy phép LGPL là một sự thỏa hiệp giữa quyết tâm mạnh mẽ cổ động cho nguồn mở, và tránh sự thu hồi nó để phục vụ cho các phần mềm tư hữu, và mặt khác ý muốn đem lại dịch vụ lớn nhất thông qua sự sử dụng rộng rãi nhất.
Gọi giấy phép này là "Lesser" General Public License bởi vì nó ít để bảo vệ quyền tự do của người dùng hơn bình thường General Public License. Nó cũng cung cấp cho các nhà phát triển phần mềm khác Việt Less của một lợi thế cạnh tranh trên không phải chương trình miễn phí. Những bất lợi là lý do chúng tôi sử dụng tổng hợp thông thường Giấy phép Công cộng cho thư viện nhiều. Tuy nhiên, các giấy phép Lesser cung cấp những lợi thế trong một số trường hợp đặc biệt.
Các phần mềm sử dụng giấy phép GNU GPL nổi bật:
- RedHat Enterprise Linux
- Ubuntu
- GIMP
- Drupal, WordPress, Joomla…
MIT:
MIT là một giấy phép phần mềm tự do được phát hành bởi Học viện Công nghệ Massachusetts (Massachusetts Institute of Technology – MIT), được hội đồng MIT X sử dụng.
Một số phần mềm sử dụng giấy phép MIT:
Các gói phần mềm sử dụng giấy phép MIT bao gồm Expat, PuTTY, Ruby on Rails, Lua 5.0 và X Window System. Cũng có một số sản phẩm sử dụng chung giấy phép MIT với một giấy phép khác, mà nổi tiếng nhất là thư viện jQuery của JavaScript, sản phẩm này sử dụng cả giấy phép MIT và GNU.
Bạn đang đọc truyện trên: Truyen2U.Com