Một "tổng hợp" bao gồm một số chương trình riêng biệt, được phân phối trên cùng một đĩa CD-ROM hoặc phương tiện khác. GPL cho phép bạn tạo và phân phối tổng hợp, ngay cả khi giấy phép của phần mềm khác không miễn phí hoặc không tương thích với GPL. Điều kiện duy nhất là bạn không thể phát hành tổng hợp theo giấy phép cấm người dùng thực hiện các quyền mà mỗi giấy phép cá nhân của từng chương trình sẽ cấp cho họ.
Đường nối giữa hai chương trình riêng biệt và một chương trình có hai phần là gì? Đây là một câu hỏi pháp lý, mà cuối cùng thẩm phán sẽ quyết định. Chúng tôi tin rằng một tiêu chí phù hợp phụ thuộc vào cơ chế truyền thông (exec, pipe, rpc, function calls trong một không gian địa chỉ dùng chung, vv) và ngữ nghĩa của giao tiếp (loại thông tin nào được trao đổi).
Nếu các mô-đun được bao gồm trong cùng một tệp thi hành, chúng chắc chắn được kết hợp trong một chương trình. Nếu các mô-đun được thiết kế để chạy liên kết với nhau trong một không gian địa chỉ dùng chung, điều đó gần như chắc chắn có nghĩa là kết hợp chúng thành một chương trình.
Ngược lại, đường ống, ổ cắm và đối số dòng lệnh là cơ chế truyền thông thường được sử dụng giữa hai chương trình riêng biệt. Vì vậy, khi chúng được sử dụng để giao tiếp, các mô-đun thường là các chương trình riêng biệt. Nhưng nếu ngữ nghĩa của giao tiếp là đủ thân mật, trao đổi cấu trúc dữ liệu nội bộ phức tạp, điều đó cũng có thể là cơ sở để xem xét hai phần được kết hợp thành một chương trình lớn hơn.
IMHO, về tinh thần, trình bao bọc thuần túy chỉ thể hiện chức năng của chương trình GPL phải là GPL.
Bạn có thể định nghĩa chính xác hơn "trình bao bọc" - liên kết ứng dụng GUI có chống lại mã GPL hay không chỉ thực hiện nhị phân? – Rob
Nó chỉ đơn thuần là excutes nhị phân, sẽ thêm vào mô tả;) – hhafez
Nếu nó là một tác phẩm phái sinh, bạn nên cấp phép chương trình của bạn theo GPL và phát hành ("làm sẵn") mã nguồn của nó bất cứ khi nào bạn phân phối nó. – ShreevatsaR