Ưu và nhược điểm của GPL là gì? [đóng cửa]


31

Tôi đang xem xét cấp phép một số phần mềm nguồn mở và đang xem GPL. Những ưu và nhược điểm của việc sử dụng giấy phép này là gì?



6
không trùng lặp Câu hỏi này được tập trung hẹp vào GPL và không có quan điểm "tầm nhìn cao".
goodguys_activate

1
Tôi có xu hướng đi theo một thái cực hay khác: AGPL hoặc WTFPL.
TRiG

Hãy đặt điều này vào quan điểm. Nếu Microsoft đưa ra giấy phép này trước và giữ tất cả các điều khoản giống hệt nhau, giấy phép sẽ không có cùng điều khoản sau. FOSS và GLP không phải là những gì chúng xuất hiện. Đọc Tuyên ngôn của họ. Họ không phải là về Anarchy, họ là về kiểm soát.
Andrew T Finnell

Câu trả lời:


45

Ok, danh sách ưu và nhược điểm của GPL:

Ưu

  • Nó khiến mọi người suy nghĩ kỹ về việc họ có thực sự mua vào Nguồn mở hay không; bạn đã sẵn sàng để sống với nó và để người khác sử dụng những gì bạn đã viết, thay vì chỉ thích nó vì những gì bạn có thể thoát khỏi nó?
  • Nó đảm bảo rằng khi một cái gì đó được phát triển bởi cộng đồng Nguồn mở, thì nó vẫn là Nguồn mở; không có cơ hội ai đó đảm nhận tất cả các công việc mà người khác đang làm, đóng gói lại và bán nó.

Nhược điểm

  • Đó là một hoàn toàn không có đối với hầu hết các tổ chức doanh nghiệp; họ không thể chấp nhận rủi ro về mã được cấp phép GPL vào các sản phẩm của họ, vì vậy hầu như tất cả các công ty vừa và lớn đều có điều khoản rõ ràng cấm mã được cấp phép GPL.
  • Nó đưa mọi người ra khỏi Nguồn mở.
  • Có thực sự công bằng không, bởi vì tôi sử dụng điều khiển trình chọn hình ảnh Nguồn mở của bạn trong ứng dụng của mình, toàn bộ ứng dụng của tôi bây giờ cũng phải là Nguồn mở? Ngay cả khi tôi đã cải thiện trình chọn hình ảnh và đóng góp mã đó cho cộng đồng? Các điều khoản này quá khó đối với nhiều nhà phát triển.
  • Nhiều người không biết về các điều khoản nghiêm ngặt của GPL, vì vậy hãy sử dụng nó như là giấy phép mà họ đã nghe nói mà không nhận ra những hạn chế nào họ đặt ra cho bất kỳ ai khác muốn sử dụng nó.
  • Nó cực kỳ virus. Nếu dự án của bạn chứa một thành phần có chứa một thành phần có chứa một thành phần nằm dưới GPL (phew!), Toàn bộ dự án của bạn cũng phải tuân theo GPL.

Cuối cùng đối với tôi những nhược điểm lớn hơn những ưu điểm. Đối với tôi, nó có rất nhiều nhà truyền giáo nguồn mở đang cố gắng lừa thế giới đi vào Nguồn mở thay vì thuyết phục thế giới về lợi ích của nó.


9
+1 đối với một số nhược điểm, theo đó, tôi đồng ý, quá "nghiêm ngặt". Giấy phép MIT là một thay thế tốt đẹp.
Rook

16
Đây là một FUD minh bạch như vậy: "Nó hoàn toàn không có đối với hầu hết các tổ chức doanh nghiệp, họ không có khả năng rủi ro mã được cấp phép GPL vào sản phẩm của họ, vì vậy hầu như tất cả các công ty cỡ trung bình đều có điều khoản cấm rõ ràng mã được cấp phép GPL . " Các mã và dự án được cấp phép GPL đã không gây tranh cãi tại Fortune 500 kể từ ít nhất năm 2004, và thực sự nhiều công ty lớn (Google, IBM, Oracle để đặt tên cho một số ít) đã dựa vào phần lớn hoạt động kinh doanh của họ.

13
Có một sự khác biệt ở đây giữa các công ty sản phẩm phần mềm, những người thường không thể chạm vào mã GPL và các công ty sử dụng phần mềm để sử dụng nội bộ, trong đó GPL về cơ bản không có tác dụng. Có rất nhiều cái sau hơn cái trước.
David Thornley

9
BTW, GPL được thiết kế như một động lực của phong trào xã hội, nhưng ý định là tạo ra một kho Phần mềm Tự do luôn duy trì Miễn phí và sẽ ngày càng trở nên hấp dẫn hơn khi sử dụng. Theo như tôi có thể nói, đó không phải là một nỗ lực để lừa các nhà phát triển vào bất cứ điều gì. Hơn nữa, người đứng sau GPL, Richard Stallman, từ chối mọi kết nối với Nguồn mở trái ngược với Phần mềm Tự do.
David Thornley

4
Kinh nghiệm của David Thornley về cơ bản phù hợp với tôi. Tôi chưa bao giờ nghe nói về một công ty sẽ không sử dụng mã GPL để sử dụng nội bộ. Heck, mọi người đều có Linux ở hàng chục nơi. Tuy nhiên, nhiều công ty phát triển phần mềm để phân phối sẽ không cho phép mã GPL ở bất cứ đâu gần cơ sở mã phát triển của họ. LGPL thường ổn, nhưng không phải lúc nào cũng vậy.
David Schwartz

2

Mặc dù h4xxr chắc chắn đã đưa ra câu trả lời FTW, đây là một vài liên kết có thể hữu ích, nếu bạn không chắc chắn về các loại giấy phép khác nhau đại diện cho điều gì.

So sánh các giấy phép phần mềm miễn phí (so sánh bảng)
Sáng kiến ​​nguồn mở - Giấy phép theo tên (những gì nó nói - giấy phép thường được sử dụng trong thế giới phần mềm ngày nay) Danh sách các giấy phép phần mềm, bao gồm cả các giấy phép tương thích với GPL

F --- GPL <- phê bình thông minh (phải yêu những "viên ngọc khôn ngoan" này :-)


2

FWIW Cá nhân tôi có một dự án nguồn mở lớn mà tôi là nhà phát triển chính và tôi đã áp dụng một mô hình nhiều giấy phép chính xác vì GPL đã ngăn cản một số người sử dụng mã của tôi. Mã của tôi được cấp phép theo mô hình giấy phép của riêng bạn và cho phép bất kỳ giấy phép nào sau đây - GPL, LGPL, MIT

LGPL cho phép mọi người kết hợp mã / thư viện / mã thực thi của bạn trong sản phẩm của họ với điều kiện nó không bị sửa đổi. Điều này hữu ích nhất cho các công ty xây dựng các sản phẩm thương mại / nguồn đóng có thể cần sản phẩm của bạn hoạt động nhưng không cần thay đổi cách thức hoạt động của sản phẩm.

Giấy phép MIT về cơ bản là một giấy phép cho phép mọi người sửa đổi công việc của bạn theo cách họ muốn và tái sử dụng nó cho công việc của chính họ. Sử dụng điều này nếu bạn nghi ngờ người dùng có thể muốn làm điều này và bạn không ngại không có quyền truy cập vào nguồn của bất kỳ sửa đổi nào mà mọi người có thể thực hiện.


2

Chọn GPL là bước tư tưởng:

Bạn đang mang lại lợi thế cho các nhà phát triển phần mềm miễn phí, bởi vì họ có thể sử dụng thư viện của bạn và người chơi thương mại không thể (ít nhất là họ không muốn phát hành sản phẩm của họ dưới dạng GPL). Các tập đoàn phải trả cho công nhân của họ để viết thư viện có chức năng tương tự. Bạn đang quảng bá phần mềm miễn phí theo cách đó.

Chọn giấy phép ít hạn chế hơn, chẳng hạn như MIT là thực tế hơn:

Bạn có thể tự sử dụng thư viện của mình, khi mã hóa tiền (làm freelancer, làm nhân viên). Tuy nhiên, mọi người đều có thể, vì vậy bạn đang giúp các công ty tiết kiệm tiền theo cách đó, mặc dù họ đã giàu mà không cần đến nó.


+1 GPL là một quyết định về ý thức hệ / triết học, không mang tính kỹ thuật. Việc này là tốt hay xấu phụ thuộc vào các vấn đề triết học, và tùy thuộc vào từng dự án hoặc nhóm để quyết định.
Andres F.

1

Khi nói đến các dự án nguồn mở được cấp phép tự do (ví dụ X11, PostgreSQL, Haskell), GPL và LGPL phản tác dụng. Mã GPLed không thể được sử dụng trong các dự án như vậy, không phải vì GPL cấm nó hoặc giấy phép X11 cấm, mà vì các dự án đó không muốn "nâng cấp" toàn bộ giấy phép hiệu quả của sản phẩm lên GPL.


0
  • Lợi ích: bạn được đảm bảo về mặt pháp lý rằng mọi người thực hiện các thay đổi / đóng góp của họ cho bạn.
  • Chi phí: nhiều người dùng thương mại không thể sử dụng mã của bạn. Họ sẽ không sử dụng mã của bạn và do đó sẽ không bao giờ đóng góp. Xem chủ đề này giải thích lý do tại sao người libcinder không thể sử dụng mã GPL (L). Ngay cả LGPL cũng có thể có vấn đề khi họ cần liên kết tĩnh thư viện.

Tôi nghĩ điều đó chỉ đúng nếu trong các tình huống không phải SaaS ... và tôi cũng có thể cần tìm dĩa của mình và yêu cầu họ chia sẻ một bản sao với tôi.
goodguys_activate

Điều đó đúng, đối với SaaS có AGPL. Xác định các vi phạm là không tầm thường nhưng khi được tìm thấy, có người giúp bạn: gpl-violations.org
LennyProgrammer

Lợi ích của bạn là sai: nếu tôi chỉnh sửa phần mềm và tự sử dụng nó, bạn không có quyền xem các chỉnh sửa của mình. Điều tương tự cũng xảy ra nếu tôi phân phối nó cho một nhóm không có hứng thú chia sẻ nó. Người dùng có quyền xem nguồn, không phải ai cũng vậy.
K.Steff
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.