The
Apache License (v2) - 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
Lời
người dịch: Giấy phép Apache phiên bản 2 (v2) được
Sáng kiến Nguồn Mở - OSI (Open Source Initiative) thừa nhận
như một giấy phép phổ biến và được phát triển rộng
rãi với một cộng đồng mạnh. “Hệ quả là giấy phép
được triển khai rộng rãi thậm chí dù nó chỉ được
sử dụng khoảng 2% các dự án được cấp phép nguồn mở
trên kho phần mềm Sourceforge”. “Giấy phép Apache v2: (1)
trao rõ ràng các quyền bằng sáng chế ở những nơi cần
thiết để vận hành, sửa đổi và phân phối phần mềm;
(2) cho phép mã mà nó bao trùm được gộp vào được
trong các dự án nguồn đóng”.
Giấy phép Apache được
Sáng kiến Nguồn Mở - OSI (Open Source Initiative) thừa nhận
như một giấy phép phổ biến và được phát triển rộng
rãi với một cộng đồng mạnh. Tất cả các dự án của
Quỹ Phần mềm Apache - ASF (Apache Software Foundation), bao gồm
cả dự án máy chủ Apache HTTP (Apache HTTP Server) mà phần
mềm đó trang bị cho hơn một nửa các máy chủ web trên
Internet, sử dụng giấy phép này. Hệ
quả là giấy phép được triển khai rộng rãi thậm chí
dù nó chỉ được sử dụng khoảng 2% các dự án được
cấp phép nguồn mở trên kho phần mềm Sourceforge.
Đây là một giấy phép thú vị để so sánh với giấy
phép Phân phối Phần mềm Berkeley - BSD (Berkeley Software
Distribution), mà nó giống theo một vài cách thức. Tài
liệu này có ý định đưa ra các tính năng chính của
giấy phép Apache trong một tóm tắt toàn diện và thân
thiện, và bổ sung thêm để lưu ý tới một số chi tiết
về lịch sử và sự sử dụng của nó. Bản thân giấy
phép có thể được đọc tại
http://www.opensource.org/licenses/apache2.0.php.
Lịch sử của giấy
phép Apache
Bắt đầu trong năm
1995, Nhóm Apache (sau này là Quỹ Phần mềm Apache) đã phát
hành các phiên bản thành công của máy chủ HTTPD nổi
tiếng của họ. Giấy phép ban đầu của họ về cơ bản
là y hệt như giấy phép BSD cũ, chỉ có cá tên của các
tổ chức được thay đổi. Khi Berkeley đã chấp nhận lý
lẽ được đặt vào nó từ Quỹ Phần mềm Tự do – FSF
(Free Software Foundation) và bỏ đi mệnh đề quảng cáo
của họ khỏi giấy phép BSD, thì Apache cũng làm như vậy
và đã tạo ra giấy phép Apache v1.1 - một biến thể một
chút trong giấy phép BSD được sửa đổi. Vào năm
2004 Apache đã quyết định rời khỏi mô hình BSD một
chút cơ bản hơn, và đã đưa ra giấy phép Apache v2
(Apache License v2).
Các tính năng chính
của giấy phép Apache v2
Giống như tất cả
các giấy phép, giấy phép Apache v2 trao các quyền nhất
định theo các điều kiện nhất định. Ngắn gọn thì
người nhận giấy phép của một phần mềm được cấp
phép Apache v2 có thể:
- sao chép, sửa đổi và phân phối phần mềm được bao trùm ở dạng mã nguồn và/hoặc nhị phân
- thi hành các quyền của bằng sáng chế mà có thể thường chỉ mở rộng cho người cấp phép miễn là:
- tất cả các bản sao, được sửa đổi hoặc không được sửa đổi, đi kèm với một bản sao giấy phép
- tất cả các sửa đổi được đánh dấu rõ ràng như đang là tác phẩm của người sửa đổi
- tất cả các lưu ý bản quyền, thương hiệu và các quyền bằng sáng chế được tái thể hiện một cách chính xác trong các bản sao được phân phối
- người nhận giấy phép không sử dụng bất kỳ thương hiệu nào thuộc về người trao giấy phép. Hơn nữa, sự trao các quyền bằng sáng chế được rút bỏ một cách đặc biệt nếu:
- người nhận giấy phép bắt đầu hành động pháp lý chống lại (những) người cấp phép đối với những vi phạm bằng sáng chế trong phần mềm được bao trùm. Việc viết lại này của giấy phép BSD cố gắng đạt được một ít điều. Trước hết, nó bổ sung một sự trao các quyền bằng sáng chế một cách rõ ràng ở những nơi ddieuf dó là cần thiết để vận hành, sửa đổi và phân phối phần mềm. Một số người viện lý rằng một sự trao như vậy là ẩn theo các giấy phép nguồn mở khác, nhưng giấy phép Apache v2 nói nó ra, cũng như rút bỏ rõ ràng sự trao đó trong hoàn cảnh được nêu ở trên. Nó cũng bao gồm những định nghĩa cứng cáp của những khái niệm nó sử dụng, đưa ra sự chắc chắn hơn như đối với ý nghĩa có ý định của nó. Trong số đó là một định nghĩa của Người đóng góp mà bao gồm tính năng thú vị khác của giấy phép. Một Người đóng góp, như để phân biệt với ai đó mà chỉ sửa đổi phần mềm, cũng trao một giấy phép cho sự sửa đổi của họ ngược về cho các tác giả gốc ban đầu. Cơ chế này, nếu được thực thi, làm đơn giản hóa sự kiểm soát của mã. Cuối cùng giấy phép v2 là sử dụng được cho các dự án khác mà không cần thay thế từ ngữ trong bản thân tài liệu của giấy phép.
Các tính năng khác
của giấy phép Apache v2
Một kết quả không
mong đợi của sự tạo ra giấy phép Apache v2 là nó đã
trở nên không tương thích với giấy phép GPLv2. Các phiên
bản trước, dựa nhiều vào giấy phép BSD, từng là tương
thích. Tuy nhiên hạn chế trong v2 mà kết thúc sự trao các
quyền bằng sáng chế nếu người nhận giấy phép kiện
về vi phạm bằng sáng chế được Quỹ Phần mềm Tự do
xem như một hạn chế mà không hiện diện trong GPLv2. Điều
này đúng là vấn đề, mã mà được cấp phép theo giấy
phép Apache v2 không thể kết hợp được với mã được
cấp phép theo GPLv2 và không thể phân phối được. Bản
thân Quỹ Phần mềm Apache viện lý rằng phần 7 của
GPLv2 (nó kết thúc quyền phân phối nếu một bên ở bên
ngoài đặt những hạn chế bổ sung lên người phân phối)
là tương tự đủ cho mệnh đề bằng sáng chế của
chúng làm cho chúng có hiệu lực đối với hạn chế y
hệt. Không may, như các giấy phép đang
tồn tại, quan điểm được chấp nhận một cách phổ
biến vẫn là chúng không tương thích với nhau.
Tuy
nhiên, với phiên bản GPLv3, tính không tương thích này
không còn không vượt qua được nữa. GPLv3 cho phép bổ
sung đối với một mệnh đề trả đũa bằng sáng chế
mà hiệu quả của nó là cho phép mã từ một dự án được
cấp phép GPLv3 kết hợp được với mã từ một dự án
được cấp phép Apache v2. Vì thế, một cột mốc đã đạt
được và 2 giấy phép không còn không tương thích với
nhau nữa.
Giống như giấy phép
BSD, giấy phép Apache v2 cho phép mã mà nó bao trùm sẽ gộp
vào được trong các dự án nguồn đóng.
Giấy phép Apache v2
làm được gì?
Những điểm liệt kê
dưới đây có ý định tóm tắt các điểm nổi bật của
giấy phép Apache v2. Chúng không có ý định như một mô
tả đầy đủ các tính năng của nó. Giấy phép Apache v2:
- trao rõ ràng các quyền bằng sáng chế ở những nơi cần thiết để vận hành, sửa đổi và phân phối phần mềm
- cho phép mã mà nó bao trùm được gộp vào được trong các dự án nguồn đóng
OSS Watch đã đưa ra
một tài liệu nhấn mạnh các vấn đề pháp lý chính để
xem xét khi phát
hành mã của bạn theo một giấy phép nguồn mở (bản
dịch tiếng Việt).
The
Apache License is recognised by the Open Source Initiative as a
popular and widely deployed licence with a strong community. All of
The Apache Software Foundation’s projects, including the Apache
HTTP Server project whose software powers more than half of the
Internet’s web servers, use this licence. Consequently the licence
is widely deployed even though it is used by only about two percent
of the open source-licensed projects on the software repository
Sourceforge. It is an interesting licence to compare with the
Berkeley Software Distribution (BSD) licence, which it resembles in
some ways. This document attempts to draw together the main features
of the Apache 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/apache2.0.php.
Beginning
in 1995, the Apache Group (later the Apache Software Foundation)
released successive versions of their well-known httpd server. Their
initial licence was essentially the same as the old BSD licence, with
only the names of the organisations changed. When Berkeley accepted
the argument put to it by the Free Software Foundation and retired
their advertising clause
from the BSD licence, Apache did likewise and created the Apache
License v1.1 - a slight variation on the modified
BSD licence. In 2004
Apache decided to depart from the BSD model a little more radically,
and produced the Apache License v2.
Like
all licences the Apache License v2 grants certain rights under
certain conditions. In brief a licensee of Apache Licensed V2
software can:
- copy, modify and distribute the covered software in source and/or binary forms
- exercise patent rights that would normally only extend to the licensor provided that:
- all copies, modified or unmodified, are accompanied by a copy of the licence
- all modifications are clearly marked as being the work of the modifier
- all notices of copyright, trademark and patent rights are reproduced accurately in distributed copies
- the licensee does not use any trademarks that belong to the licensor Furthermore, the grant of patent rights specifically is withdrawn if:
- the licensee starts legal action against the licensor(s) over patent infringements within the covered software This rewriting of the BSD licence tries to achieve a few things. Firstly it adds an explicit grant of patent rights where that is needed to operate, modify and distribute the software. Some argue that such a grant is implicit in other open source licences, but the Apache License v2 spells it out, as well as explicitly withdrawing that grant in the circumstance mentioned above. It also contains solid definitions of the concepts it uses, providing more certainty as to its intended meaning. Among these is a definition of Contributor that contains another interesting feature of the licence. A Contributor, as distinct from someone who just modifies the software, also grants a licence to their modification back to the original authors. This mechanism, if taken up, simplifies control of the code. Finally the v2 licence is usable by other projects without the need to replace wording in the licence document itself.
One
unintended upshot of the creation of the Apache License v2 is that it
became incompatible with the GPL v2. Previous versions, being heavily
based on the BSD licence, were compatible. However the restriction in
v2 that terminates the grant of patent rights if the licensee sues
over patent infringement is seen by the Free Software Foundation as a
restriction that is not present in the GPL v2. This being the case,
code that is licensed under the Apache License v2 cannot be combined
with GPL v2-licensed code and distributed. The Apache Software
Foundation itself argues that the GPL v2’s section 7 (which
terminates the right to distribute if an external body places
additional restrictions on the distributor) is similar enough to
their patent clause to make them effectively the same restriction.
Unfortunately, as the licences stand, the commonly accepted view
remains that they are incompatible.
However,
with the release of the GPL v3, this incompatibility is no longer
insurmountable. The GPL v3 allows for the addition of a patent
retaliation clause whose effect is to allow code from a GPL
v3-licensed project to be combined with code from an Apache
2-licensed project. So, a major milestone has been acheived and the
two licences are no longer incompatible.
Like
the BSD licence, the Apache License v2 permits code that it covers to
be subsumed into closed source projects.
These
bullets are intended to summarise the salient points of the Apache
License v2. They are not intended as a full description of its
features. The Apache License v2
- explicitly grants patent rights where necessary to operate, modify and distribute the software
- permits code that it covers to be subsumed into closed source projects
OSS
Watch has produced a document that highlights the main legal issues
to consider when releasing
your code 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.