GPL thành công như thế nào trong việc đạt được mục tiêu của mình? [đóng cửa]


16

Nói chung, có hai loại giấy phép FOSS khi liên quan đến việc sử dụng mã thương mại - giả sử loại GPL và loại BSD. Thứ nhất, nói chung, hạn chế về sử dụng thương mại (theo cách sử dụng tôi cũng có nghĩa là sửa đổi và phân phối lại, cũng như tạo các tác phẩm phái sinh, v.v.) của mã theo giấy phép, và thứ hai là dễ dàng hơn nhiều.

Theo tôi hiểu, ý tưởng đằng sau giấy phép loại GPL là khuyến khích mọi người từ bỏ mô hình phần mềm độc quyền và thay vào đó chuyển đổi sang mã FOSS, và giấy phép là công cụ để lôi kéo họ làm như vậy - tức là "bạn có thể sử dụng phần mềm tuyệt vời này , nhưng chỉ khi bạn đồng ý đến trại của chúng tôi và chơi theo luật của chúng tôi ".

Điều tôi muốn hỏi là - chiến lược này có thành công cho đến nay không? Tức là có bất kỳ thành tựu lớn nào trong hình thức của một số dự án lớn đi từ đóng sang mở vì GPL hoặc một số phần mềm được phát triển mở chỉ vì GPL đã làm như vậy? Tác động của chiến lược này lớn đến mức nào - so với thế giới nơi mọi người sẽ có giấy phép loại BSD hoặc phát hành tất cả mã nguồn mở trong phạm vi công cộng?

Lưu ý rằng tôi không hỏi liệu mô hình FOSS có thành công hay không - điều này vượt quá câu hỏi. Điều tôi đang hỏi là liệu cách thức cụ thể để lôi kéo mọi người chuyển đổi từ sở hữu độc quyền sang FOSS được sử dụng bởi loại GPL và không được sử dụng bởi giấy phép loại BSD có thành công hay không. Tôi cũng không hỏi về giá trị của GPL như giấy phép - chỉ về thực tế hiệu quả của nó.


4
GPL không hạn chế sử dụng. Nó chỉ phân phối mà nó làm cho hạn chế.
whatsisname

1
Sự tương phản nên với phần mềm độc quyền, không thương mại. Rất nhiều thương mại đang diễn ra với phần mềm miễn phí.
Lars Wirzenius

2
Si ʇı ʇɐɥʍ uo ɹǝƃuıɟ ʎɯ ʇnd ǝʇınb ʇ, uɐɔ tôi ʇnq 'uǝʇʇıɹʍ sɐʍ ן dƃ ǝɥʇ uǝɥʍ ɯoɹɟ ʇuǝɹǝɟɟıp sɯǝǝs p ןɹ oʍ ǝɥʇ ʇnoqɐ ƃuıɥʇǝɯos
Tim Post

Câu trả lời:


10

Đầu tiên, có một sự chủ quan cố hữu trong câu hỏi - không có cách nào để biết chắc chắn, và lịch sử có thể được diễn giải theo một trong hai cách. Đây là một cuộc tranh luận cũ và là một trong những vấn đề cốt lõi trong cuộc tranh luận về nguồn mở và phần mềm miễn phí. Bạn cũng cần xác định những gì bạn có nghĩa là bằng cách đạt được mục tiêu của nó. Thật khó để tranh luận rằng GPL và FSF đã không góp phần làm cho nguồn mở trở thành một phong trào đáng kể trong 2-3 thập kỷ qua. Mặc dù vậy, nó đã không đạt được mục tiêu của tất cả các mã là phần mềm miễn phí.

Tất cả các phần mềm GPL là linux và tất cả mọi thứ đến từ FSF (gcc, v.v.). Thật thú vị, đối với linux, GPL không được chọn vì lập trường chính trị, mà vì ý tưởng có đi có lại, như Linus Torvald đã nêu nhiều lần. Tôi đưa cho bạn mã của tôi, nhưng bạn phải trao lại cho tôi mã của bạn nếu bạn sử dụng mã của tôi.

Theo như bản thân linux, tôi nghĩ GPL rất có giá trị - một ví dụ gần đây là BTRFS, fs mới được phát triển bên trong Oracle. Người viết chính của BTRFS đã tuyên bố rằng lý do duy nhất mà Oracle đồng ý ở nơi đầu tiên sử dụng GPL là vì nó không có lựa chọn nào khác. Câu hỏi lớn hơn là liệu bản thân linux đã trở nên thành công bởi vì hoặc bất chấp GPL. Nhiều yếu tố khác nhau như khả năng lãnh đạo đáng kinh ngạc của Linus, vấn đề bản quyền cho dự án * BSD tại thời điểm đó, v.v ... khiến cho giả thuyết không thể chứng minh / bác bỏ.

Đối với gcc, Stallman đã viết nhiều lần lý do tại sao GPL đã cứu dự án chống lại "propietarization".


3
Stallman đã viết một số điều tuyệt vời. Ông cũng đã viết một số điều có mối liên hệ đáng ngờ với thực tế. Ông tuyên bố rằng GPL đã lưu gcc chống lại "quyền sở hữu" không nhất thiết phải làm như vậy.
CHỈ CẦN HOẠT ĐỘNG CỦA TÔI

chắc chắn, nhưng điều này đúng với bất kỳ khiếu nại nào bạn sẽ đưa ra về chủ đề này - cuối cùng, nó sẽ phụ thuộc vào ý kiến ​​của bạn về vấn đề này. Tôi không nghĩ có thể có một câu trả lời chắc chắn, đặc biệt là vì sự phân nhánh câu hỏi về bản chất là ý thức hệ (đối với cả GPL và BSD / MIT giống như giấy phép).
David Cournapeau

Ví dụ của Oracle là một ví dụ hợp lệ, cảm ơn. Đối với thành công của Linux, tôi nghi ngờ rằng GPL quan trọng lắm vì có những ví dụ rõ ràng về các HĐH được cấp phép BSD. Chúng có phần ít phổ biến hơn, nhưng tôi rất nghi ngờ GPL là lý do. Đối với gcc, tôi không chắc chính xác 'quyền sở hữu' ở đây là gì, nhưng Intel có trình biên dịch độc quyền của riêng mình (tốt hơn gcc), vì vậy nếu Stallman muốn ngăn chặn tình huống này, anh ta đã thất bại.
StasM

Tôi có nghĩa là nếu gcc là BSD, mọi người có thể thêm các cải tiến của họ mà không cần trả lại mã cho cộng đồng. GCC được (được) viết theo cách như mở rộng nó mà không tích hợp nó với API riêng đã khó ngăn chặn điều này ( gcc.gnu.org/wiki/GCC_Plugins ).
David Cournapeau

18

Tôi muốn nói rằng các giấy phép không hạn chế như giấy phép BSD, MIT và Apache đã làm được nhiều hơn để thúc đẩy FOSS so với GPL có.

Ví dụ:

  • Dự án lâu đài,
  • jQuery
  • SQLite,
  • Apache,
  • Ngủ đông và nHibernate,
  • ASP.NET MVC,
  • JSON.ORG,

và nhiều người khác.

Hầu hết các doanh nghiệp quá cảnh giác với GPL để cho phép mã GPL ở bất cứ đâu gần nỗ lực phát triển của họ, trừ khi bản thân doanh nghiệp thực sự hoạt động theo mô hình GPL / giá trị gia tăng dịch vụ.


5
Không thể đồng ý nhiều hơn.
cấu hình

1
Tôi cũng sẽ đề cập đến giấy phép LGPL, giải quyết một số vấn đề với GPL tiêu chuẩn: en.wikipedia.org/wiki/LGPL
andre

Làm thế nào để bất kỳ điều nào ở trên thúc đẩy việc áp dụng cấp phép FOSS?
Đánh dấu H

13
Tôi không hiểu câu trả lời này: tại sao việc liệt kê một vài dự án chứng minh rằng BSD / MIT đã làm được nhiều hơn GPL cho nguồn mở? Bạn có thể nhận được một danh sách tương tự cho các dự án GPL (linux, gcc, gnome, kde, qt, mysql, emacs, v.v.), và nó cũng không chứng minh được bất cứ điều gì về GPL.
David Cournapeau

1
@George: có, QT là LGPL, không phải GPL, xin lỗi vì sự nhầm lẫn. Tôi không nghĩ rằng nó thay đổi quan điểm của tôi, mặc dù.
David Cournapeau

8

GNU GPL đã thành công mặc dù đã thực thi FLOSS chứ không phải vì nó. Các công ty phần lớn tự nguyện đóng góp và phát hành mã theo GPL. Không có thuật toán và thư viện quan trọng nào được bao phủ bởi nó, điều này sẽ buộc các nhà phát triển thương mại phải deproprietarize.

Apple làm một ví dụ tốt. Họ đã chấp nhận KHTML và tiếp tục đưa nó vào WebKit. Và họ đã phát hành mã trở lại cộng đồng nguồn mở. Mặc dù người ta có thể cho rằng điều này là do họ bị ép buộc bởi LGPL, nhưng điều đó dường như không thể xảy ra. Đối với Darwin và vùng người dùng BSD, họ rất tự nguyện xuất bản mã. Và với LLVM, họ thậm chí đã bắt đầu một dự án FLOSS hoàn toàn mới. Tuy nhiên, rõ ràng Apple vẫn là một nhà cung cấp phần mềm độc quyền.

Android cũng tương tự. Tất nhiên hỗ trợ phần cứng đóng một vai trò quan trọng ở đây, nhưng Google có thể đã áp dụng một cơ sở mã BSD và mang nó độc quyền. Nhưng họ đã chọn Linux. Do đó, họ sẵn sàng đóng góp trở lại, không phải vì không có sự thay thế không phải GPL.

Openoffice là một câu chuyện thú vị hơn, bởi vì nó thực sự là độc quyền tại một thời điểm. Nhưng một lần nữa, việc chuyển đổi LGPL là tự nguyện, không cần thiết. Tuy nhiên, giấy phép loại * GPL đã có thể thực hiện được trong trường hợp này. Một giấy phép loại BSD học thuật sẽ không đủ để Sun phát hành Openoffice, bởi vì người khác có thể đã sở hữu mã này sau đó. Và về vấn đề này, GNU * GPL đã thành công.

Mệnh đề đối ứng / virus không trực tiếp dẫn đến mã nguồn mở hơn. Nhưng các nhà cung cấp phần mềm sử dụng nó để làm lợi thế cho họ khi họ muốn, và do đó đóng góp cho nhóm FLOSS. Tuy nhiên, hầu hết các nhà cung cấp làm điều đó không mong muốn. Tôi thấy rất ít sự khác biệt giữa giấy phép kiểu BSD và giấy phép GPL liên quan đến việc khuyến khích đóng góp mã nhiều hơn.
Cuối cùng, GPL GNU đã thành công, nhưng cũng thúc đẩy các giấy phép kiểu BSD / MIT trong đó các giấy phép phù hợp hơn. Nhưng bạn cũng có thể chỉ đơn giản là đo lường sự thành công trong "số lượng mã", mà tôi tin là số liệu FSF thực tế.


5
Thật buồn cười, bạn nên đề cập đến Android, vì nó đã cố tình tìm ra kẽ hở trong GPL cho phép họ phát hành một nền tảng không thể thay đổi. (Một cái gì đó phiên bản sau của GPL hạn chế). Google hoàn toàn không chia sẻ những lý tưởng giống như FSF và thực tế rằng Android là phần mềm FOSS phần lớn không liên quan, bởi vì không ai có tài nguyên để cạnh tranh với Google trên nền tảng riêng của họ (Nếu họ phải cạnh tranh để lo lắng, họ sẽ ' đã chọn một giải pháp thay thế). Ngoài ra, Apple đã không bắt đầu LLVM.
Đánh dấu H

@sparkie: Thật thú vị. Mới hôm qua tôi đã đọc một bài báo trong đó một nhà phát triển Google đã đánh sập các nhà cung cấp điện thoại để khóa điện thoại di động chống lại các phần mềm Android của bên thứ ba. (Mặc dù tôi không nghi ngờ gì về việc các nỗ lực nguồn mở của Google chủ yếu mang tính trình bày.)
mario

Chúng ta đừng quên một trong những dự án GPLed lớn nhất, Linux. Không có nhà cung cấp lớn nào thêm mã của họ vào đó (IBM, Oracle, v.v.) có tùy chọn để rẽ nhánh và phù hợp với 'hạt nhân cấp doanh nghiệp nâng cao', họ phải công khai. Nhưng có lẽ các phần cơ sở hạ tầng phổ quát như vậy là về toàn bộ khu vực nơi GPL hữu ích hơn giấy phép kiểu BSD.
9000

3

Nhìn vào Tuyên ngôn GNU , không rõ các tập đoàn thuyết phục phát hành phần mềm FOSS là một trong những mục tiêu. Đây là một trích dẫn:

Để tôi có thể tiếp tục sử dụng máy tính mà không có sự thiếu trung thực, tôi đã quyết định kết hợp một bộ phần mềm miễn phí đủ để tôi có thể hòa đồng mà không cần bất kỳ phần mềm nào không miễn phí.

Nếu chúng ta chỉ nhìn vào mục tiêu đó, thì dự án GNU đã thành công lớn. Chúng tôi có hệ điều hành GPL, bộ phần mềm văn phòng, cơ sở dữ liệu và nhiều ứng dụng khác có thể được tự do sửa đổi và phân phối lại.


Theo tôi hiểu, mục tiêu cuối cùng là tạo ra càng nhiều phần mềm càng miễn phí, và vì rất nhiều phần mềm được viết bởi các thực thể thương mại, nên đó là một mục tiêu quan trọng để làm cho nó miễn phí. Nếu mục tiêu chỉ là viết một phần mềm được sử dụng mà không cần phần mềm không miễn phí, tại sao bạn không đặt nó vào phạm vi công cộng? Rõ ràng, bản chất lan truyền của GPL có một số mục tiêu không thể đạt được bằng giấy phép PD hoặc thậm chí BSD. Bạn nghĩ những mục tiêu này là gì?
StasM

GPL ngăn chặn chiến lược "nắm lấy và mở rộng", ví dụ như ai đó không thể sử dụng Emacs, thêm các tiện ích mở rộng trở nên phổ biến đến mức chúng không thể sống mà không phát hành và phát hành toàn bộ theo giấy phép độc quyền. Điều đó nói rằng, bản tuyên ngôn GNU nêu khá rõ mục tiêu của GPL là gì, ít nhất là ban đầu.
Larry Coleman

1

Tôi nghĩ cả hai (giấy phép loại GPL và BSD) đều quan trọng đối với thế giới FOSS. Tôi thấy việc sử dụng GPL trong hai nhóm. Một là nhóm những người ủng hộ Nguồn mở rất tham gia. Họ tin rằng, khả năng biến Nguồn mở trở lại thành công việc độc quyền sẽ làm hỏng thế giới OSS. Cá nhân tôi nghĩ rằng, đó không phải là vấn đề lớn. PC-BSD (một biến thể BSD độc quyền) không làm hỏng cộng đồng BSD. Nhóm thứ hai áp dụng GPL là các công ty lớn. Họ sử dụng giấy phép để giữ quyền kiểm soát nhiều hơn đối với sản phẩm (để hỗ trợ mô hình kinh doanh của họ chẳng hạn). Cuộc thi sẽ có vấn đề, để kiếm tiền với sản phẩm phần mềm được cấp phép GPL. Vì vậy, công ty có thể đi trước cạnh tranh, trong khi kiếm được nghiệp tốt cho việc cung cấp nguồn mở cho sản phẩm của mình.


2
bạn quên trại thứ ba, điều mà tôi nghĩ là khá quan trọng: có đi có lại. Đó là, bạn không quan tâm đến phần mềm độc quyền, nhưng bạn không muốn mã của mình được phát hành dưới dạng nguồn mở được sử dụng độc quyền. GPL cung cấp cho bạn rằng, BSD thì không. Đó là trại tôi đang ở, ít nhất.
David Cournapeau

0

Quan điểm cá nhân của tôi là một trong những nhà phát triển cá nhân, không được tuyển dụng một thời gian do khuyết tật và hy vọng (hoặc mơ ước) có thể kiếm sống lại từ kỹ năng quý giá duy nhất tôi có.

GPL được sử dụng cho các dự án thương mại mọi lúc. Vấn đề là đôi khi được gọi là bản chất "virus" của nó, nghĩa là nếu bạn sử dụng một số mã GPL trong một dự án, có lẽ bạn cần phải GPL tất cả mã cho dự án đó. Một số yêu cầu loại trừ cho liên kết động. Câu hỏi thường gặp về GPL tuyên bố liên kết động với các trình cắm bị cấm do cấu trúc dữ liệu được chia sẻ - http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins. Điều này có vẻ kỳ lạ khi mọi ứng dụng Windows liên kết động với các thành phần Windows và chia sẻ cấu trúc dữ liệu với Windows (một ứng dụng theo nhiều cách là một plugin hệ điều hành), nhưng có các ứng dụng Windows GPL bao gồm rất nhiều do GNU phát hành. Có lẽ điều này có nghĩa là ngụy trang con trỏ như xử lý và thực hiện hầu hết các truy cập thông qua các chức năng không được tính là chia sẻ cấu trúc dữ liệu, đó sẽ là lỗ hổng của bất kỳ API plugin được thiết kế đặc biệt nào hoặc thư viện được liên kết động có thể khai thác, nhưng rõ ràng một nhà phát triển cá nhân phải chơi an toàn về những vấn đề như vậy.

Dù sao, có những lý do chính đáng cho tính chất "lan truyền" của GPL, nhưng đối với một nhà phát triển nhỏ có nhu cầu tuyệt vọng để kiếm sống, điều này có vẻ đáng ngờ giống như cho đi công việc của bạn chẳng vì gì cả. Tất cả chúng ta không thể kiếm tiền bằng cách tính phí hỗ trợ hoặc bán sách hiệu quả vì trong số các vấn đề khác, chúng ta không có các kỹ năng liên quan. Ngoài ra, nếu sản phẩm của bạn có hướng dẫn sử dụng miễn phí không đầy đủ, hướng dẫn trong thế giới thực có thể sẽ trở thành Stack Overflow hoặc Superuser hoặc bất cứ điều gì - không phải là hướng dẫn trả tiền của bạn. Và đó là giả sử bất cứ ai bận tâm để tìm ra nó.

Từ quan điểm đó, giấy phép kiểu BSD rất hấp dẫn. Tôi thừa nhận rằng thật đạo đức khi khai thác các công việc có nguồn mở khác nhưng vẫn giữ các sản phẩm kết quả được đóng lại, nhưng điều đó phải được cân bằng với các vấn đề khác.

OTOH, tôi chưa bao giờ thực sự phát hành bất cứ thứ gì, mở hay đóng - ít nhất là kể từ khi một loạt các plugin mà tôi về cơ bản đã tạo ra miền công cộng khoảng mười năm trước (và như nhiều năm kinh nghiệm đã dạy tôi, chúng không được viết tốt lắm ). Vì vậy, toàn bộ điều này là học tập đối với tôi, ít nhất là vào lúc này.

Tuy nhiên, mỗi khi tôi nhìn vào một thư viện có giấy phép kiểu GPL, suy nghĩ đầu tiên của tôi là "nếu tôi bị phụ thuộc vào điều này, tôi sẽ giới hạn các lựa chọn của mình".


Các thư viện lõi của Windows không thuộc GPL, vì vậy bạn không phải GPL ứng dụng của mình nếu bạn liên kết với chúng. Tôi không chắc chắn họ thuộc loại giấy phép nào, nhưng không phải là giấy phép có nội dung: "Ứng dụng của bạn phải là nguồn đóng nếu bạn liên kết với điều này." Vấn đề chỉ là khi liên kết đến thư viện GPL. Các thư viện Windows không phải là GPL.
jsternberg

Quan điểm của tôi là ứng dụng (hiệu quả là một plugin hệ điều hành) nằm dưới GPL. Nếu nó bị cấm viết plugin GPL cho Photoshop không phải GPL (vì bạn không thể phát hành nguồn Photoshop), tại sao nó không bị cấm viết "plugin" GPL cho Windows không GPL? Ví dụ, bất kỳ ứng dụng dòng lệnh nào chạy trên Windows động - liên kết đến DLL như user32.dll và chia sẻ cấu trúc dữ liệu (tối thiểu, chuỗi) với API I / O của bàn điều khiển. Truy cập này có thể được thực hiện một cách gián tiếp, thông qua các API thư viện tiêu chuẩn, nhưng cũng có các triển khai thư viện tiêu chuẩn được phân phối theo giấy phép GNU.
Steve314

Trên thực tế - Tôi nghĩ rằng có các thư viện chuẩn theo giấy phép GNU, nhưng tôi không chắc điều đó có nghĩa là GPL.
Steve314

1
@ Steve314: Đọc GPL cẩn thận hơn. Bạn được phép liên kết với các thành phần hệ thống tiêu chuẩn, mặc dù tôi không nhớ ngôn ngữ chính xác. GPL được thiết kế cẩn thận cho tính thực tiễn - tính thực tiễn trong việc thúc đẩy một quan điểm tư tưởng nhất định, nhưng dù sao cũng thực tế.
David Thornley

1
@steve: quên liên kết, v.v ... GPL không bao giờ đề cập đến điều này (LGPL hiện). GPL nói rằng một phần mềm dẫn xuất phải được phát hành theo GPL, trong đó phần mềm dẫn xuất không được xác định rõ ràng, mặc dù ý tưởng là nếu một phần mềm không thể hoạt động mà không có bản gốc mà không bị thay đổi đáng kể, thì đó là đạo hàm. Nếu bạn xây dựng một ứng dụng trên hệ điều hành, HĐH không phải là một dẫn xuất của ứng dụng (mối quan hệ không phản ánh)
David Cournapeau

-2

Tôi nghĩ rằng khi mọi người nghĩ về GPL, họ nghĩ theo lý tưởng gnu, trong đó phần mềm nên là một suy nghĩ tự do, để các ý tưởng sẽ xuất hiện, và các công ty lớn là những kẻ xấu bởi vì họ không cho phép điều đó. Vấn đề là cách suy nghĩ đó không mua được nhiều lập trình viên vì họ chỉ muốn mã hóa công cụ, họ có chương trình và họ cũng sở hữu cuộc sống, điều đó không nhất thiết liên quan đến phần mềm, theo quan điểm đó, BSD và các giấy phép khác hấp dẫn hơn nhiều, theo cùng một nghĩa là Linus nổi tiếng hơn Richard Stallman đối với các nhà phát triển, bởi vì người đầu tiên chỉ muốn làm việc của mình (giống như nhiều người trong chúng ta), trong khi những người khác muốn cố gắng thay đổi toàn bộ thế giới. Vì vậy, cuối cùng GPL giống như Mikhail Gorbachev, một người bắt đầu quá trình tiến hóa nhưng không được định sẵn để thấy nó thành công.

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.