GPL
v3 - What's New?
By Rowan Wilson,
Published: 10 September 2007, Reviewed: 12 March 2012
Bài được đưa lên
Internet ngày: 12/03/2012
Ngày 28/06/2007, Quỹ
Phần mềm Tự do – FSF (Free Software Foundation) cuối cùng
đã xuất bản Giấy phép Công cộng Chung GNU phiên bản 3
– GPLv3 (GNU General Public License v3) của họ. Trải qua 18
tháng trước đó FSF đã tham gia cuộc thực thi tư vấn
công khai chưa từng thấy, xuất bản 4 dự thảo thảo
luận trên web và thu thập các ý kiến thông qua một ứng
dụng web được viết đặc biệt đã cho phép bất kỳ ai
cũng lưu ý được các phần của các bản dự thảo với
các bình luận và quan tâm của họ. Bổ sung thêm vào điều
này, FSF đã tạo ra 4 ban thảo luận được thiết kế để
trình bày một dải rộng lớn của các bên có quan tâm từ
doanh nghiệp tới những người sử dụng cá nhân.
Tài liệu này có ý
định mô tả các yếu tố chính của GPLv3, cách mà nó
khác với phiên bản trước đó và một số lý do cho
những thay đổi đó. Cũng được lưu ý rằng GPLv3 được
chào như một lựa chọn đối với GPL
v2 (bản
dịch tiếng Việt), hơn là một sự thay thế, và nhiều
dự án tiếp tục sử dụng GPLv2.
Cái gì không đúng
với phiên bản 2?
Hơn 16 năm chia tách
GPLv3 và phiên bản trước của nó. Đối với CNTT và phát
triển phần mềm, chúng là những năm có nhiều sự kiện
quan trọng. Bất chấp đã từng được tạo ra vì một
thế giới mà ở đó Internet từng là một sự tò mò của
giới hàn lâm và cụm từ 'nguồn mở' từng là một tham
chiếu tới
thực tiễn của giới
báo chí, thì GPLv2 thường đã vượt qua được tốt với
việc thay đổi thế giới CNTT. Nó là giấy phép phần mềm
tự do nguồn mở (PMTDNM) được sử dụng phổ biến nhất,
và có lẽ là nổi tiếng nhất cho tới nay.
Mặc dù vậy, vào
cuối năm 2005 thì Richard Stallman và Eben Moglen (tương ứng
là nhà sáng lập và luật sư của FSF) đã quyết định
rằng một bản cập nhật là cần thiết. Stallman đã nhận
thức được GPL như là một công cụ pháp lý cho việc
bảo vệ những gì ông gọi là '4 quyền tự do' (có lẽ
theo tham chiếu của địa chỉ của Nhà nước Thống nhất
của Tổng thống Roosevelt năm 1941). 4 quyền tự do của
FSF có liên quan rõ ràng tới sử dụng phần mềm, và bao
gồm sự tự do để chạy, nghiên cứu, phân phối lại và
cải tiến phần mềm. Dù GPLv2 đã thành công ngoạn mục
trong việc thúc đẩy kho phần mềm khổng lồ sử dụng
được theo các quyền tự do đó, thì Stallman và Moglen đã
thấy một số sự phát triển công nghệ và pháp lý đã
xảy ra qua năm tháng như là sự có hại rất tiềm tàng
cho sự tự do của phần mềm. Một giấy phép mới có lẽ
có thể xây dựng trên sự thành công khổng lồ của
GPLv2 trong khi đấu tranh chống lại những mối đe dọa
mới được thừa nhận đó.
Đâu là những mối
đe dọa đó? Chúng có thể được tóm tắt như sau:
- Các phương pháp bảo vệ công nghệ và 'Tivoisation'
- tính tương thích không như mong đợi với một số giấy phép nguồn mở
- thuật ngữ pháp lý đặc thù của Mỹ
- sự nảy sinh ứng dụng web như một biện pháp thừa nhận giá trị từ phần mềm
- (sự nổi lên từ lâu sau khi dự thảo và tư vấn đã bắt đầu) các điều khoản không ép tuân thủ bằng sáng chế phần mềm như một biện pháp chia rẽ cộng đồng PMTDNM
Trong các phần sau
chúng tôi sẽ mô tả các vấn đề này chi tiết hơn, và
thảo luận các tiếp cận được GPLv3 nắm lấy để giải
quyết chúng.
'Tivotation' và các
phương pháp bảo vệ công nghệ
Được đặt tên sau
khi hãng TiVo đưa ra thị trường đầu ghi video số phổ
biến, 'tivoisation' tham chiếu tới sự phân phối phần mềm
tự do (PMTD) trong một thiết bị mà không thể thực thi
được các phiên bản được sửa đổi. Đầu ghi video
của TiVo sử dụng phần mềm được phân phối theo giấy
phép GPLv2 để thực hiện một số chức năng của nó, và
hãng Tovo đã tuân thủ các điều kiện của GPLv2 bằng
việc làm cho mã nguồn của phần mềm này sẵn sàng thông
qua website của chúng. Tuy nhiên, việc ký mật mã được
yêu cầu làm cho máy của TiVo thực thi phần mềm, và điều
này làm cho nó không thể được một cách có hiệu lực
đối với những người mà muốn tùy biến phần mềm và
cài đặt lại nó lên máy TiVo của họ để làm thế.
TiVo là hãng duy nhất làm điều này, dù họ có lẽ là
thành công nhất, vì sự kết hợp sẵn đó. Để ngăn
chặn phần mềm được cấp phép theo GPLv3 tuân theo dạng
hạn chế y hệt, FSF đã dự thảo một bổ sung khá phức
tạp vào những khoản mà điều hành sự phân phối phần
mềm ở dạng thực thi được. Trong các bản dự thảo
sớm của GPLv3, FSF đơn giản đã bổ sung một yêu cầu
mà - nếu một khóa mật mã hoặc một số 'Thông tin Cài
đặt' sống còn cần được sửa đổi và chạy một mẩu
phần mềm trong một thiết bị mà phần mềm đó đã được
phân phối - thì nhà cung cấp phải chuyển thông tin đó
đi cùng với mã nguồn. Tuy nhiên, vì kết quả của tư
vấn công khai, FSF đã đi tới việc chấp nhận rằng
không nhất thiết mong muốn tất cả các chủng loại của
các thiết bị mang theo các phần mềm được cấp phép
GPL sẽ có khả năng người sử dụng sửa đổi được
theo cách này. Những người cầm đầu Cardiac từng được
đưa ra như là một ví dụ về thứ gì đó có thể ngăn
chặn được sự sửa đổi của người sử dụng vì
những lý do cực kỳ tốt của sự an toàn. Kết quả là,
chủng loại các thiết bị mà phải có một khóa ký mới
sự dụng được đi kèm đã được làm hẹp lại thành
'Các sản phẩm của người sử dụng', về cơ bản ngụ
ý là các thiết bị mà ứng dụng ban đầu của nó không
phải là thiết bị công nghiệp.
Một sự quan tâm khác
mà FSF đã dấy lên có liên quan tới các kiểm soát pháp
lý trong sự phá hỏng 'các Phương pháp Bảo vệ Công nghệ
có hiệu quả' được giới thiệu trong nhiều quyền tài
phán khắp thế giới thông qua sự áp dụng Hiệp định
Bản quyền của WIPO (Tổ chức Sở hữu Trí tuệ Thế
giới) năm 1996. Hiệp định đó và biểu hiện của nó
trong luật pháp quốc gia đã tạo ra một cách mới vi phạm
bản quyền của ai đó: phá bảo vệ sao chép của chúng.
Đáng lưu ý rằng bạn không thực sự phải sao chép hoặc
phân phối một tác phẩm được bảo vệ để làm hỏng
điều khoản mới này; chỉ việc loại bỏ một mẫu bảo
vệ mà đã hoạt động được trước đó là đủ. FSF đã
quyết định rằng họ đã chống lại pháp luật mà đã
ngăn chặn những gì họ thấy như là nghiên cứu công
nghệ hợp pháp. Kết quả là, GPLv3 bao gồm một công bố
của người cấp phép rằng không mã nào được phân phối
theo nó có thể được xem như một 'Phương pháp Bảo vệ
Công nghệ có hiệu quả', và vì thế không người cấp
phép nào có thể hành động chống lại ai đó đang sửa
đổi mã của họ theo pháp luật dựa vào WIPO.
Những sự không
tương thích không mong đợi
Thực tế là PMTDNM là
sẵn sàng rồi cho tất cả mọi người đôi khi dẫn mọi
người tới việc phải thực hiện những giả thiết
không đúng về những gì họ có thể được làm với nó.
Dường như là tự nhiên để giả thiết rằng nếu người
ta có thể sử dụng và phân phối nó một cách tự do,
thì người ta cũng phải có khả năng kết hợp nó một
cách tự do. Không may điều này không phải thế. GPLv2 nói
rằng mã mà nó bao trùm phải được phân phối (nếu nó
đúng là được phân phối) theo GPLv2, tuyệt đối không
có hạn chế bổ sung nào. Điều này cũng áp dụng cho bất
kỳ phiên bản mã được sửa đổi nào, mà có thể đưa
vào các sản phẩm phần mềm được làm từ một sự kết
hợp của mã được cấp phép GPL và một số mã có được
theo một giấy phép khác. Kết quả của qui định này là
chỉ có khả năng kết hợp mã được cấp phép GPL với
mã khác có được theo một tập hợp nhỏ các giấy phép
nguồn mở khác. Để trở thành một phần của tập hợp
này, một giấy phép phải chỉ bao gồm những hạn
chế mà hiện có trong GPL.
Bây giờ nhiều giấy
phép nguồn mở có những hạn chế mà GPL không có. Trong
một số trường hợp điều này chính xác là những gì
các tác giả của giấy phép mong muốn. Dù, trong các
trường hợp khác, các tác giả không muốn mã được
giấy phép của họ bao trùm sẽ tách từ bên trong khỏi
mã được cấp phép GPL. Trong trường hợp của Giấy phép
Phần mềm Apache v2, những sự không tương thích không
mong đợi nảy sinh vì các mệnh đề có liên quan tới các
bằng sáng chế. Cái gọi là 'các mệnh đề trả đũa về
bằng sáng chế' trong các giấy phép đó đã nói rằng -
nếu một người được cấp phép đã bắt đầu kiện
tụng về bằng sáng chế chống lại bất kỳ người cấp
phép nào - thì bất kỳ quyền bằng sáng chế nào được
trao thông qua giấy phép đó sẽ tự động bị rút đi.
FSF không chống lại dạng các mệnh đề đó theo nguyên
tắc, dù các mệnh đề trả đũa bằng sáng chế như vậy
đã trở thành một lựa chọn thêm cho bản thân GPL. Nếu
người ta đã muốn kết hợp mã từ một dự án được
cấp phép Apache v2, thì có thể là cần thiết phải bổ
sung một mệnh đề trả đũa bằng sáng chế đối với
GPLv3 mà bao trùm phát hành cuối cùng đó. Theo cách đó
người phân phối có thể đáp ứng được các trách
nhiệm của họ đối với người cấp phép Apache và người
cấp phép GPL, và phân phối mà không có việc vi phạm cả
2 giấy phép đó.
Thuật ngữ pháp lý
đặc thù của Mỹ
Thành công của GPLv2
ở bên ngoài nước Mỹ, nơi sinh ra nó, có nghĩa là gốc
gác của nó theo luật Mỹ đã ngày càng trở thành một
vấn đề. Để giảm nhẹ điều này, GPLv3 đã được
phác thảo bằng việc sử dụng phương pháp luận mà
không nhảy ra từ bất kỳ trueyền thống pháp lý nào.
Kết quả là, rất nhiều chỗ trong GPLv3 chuyên để dùng
cho các định nghĩa khái niệm, và điều này đã thu hút
một số chỉ trính từ các luật sư. Sau tất cả, với
sự phức tạp lớn hơn đi tới một tiềm năng lớn hơn
cho sự truyền đạt si và sử dụng thuật ngữ mà không
luật sư nào quen có thể được xem như một lời mời
cho sự tranh luận. Nó vẫn còn được xem xét liệu nỗ
lực lớn được bỏ ra trong việc tách GPLv3 ra khỏi gốc
các của nó đối với luật của Mỹ có dẫn tới sự
làm sáng tỏ nhiều hơn hay ít hơn.
Bổ sung thêm vào định
nghĩa của các khái niệm đơn giản, một số phần lớn
hơn của GPLv2 đã được sửa đổi để có hiệu lực
tại Mỹ nhưng không nhất thiết là ở những nơi khác.
Ví dụ, phần về Hạn chế Trách nhiệm phpas lý của
GPLv2 đã được phác thảo theo cách mà từng - gây tranh
cãi - hoàn toàn không có hiệu lực ở Vương quốc Anh, vì
ý định của nó loại bỏ hoàn toàn các trách nhiệm mà
không thể được loại bỏ ở đây. Vì thế hiệu ứng
được mong muốn từng là để bảo vệ người cấp phép,
đã hoàn toàn bị đảo ngược, theo đó người cấp phép
có thể được để lại mà không có bất kỳ hạn chế
trách nhiệm nào. Để đối phó lại với vấn đề này,
GPLv3 cho phép những người cấp phép phác thảo lại các
phần của giấy phép để phù hợp tốt hơn với các điều
kiện theo luật địa phương.
Sự nổi lên của
ứng dụng web như một phương tiện hiện thực hóa giá
trị từ phần mềm
Với sự nổi lên của
Internet như một nơi kinh doanh, ngày càng nhiều hơn các
phần mềm nguồn mở đang được các công ty tùy biến
thích nghi để chạy các dịch vụ web phạm vi rộng có
lấy tiền. Theo các điều khoản của GPLv2, điều này
không tính tới như là sự phân phối, và vì thế các
công ty theo yêu cầu không có trách nhiệm phải phát hành
mã nguồn đối với những tùy biến sửa đổi. Một số
nhà bình luận đã thấy điều này như là một “lỗi”
trong GPLv2 - sau tất cả, chắc chắc các đặc tính của
cộng đồng phần mềm tự do đã yêu cầu rằng những ai
mà giành được nhiều từ nó cũng phải đóng góp ngược
trở lại chứ? Những người khác ít bị thuyết phục
hơn, và đã viện lý rằng các hoạt động của các nhà
cung cấp ứng dụng web từng tuân thủ với cả nội dung
và tinh thần của GPLv2.
Từng là một vấn đề
mà bản thân FSF có thể không quyết định được, nên
một hạn chế ví dụ mẫu đã được đưa vào trong bản
phác thảo đầu tiên của GPLv3 cho thảo luận công khai.
Mệnh đề theo yêu cầu đã cho phép một người cấp phép
kết hợp một chức năng được chuyên biệt hóa vào mã
của họ được trả về với mã nguồn của phần mềm
nếu một người sử dụng yêu cầu nó qua một mạng. Nếu
người cấp phép đã quyết định đưa vào dạng chức
năng này, thì hạn chế của bản phác thảo đã ngăn chặn
bất kỳ người nào sửa đổi sau đó đối với với
việc loại bỏ nó - quả thực họ buộc phải duy trì nó
sao cho nó luân được trả về hoặc “nôn ra” phiên
bản cập nhật nhất mã nguồn.
Tuy nhiên, hạn chế
này đã không giữ lại được trong phiên bản cuối cùng
của GPLv3, vì một lựa chọn làm thỏa mãn đã được
tìm thấy trong tác phẩm của một công ty có trụ sở ở
San Francisco có tên là Affero (người cung cấp một hệ
thống cho việc xếp hạng và đánh giá những người tình
nguyện trên trực tuyến), nó đã phác thảo rồi một
biến thể trên GPLv2 từ năm 2002 đặc biệt đưa vào một
mệnh đề 'nôn là mã'. Điều này đã chứng minh được
là một cách gọn gàng của việc điều khiển tình thế
lưỡng nan đó; những người mà muốn hạn chế đó có
thể sử dụng phiên bản Affero của GPL trong mã của họ,
và phiên bản cuối cùng của GPLv3 có thể được áp dụng
để làm cho mã mà bao trùm kết hợp được với mã được
phát hành theo Affero GPL. Để đi với phiên bản mới của
GPL, FSF đã làm việc với Affero để tạo ra một phiên
bản 3 tương ứng của giấy phép Affero, dựa vào GPLv3.
Chiến tranh bằng
sáng chế phần mềm
Kế hoạch gốc ban
đầu của FSF về việc có toàn bộ GPLv3 được soạn
thảo và đồng ý trong vòng 12 tháng từng luôn là cực kỳ
tham vọng. Vào ngày 02/11/2006, Novell và Microsoft đã công
bố một vụ làm ăn có đi có lại phức tạp mà nhiều
người đã thấy như một ý định có chủ đích để làm
hỏng các mục tiêu của FSF trong khi giữ lại về mặt kỹ
thuật tuân theo với GPLv2. Khi cộng đồng PMTDNM bắt đầu
hành thành một quan điểm tiêu cực mạnh mẽ đối với
vụ làm ăn đó, thì điều này đã trở thành không thể
tránh khỏi rằng nhiều công việc hơn nữa có thể cần
thiết để làm cho GPLv3 trở thành một phương tiện phù
hợp cho việc không khuyến khích các vụ làm ăn như vậy
trong tương lai.
Thỏa thuận cộng tác
của Microsoft với Novell là rộng lớn và phức tạp, và
sự rõ ràng rành mạch của nó không được sẵn sàng một
cách công khai hoàn toàn về chúng. Điều cơ bản chính đố
với cộng đồng phần mềm tự do nguồn mở là thỏa
thuận song phương giữa Novell và Microsoft rằng họ có thể
không sử dụng các hồ ở bằng sáng chế để kiện tụng
chống lại các khách hàng của nhau. Điều này đã có 2
ngụ ý quan trọng cho PMTDNM. Đầu tiên, nó đã trao sức
mạnh cho sự đòi quyền lợi được Microsoft nói luôn mồm
nhưng không bao giờ thể hiện, rằng Linux vi phạm các
bằng sáng chế của Microsoft. Sau tất cả, vì sao Novell có
thể thực hiện vụ làm ăn được nếu họ đã không tin
tưởng rằng những người sử dụng SuSE Linux đang nằm
trong rủi ro? Thứ 2, nó đã tạo ra một sự chia rẽ trong
cộng đồng những người sử dụng Linux. Một mặt liệu
những người nào được bao trùm từ lời hứa của
Microsoft đối với Novell, và mặt khác liệu còn có ai
khác nữa. Một quan điểm từng là sự bảo vệ từ kiện
tụng bằng sáng chế của Microsoft từng là một thành
phần cần thiết của bất kỳ phát tán Linux nào. Nếu
quan điểm đó trở thành rộng khắp, thì nó có thể tạo
ra một hạn chế khắc nghiệt cho việc sử dụng và tùy
biến tự do của Linux - dẫn dắt một cách có hiệu quả
những người sử dụng cài đặt SuSE hoặc đối mặt với
sự phẫn nộ của Microsoft. Tất nhiên, nếu quan điểm đó
quả thức đã không trở thành rộng khắp thì nó có thể
rất có khả năng làm lợi cho Novell về tài chính.
Thực tế là 'lời
hứa' về bằng sáng chế đã được nhằm vào các khách
hàng của các công ty hơn là vào bản thân các công ty đã
được hiểu một cách rộng rãi sẽ là một sự thoái
thác có chủ ý các điều khoản của GPLv2. Microsoft đã
cung cấp một sự bồi hoàn cho bản thân Novell, Novell có
thể bị ngăn chặn khỏi việc phân phối Linux, khi sự
chấp nhận của họ đối với những gì về cơ bản
lafmootj yêu cầu bổ sung do Microsoft áp đặt (không kiện
các khách hàng của Microsoft) có thể đã vi phạm các điều
khoản của phần 7 giấy phép GPLv2.
Để đấu tranh với
những gì được xem như một phương pháp mới của việc
bóp nghẹt quyền tự do của phần mềm, GPLv3 đưa vào 2
tuyên bố mới. Trước hết nó chỉ thị rằng bất kỳ
ai mà phân phối mã được cấp phép theo GPLv3 và cung cấp
một giấy phép bằng sáng chế cho một số nhóm người
nhận thì phải tự động mở rộng giấy phép đó cho tất
cả mọi người nhận. Điều này có thể có một hiệu
ứng lên vụ làm ăn của Novell-Microsoft khi nó bao gồm một
thỏa thuận phân phối và hỗ trợ lẫn nhâu các hệ điều
hành. Thứ 2, GPLv3 đưa vào tuyên bố rằng bạn không thể
phân phối mã được bao trùm nếu bạn tham gia vào một
vụ làm ăn với nhà cung cấp phần mềm khác mà có liên
quan tới việc thanh toán của bạn mà nhà phân phối phần
mềm không kiện các khách hàng của bạn (trong trường
hợp này 'thanh toán' có thể ở dạng của một việc tiến
hành không tiện tụng). Một số nghi ngờ vẫn còn đối
với khả năng làm việc được của các điều khoản đó,
và liệu chúng có đánh bẫy các vụ cấp phép xuyên bằng
sáng chế có lợi ích hay không.
Kết luận
Ý kiến tiếp tục bị
chia rẽ mạnh mẽ về GPL mới. Linus Torvalds, người phát
mình ra Linux và là người chỉ huy duy trì của nhân Linux,
đã nói sự không hài lòng của ông với nó, và có ý
định giữ tiếp tục sử dụng GPLv2. Mặt khác Jeremy
Allison, lập trình viên lãnh đạo của Samba (phần mềm tự
do được sử dụng rộng rãi mà cung cấp tính tương
thích kết nối mạng giữa Linux và nền tảng Windows của
Microsoft) đã tuyên bố rằng ông hoàn toàn công nhận GPL
mới và sẽ phát hành tất cả các phiên bản Samba trong
tương lai chỉ theo GPLv3. Chắc chắn, nó đề cập tới
một dải các hoạt động rộng lớn hơn, vì thế mở
rộng định nghĩa sự tự do của phần mềm; vấn đề
duy nhất vẫn còn chưa được GPLv3 giải quyết là khe hở
các dịch vụ web, mà được làm thông qua giấy
phép Affero (bản dịch tiếng Việt). Dù thế nào thì
đức hạnh của nó như một tài liệu pháp lý, thành công
hay thất bại đối với GPLv3 sẽ được phán xét trong cả
sức bật của nó như là một tài liệu pháp lý và số
các tác giả phần mềm mà chọn nó để bảo vệ mã của
họ.
On
28 June 2007, the Free Software Foundation (FSF) finally published
the third version of their GNU General Public License (GPL). Over the
previous eighteen months the Foundation had engaged in an
unprecedented public consultation exercise, publishing four
discussion drafts on the web and gathering opinions via a specially
written web application that allowed anyone to flag sections of the
drafts with their comments or concerns. In addition to this, the FSF
formed four discussion committees designed to represent the wide
range of interested parties from enterprise to private users.
This
document attempts to describe the major elements of the GPL v3, how
it differs from its predecessor and some of the reasons for these
changes. It should be noted that the GPL v3 is offered as an
alternative to the GPL
v2, rather than a replacement, and many projects continue to use
the GPL v2.
More
than sixteen years separate the GPL v3 and its predecessor. In terms
of information technology and software development, they have been
extremely eventful years. Despite having been created for a world in
which the Internet was an academic curiosity and the phrase ‘open
source’ was a reference to journalistic practice, the GPL v2 has
generally coped well with the changing world of IT. It is by far the
most commonly applied free and open source software licence, and
probably the best known.
Nevertheless,
by late 2005 Richard Stallman and Eben Moglen (respectively the
founder and the lawyer of the Free Software Foundation) had decided
that an update was necessary. Stallman had conceived the GPL as a
legal tool for protecting what he termed the ‘Four Freedoms’
(perhaps in reference to President Roosevelt’s famous 1941 State of
the Union address). The FSF’s Four Freedoms relate exclusively to
software usage, and comprise the freedom to run, study, redistribute
and improve the software. Although the GPL v2 had spectacularly
succeeded in fostering a huge corpus of software that was usable
under these freedoms, Stallman and Moglen saw some technological and
legal developments that had occurred over the intervening years as
potentially very harmful to software freedom. A new licence could
perhaps build on the enormous success of the GPL v2 while combating
these new perceived threats.
So
what were these threats? Broadly speaking they can be summed up as
follows:
- ‘Tivoisation’ and Technological Protection Methods
- unintentional incompatibility with some open source licences
- US-specific legal terminology
- the rise of the web application as a means of realising value from software
- (emerging long after drafting and consultation had begun) software patent non-enforcement covenants as a means of dividing the free and open source software community
In
the next sections we will describe these issues in more detail, and
discuss the approaches taken by the GPL v3 to resolving them.
Named
after the popular digital video recorder marketed by TiVo Inc,
‘tivoisation’ refers to the distribution of free software in a
device which cannot execute modified versions. The TiVo video
recorder uses software distributed under the GPL v2 to perform some
of its functions, and TiVo Inc. abide by the conditions of the GPL v2
by making the source code to this software available via their
website. However, crytpographic signing is required to make the TiVo
unit execute software, and this makes it effectively impossible for
those who want to adapt the software and reinstall it on their TiVo
unit to do so. TiVo are by no means the only company to do this,
although they are probably the most successful, hence the coinage. To
prevent software licensed under the GPL v3 being subject to the same
kind of restriction, the FSF drafted a fairly complex addition to the
terms which govern distribution of software in executable form. In
early drafts of the GPL v3, the FSF simply added a requirement that -
if a cryptographic key or some other vital ‘Installation
Information’ were needed to modify and run a piece of software on a
device with which it was distributed - then the supplier had to hand
that information over along with the source code. As a result of the
public consultation, however, the FSF came to accept that it was not
necessarily desirable for all categories of GPL-software-bearing
devices to be user-modifiable in this way. Cardiac pacemakers were
given as an example of something that might prevent user modification
for perfectly good reasons of safety. As a result, the category of
devices that must be accompanied by a usable signing key was narrowed
to ‘User Products’, essentially meaning devices whose primary
application is not industrial.
Another
concern raised by the FSF related to the legal controls on
circumvention of ‘effective Technological Protection Methods’
introduced in many world-wide jurisdictions through the adoption of
the 1996 WIPO (World Intellectual Property Organization) Copyright
Treaty. The treaty and its resulting embodiment in national
legislation created a new way of violating someone’s copyright:
cracking their copy protection. It is worth noting that you do not
actually have to copy or distribute a protected work in order to fall
foul of this new provision; just removing a form of protection that
previously functioned is enough. The FSF decided that they were
against legislation that prevented what they saw as legitimate
tecnological research. As a result, the GPL v3 contains a declaration
by the licensor that no code distributed under it can be considered
an ‘effective Technological Protection Method’, and thus that no
licensor can act against someone modifying their code under the
WIPO-based legislation.
The
fact that free and open source software is so readily available to
all sometimes leads people to make incorrect assumptions about what
they can do with it. It seems natural to assume that if one can use
and distribute it freely, one must also be able to combine it freely.
Unfortunately this is not the case. The GPL v2 stipulates that code
which it covers must be distributed (if it is distributed at all)
under the GPL v2, with absolutely no additional restrictions. This
also applies to any modified versions
of the code, which would include software products made from a
combination of GPL’d code and some code obtained under a different
licence. The upshot of this stipulation is that it is only possible
to combine GPL’d code with other code obtained under a small set of
other open source licences. To be part of the set, a licence must
only
contain restrictions that are present in the GPL.
Now
many open source licences contain restrictions that the GPL does not.
In some cases this is exactly what the licence’s authors intended.
In others, though, the authors did not want code covered by their
licence to be eternally separate from GPL’d code. In the case of
the Apache Software License v2, the unintentional incompatibilities
arose due to clauses relating to patents. So-called ‘patent
retaliation clauses’ in these licences dictated that - if a
licensee started patent litigation against any of the licensors -
then any patent rights granted through the licence would be
automatically withdrawn. The FSF were not against these kind of
clauses in principle, although Eben Moglen had publicly questioned
their efficacy. So, with the GPL v3, additional restrictions such as
patent retaliation clauses became an optional extra for the GPL
itself. If one wanted to combine code from an Apache 2-licensed
project, it would be necessary to add such a patent retaliation
clause to the GPL v3 that covered the eventual release. In that way
the distributor could satisfy their responsibilities to the Apache
licensor and the GPL licensor, and distribute without violating
either licence.
The
success of the GPL v2 outside its birthplace in the US meant that its
roots in American law became increasingly problematic. To alleviate
this, the GPL v3 was drafted using terminology that does not spring
from any specific legal tradition. As a result, far more space in the
GPL v3 is devoted to definitions of terms, and this has attracted
some criticism from lawyers. After all, with greater complexity comes
a greater potential for miscommunication and using terminology that
no lawyers are familiar with could be seen as an invitation to an
argument. It remains to be seen if the great effort spent in
divorcing the GPL v3 from its origins in American law will lead to
greater or lesser clarity.
In
addition to the definition of simple terms, some larger sections of
the GPL v2 were tailored to be effective in the US but not
necessarily anywhere else. For example, the GPL v2’s Limitation of
Liability section was drafted in a way that was - arguably - entirely
ineffective in the UK, due to its attempting to entirely exclude
liabilities that can’t be excluded here. Thus the desired effect,
which was to protect the licensor, was entirely reversed, in that the
licensor may be left without any limitation of liability. In reaction
to this problem the GPL v3 permits licensors to redraft these
sections of the licence to better suit conditions under local law.
With
the rise of the Internet as a place to do business, more and more
open source software is being adapted by companies to run large-scale
web services for payment. Under the terms of the GPL v2, this does
not count as distribution, and thus the companies in question are
under no responsibility to publish the source code to their
modifications. Some commentators saw this as a ‘bug’ in the GPL
v2 - after all, surely the ethos of the free software community
demanded that those who gain greatly from it also contribute back?
Others were less convinced, and argued that the activities of web
application providers were in accord with both the letter and the
spirit of the GPL v2.
It
was an issue that the FSF itself could not decide upon, so a sample
restriction was included in the first draft of the GPL v3 for public
discussion. The clause in question allowed a licensor to incorporate
a specialised function into their code which returned the source code
of the software if a user requested it over a network. If the
licensor decided to include this kind of function, the draft
restriction prevented any subsequent modifiers from removing it -
indeed they were obliged to maintain it so that it always returned or
‘spewed’ the most up to date version of the source code.
However,
this restriction was not retained in the final version of the GPL v3,
because a satisfactory alternative was found in the work of a San
Francisco-based company called Affero (who provide a system for
rating and assessing online volunteers), which had already drafted a
variation on the GPL v2 back in 2002 specifically to include a ‘code
spew’ clause. This proved to be a neat way of handling the dilemma;
those who wanted the restriction could use the Affero version of the
GPL on their code, and the final version of the GPL v3 would be
adapted to make code it covers combinable with code released under
the Affero GPL. To go with the new version of the GPL, the FSF worked
with Affero to create a corresponding version 3 of the Affero
licence, based upon the GPL v3.
The
FSF’s original plan of having the entire GPL v3 composed and agreed
upon in twelve months was always extremely ambitious. On 2 November
2006, Novell and Microsoft announced a complex reciprocal deal that
many saw as a deliberate attempt to frustrate the aims of the FSF
while remaining technically in accordance with the GPL v2. As the
free and open source software community began to form a strongly
negative view of the deal, it became inevitable that a lot more work
would be needed to make the GPL v3 a suitable vehicle for
discouraging such deals in the future.
Microsoft
and Novell’s collaboration agreement is broad and complex, and its
specifics are not available publicly in their entirety. The main
irritant for the free and open source software community was the
mutual agreement between Novell and Microsoft that they would not use
their patent portfolios to litigate against each other’s customers.
This had two important implications for free and open source
software. Firstly, it gave strength to Microsoft’s oft-stated but
never demonstrated assertion that Linux violates Microsoft patents.
After all, why would Novell make the deal if they did not believe
that their SUSE Linux users were at risk? Secondly, it created a
division within the Linux user community. On the one side were those
covered by Microsoft’s promise to Novell, and on the other was
everyone else. One view was that protection from Microsoft’s patent
litigation was a necessary component of any Linux distribution. If
that view became widespread, it would create a severe limitation to
the free use and adaptation of Linux - effectively driving users to
install SUSE or face the wrath of Microsoft. Of course, if that view
did indeed become widespread it would be very likely to benefit
Novell financially.
The
fact that the patent ‘promise’ was directed at the companies’
customers rather than the companies themselves was widely interpreted
to be a deliberate evasion of the terms of the GPL v2. Had Microsoft
provided an indemnification to Novell itself, Novell would have been
prevented from distributing Linux, as their acceptance of what is
essentially an additional requirement imposed by Microsoft (to not
sue Microsoft’s customers) would have violated the terms of GPL v2
section 7.
To
combat what was seen as a new method of suppressing software freedom,
the GPL v3 includes two new stipulations. Firstly it dictates that
anyone who distributes GPL v3-licensed code and provides a patent
licence to some group of recipients must automatically extend that
licence to all recipients. This would have an effect on the
Novell-Microsoft deal as it includes an agreement to distribute and
support each other’s operating systems. Secondly GPL v3 includes a
stipulation that you cannot distribute covered code if you enter into
a deal with another software distributor that involves your paying
that software distributor to not sue your customers (in this case the
‘payment’ would be in the form of an undertaking not to
litigate). Some doubt remains over the workability of these
provisions, and whether they may trap beneficial
patent-cross-licensing deals.
Opinion
continues to be strongly divided on the new GPL. Linus Torvalds,
originator of Linux and chief maintainer of the Linux kernel, has
stated his dissatisfaction with it, and intends to keep on using the
GPL v2. On the other hand Jeremy Allison the chief developer of Samba
(the widely used free software that provides networking compatibility
between Linux and Microsoft’s Windows platform) has announced that
he fully approves of the new GPL and will release all future versions
of Samba under v3 only. Certainly, it addresses a wider range of
activities, thus widening the definition of software freedom; the
only issue that remains unaddressed by the GPL v3 is the web services
loophole, which is dealt with through the Affero
licence. Whatever its virtues as a legal document, success or
failure for the GPL v3 will be judged on both its resilience as a
legal document and the number of software authors who choose it to
protect their code.
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.