Using osadecompile to get plain text AppleScript runs certain actions from the script
I am not sure what the technical reason for this is, but accessing the AppleScript dictionary of some applications seems to require opening them. When I try opening the AppleScript dictionary of Firefox through Script Editor, Firefox will also be opened. When I try opening the dictionary of Keynote v5.3 (iWork'09 version), the app is opened, while when I try this with Keynote v7.0.5, the app is not opened. As Script Editor exhibits the same behavior, I am not sure there's any way to avoid this with osadecompile.

I did not read the Apple Developer documentation on AppleScript in detail, but I noticed this sentence which also suggests some applications need to be opened to access their AppleScript dictionary while some don’t:


  An aete is useful in 10.4 and earlier, in both Carbon and Cocoa applications, to provide a dictionary that scripting languages can use without launching the application.