Chủ Nhật, 23 tháng 6, 2013

GPL v3 - Có gì mới?


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.
What was wrong with version 2?
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.
Tivoisation’ and Technological Protection Methods
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.
Unintended incompatibilities
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.
US-specific legal terminology
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.
The rise of the web application as a means of realising value from software
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.
Software Patent Wars
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.
Conclusion
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.