I have been building a GPL v3.0 licensed user script for use in browser extensions like Greasemonkey, Tampermonkey, Violentmonkey, etc. I would also like to state in the documentation that it can also be used in the Userscripts Safari extension as well. However, I want to avoid violating the GPL's requirement against linking GPL code with non-GPL software, and due to Apple's legal requirements, Safari extensions cannot be released in the App Store under the GPL.

The Free Software Foundation says that "A main program that uses simple fork and exec to invoke plug-ins and does not establish intimate communication between them results in the plug-ins being a separate program" (source), which means that they don't both need to be GPL-licensed. Does a user script count as an example of this?

Any clarification about this would be greatly appreciated.

1 Answer 1


The important aspect to consider here is the joint distribution.

You don't do that, it's always the end user who does combine the works themselves. And every user is entitled to do as they please, if they habe a license for every single piece.

Apple doesn't do that either. Getting around these bear traps is one of the reasons they don't allow gpl in their app store.

Now, if they were distributed together, the extension already active, the Wer game to look at the section you quote. The answer depends on the actual Api used, how intimate is the integration. Ultimately this would need a court ruling to be sure. It is a bit of grey area, yet the common browser api where the user can activate and deactivate extensions are usually able practically believed to be abstract enough to not trigger this.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.