The
Mozilla Public License v 1.1 - An Overview
By Rowan Wilson,
Published: 10 November 2005, Reviewed: 14 May 2012
Bài được đưa lên
Internet ngày: 14/05/2012
Giấy phép Công cộng
Mozilla – MPL (Mozilla Public License) thường được miêu tả
như là nằm giữa sự khắc khe của Giấy phép Công cộng
Chung – GPL (General Public License) và sự dễ dãi của Giấy
phép Phân phối Phần mềm Berkeley - BSD (Berkeley Software
Distribution License). Nó không được sử dụng rộng rãi
như GPL hay BSD, nhưng tính mềm dẻo và việc phác thảo
thận trọng của nó ngụ ý rằng nó đang trở nên phổ
biến hơn. Tài liệu này có ý định nêu các tính năng
của MPL trong một tóm tắt thân thiện và toàn diện, và
bổ sung thêm để lưu ý một số chi tiết về lịch sử
và sử dụng của nó. Bản thân giấy phép có thể đọc
tại http://www.opensource.org/licenses/mozilla1.1.php.
Lịch sử của MPL
Đầu năm 1998 Netscape
Communications đã quyết định dừng lấy tiền cho sản
phẩm trình duyệt web của họ là Netscape Communicator. Từng
là người dẫn đầu thị trường, lợi nhuận của
Netscape Communications từng bị xói mòn đáng kể vì
Microsoft đưa trình duyệt web của riêng hãng (Internet
Explorer) vào như một phần của hệ điều hành Windows.
Sau quyết định trao tặng sản phẩm trình duyệt của họ
ở dạng nhị phân, Netscape Communications cũng sớm quyết
định phát hành mã nguồn trình duyệt đó theo một giấy
phép nguồn mở.
Làm cho Communicator
thành nguồn mở từng không phải là một nhiệm vụ dễ
dàng. Nó từng có các thành phần được cấp phép từ
các bên thứ 3 mà đã không trao cho Netscape quyền để
phát hành nguồn của tác phẩm của họ. Nó cũng có chứa
các mã mật mã mà, khi đó, có thể không được xuất
khẩu tự do từ Mỹ.
Mã đó đã phải làm
việc một cách rộng rãi để tạo ra một phiên bản mà
nguồn của nó có thể phát hành được.
Còn có cả những sự
phức tạp khác nữa. Netscape đã muốn có khả năng thực
hiện những sửa đổi cho mã được các lập trình viên
nguồn mở thực hiện và cấp phép lại cho họ để sử
dụng trong các sản phẩm thương mại. Họ cũng muốn các
công ty thương mại khác xây dựng các trình duyệt của
riêng họ trên đỉnh kho mã của Netscape. Cả 2 yêu cầu
đó làm cho việc sử dụng giấy phép nguồn mở phổ biến
nhất, GPL (GNU
General Public License) là không thể. Thay vào đó,
Netscape Communications đã phác thảo giấy phép của riêng
họ, gọi nó là Giấy phép Công cộng Netscape – NPL
(Netscape Public License).
NPL, giống như GPL,
đòi hỏi tất cả những sửa đổi mã mà nó bao trùm
phải được phát hành theo NPL, nếu chúng đúng là được
phát hành. Tuy nhiên, điều thú vị là (và không giống
như GPL) nó đã không khăng khăng rằng mã mới mà tương
tác được với mã được bao trùm sẽ được cấp phép
theo NPL, thậm chí nếu mã được bao trùm đã được sửa
đổi để làm việc sát hơn với mã mới.
Phản ứng của cộng
đồng nguồn mở từng là thù địch. Điều khoản đã
cho phép Netscape Communications cấp phép lại cho mã được
đóng góp từng được xem như một cơ chế đánh đống
tri thức nguồn mở vì lợi nhuận trong khi trao ngược lại
rất ít. May thay, Netscape Communications cũng đã tạo ra một
giấy phép đã không đưa vào tính năng vuốt lại này, mà
nếu khác là tương tự đáng kể vói NPL. Được đặt
tên là Giấy phép Công cộng Mozilla – MPL (Mozilla Public
License), sau danh nghĩa làm việc của Netscape cho mã của
mình, giấy phép này đã được thiết kế để bao trùm
mã mới từng được viết để tương tác với mã được
NPL bao trùm. Giấy phép này đã chứng minh được sự phổ
biến trong các lập trình viên nguồn mở, và sau đó được
OSI phê chuẩn.
Các tính năng chính
của MPL
MPL, giống như bất
kỳ giấy phép nào, trao các quyền theo các điều khoản
nhất định. Tuy nhiên, không giống như các giấy phép
nguồn mở khác, MPL chia việc trao các quyền thành 2 phần
- một phần có liên quan tới trao các quyền của tác giả
ban đầu của mã, và phần kia liên quan tới sự trao các
quyền của những người khác mà đã bổ sung thêm mã vào
tác phẩm của tác giả ban đầu đó.
Tác giả ban đầu
trao các quyền sau:
- để sử dụng, tái sinh, sửa đổi, hiển thị, thực thi, cấp phép phụ và phân phối nguồn, và các phiên bản phái sinh của nguồn;
- các quyền bằng sáng chế để sử dụng và làm cho sẵn sàng cho mã gốc ban đầu (ở những nơi phù hợp);
- để phân phối các tác phẩm có chứa mã kết hợp với mã mới, và cấp phép cho mã mới theo bất kỳ cách gì mà người phân phối mong muốn. Người đóng góp trao các quyền khác một cách tinh tế:
- để sử dụng, tái sinh, sửa đổi, hiển thị, thực thi, cấp phép phụ và phân phối nguồn của những sửa đổi;
- các quyền bằng sáng chế để sử dụng và làm cho sẵn sàng cả những sửa đổi và toàn bộ tác phẩm đó (mã gốc ban đầu cộng với những sửa đổi);
- để phân phối các tác phẩm có chứa mã kết hợp với mã mới, và để cấp phép cho mã mới theo bất kỳ cách gì mà người phân phối muốn. Cả 2 sự trao đó đều tuân thủ các điều kiện sau:
- tất cả các bản sao được phân phối (bản gốc hoặc bản phái sinh) phải bao gồm mã nguồn hoặc tư vấn cách để có được mã nguồn;
- tất cả các sửa đổi được mô tả trong tài liệu đi kèm;
- bất kỳ các quyền bằng sáng chế nào cần thiết để vận hành phần mềm sẽ được mô tả rõ ràng trong tài liệu đi kèm;
- tất cả các bản sao mã, gốc hoặc phái sinh, có một tuyên bố về bản quyền và một loại trừ các đảm bảo được đính kèm;
- tất cả các tệp sửa đổi phải được phân phối theo MPL. Các tệp mới gồm toàn bộ mã mới không nhất thiết phải được phân phối theo MPL. Như được thấy từ những sự trao tặng và các nhà cung cấp, MPL khác đáng kể với GPL theo cách mà nó điều hành cách mà các tác phẩm có chứa mã được cấp phép MPL có thể được phân phối và cấp phép. Đơn giản nói, ai đó có thể lấy một tác phẩm được cấp phép MPL và xây dựng trên nó với các thành phần mới. Tác phẩm kết quả có thể được phân phối với MPL bao trùm cả sự sử dụng tác phẩm gốc và bất kỳ giấy phép nào bao trùm phần còn lại. Rõ ràng theo cách này một công ty có thể bổ sung thêm các thành phần nguồn đóng vào một tác phẩm được cấp phép MPL và vì thế xây dựng một sản phẩm sở hữu độc quyền được.
MPL làm được gì?
Những lưu ý bên dưới
có ý định tóm tắt các phần nổi bật của MPL. Chúng
không có ý định như là một mô tả đầy đủ các tính
năng của MPL. MPL:
- rõ ràng trao các quyền bằng sáng chế ở những nơi cần thiết để vận hành phần mềm;
- giữ bản thân mã được bao trùm là nguồn mở;
- cho phép các mở rộng mã sẽ được cấp phép theo các cách thức không mở.
Trong năm 2010 Quỹ
Mozilla đã khởi tạo một tư vấn để cập nhật MPL. Vào
tháng 01/2012, MPL
v2 đã được OSI phê chuẩn.
OSS Watch đã có một
tài liệu nhấn mạnh các vấn đề pháp lý chính để cân
nhắc khi Làm
cho mã của bạn sẵn sàng theo một giấy phép nguồn mở
(bản
dịch tiếng Việt).
The
Mozilla Public License (MPL for short) is often portrayed as being
the middle-ground between the strictness of the GNU General Public
License (GPL) and the tolerance of the Berkeley Software Distribution
License (BSD). It is not used anywere near as widely as either the
GPL or the BSD licences, but its flexibility and thoughtful drafting
mean that it is becoming more popular. This document attempts to draw
together the main features of the Mozilla Public License into a
friendly and comprehensible digest, and in addition to note some
details about its history and usage. The licence itself can be read
at http://www.opensource.org/licenses/mozilla1.1.php.
In
early 1998 Netscape Communications decided to stop charging for their
web browser product Netscape Communicator. Having once been the
market leader, Netscape Communications’ profitability had been
eroded significantly by Microsoft’s bundling of their own web
browser (Internet Explorer) as part of the Windows operating system.
Following the decision to give their browser product away in binary
form, Netscape Communications also soon decided to release the source
code for the browser under an open source licence.
Making
Communicator open source was not an easy task. It contained
components licensed from third parties who had not given Netscape
permission to release the source of their work. It also contained
cryptography code that, at the time, could not be freely exported
from the United States. The code had to be worked on extensively to
produce a version whose source could be released.
There
were other complications too. Netscape wanted to be able to take
modifications to the code made by open source developers and
relicense them for use in commercial products. They also wanted other
commercial companies to build their own browsers on top of the
Netscape codebase. Both these requirements made the use of the most
common open source licence, the GNU
General Public License, impossible. Instead, Netscape
Communications drafted their own licence, calling it the Netscape
Public License (NPL).
The
NPL, like the GPL, demands that all modifications to code that it
covers be released under the NPL, if they are released at all.
Interestingly, however, (and unlike the GPL) it did not insist that
new code which interacted with the covered code be licensed under the
NPL, even if the covered code was modified to work more closely with
the new code.
The
reaction of the open source community was hostile. The provision that
allowed Netscape Communications to relicense contributed code was
seen as a mechanism for farming open source expertise for profit
while giving little back. Fortunately, Netscape Communications had
also produced a licence which did not include this clawback feature,
but was otherwise substantially similar to the Netscape Public
License. Named the Mozilla Public License, after Netscape’s working
title for its code, this licence was designed to cover new code that
was written to interact with NPL-covered code. This licence proved
popular among open source developers, and was subsequently accredited
by the Open Source Initiative.
The
MPL, like any licence, grants rights under certain provisos. Unlike
other open source licences, however, the MPL divides the granting of
rights into two sections - one concerning the grant of rights by the
code’s initial author, and another concerning the grant of rights
by other people who have added code to the initial author’s work.
The
initial author grants these rights:
- to use, reproduce, modify, display, perform, sublicense and distribute the source, and modified versions of the source;
- patent rights to use and make available the original code (where relevant);
- to distribute works which contain the code in combination with new code, and to license the new code in any way the distributor wishes. The contributor grants these subtly different rights:
- to use, reproduce, modify, display, perform, sublicense and distribute the source of their modifications;
- patent rights to use and make available both the modifications and the entire work (original code plus modifications);
- to distribute works which contain the code in combination with new code, and to license the new code in any way the distributor wishes. Both these grants are subject to the following conditions:
- all distributed copies (original or modified) must include the source code or advice on how to obtain the source code;
- all modifications are described in accompanying documentation;
- any patent rights necessary to operate the software are clearly described in accompanying documentation;
- all copies of the code, original or modified, have a statement of copyright and an exclusion of warranties attached;
- all modified files must be distributed under the MPL. New files containing entirely new code need not be distributed under the MPL. As can be seen from these grants and provisos, the MPL differs most significantly from the GPL in the way that it governs how works containing the MPL-licensed code can be distributed and licensed. Put simply, someone can take an MPL-licensed work and build upon it with new components. The resulting work can be distributed with the MPL covering the use of the original work and any licence covering the rest. Clearly in this way a company could add closed source components to an MPL-licensed work and thus build a proprietary product.
These
bullets are intended to summarise the salient parts of the MPL. They
are not intended as a full description of its features. The Mozilla
Public License
- explicitly grants patent rights where necessary to operate the software;
- keeps the covered code itself open source;
- allows extensions of the code to be licensed in non-open ways.
In
2010 the Mozilla Foundation initiated a consultation to update the
MPL. In January 2012, version
2 of the Mozilla Public License was approved by the Open Source
Initiative.
OSS
Watch has produced a document that highlights the main legal issues
to consider when Making
your code available under an open source licence.
Dịch: Lê Trung Nghĩa
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.