Được rồi, trước khi mọi người hét lên về các câu hỏi trùng lặp, vâng, tôi đã thấy một số câu hỏi như thế này ở đây. Nhưng không ai trả lời câu hỏi.
Nếu tôi liên kết với thư viện GPL-ed mà không sửa đổi thư viện đó, tôi có cần phải phát hành mã nguồn của mình không?
Theo câu hỏi này , câu trả lời là có!
Nhưng câu trả lời này không thỏa đáng với tôi. Câu trả lời về cơ bản nói rằng tôi không thể sử dụng mã GPL theo bất kỳ cách nào mà không làm cho mã của tôi trở thành nguồn mở.
Nhưng nếu điều trước là đúng thì điều đó sẽ chỉ ra rằng không có cá nhân hay tổ chức nào có thể phát hành bất kỳ phần mềm độc quyền nào trên Linux. Mà phải sai. Đơn giản là vì để bất kỳ ứng dụng nào có thể làm bất cứ điều gì hữu ích, hãy mở các tệp, ghi vào bàn điều khiển, tạo các kết nối TCP, ứng dụng phải được liên kết với libc
GPL-ed.
Vì vậy, câu hỏi của tôi là: Nếu GPL tuyên bố, như tất cả các câu trả lời trước đó trên trang web nói rằng, một chương trình liên kết với chương trình GPL khác phải là chính GPL, làm thế nào có thể tạo / phát hành / bán bất kỳ ứng dụng độc quyền nào tất cả những gì chạy trên Linux? Vì như tôi đã mô tả ở trên, ứng dụng phải được thích mã GPL chỉ để chạy trên Linux.
Một ví dụ thực tế hơn nói rằng tôi liên kết đến một thư viện dùng chung là GPL-ed trong một ứng dụng không phải GPL, điều đó có buộc ứng dụng không GPL trở thành GPL-ed không? Cụ thể hơn nếu tôi sử dụng thư viện GPL mà không sửa đổi nó, và sau đó phân phối thư viện đó dưới dạng .so
hoặc .dll
, liệu yêu cầu ứng dụng của tôi có phải là nguồn mở không?