The LGPL seems to stipulate that I have to distribute my app in a way that the LGPLed code can be replaced. Xamarin keeps saying that to distribute a mac app in the store, I need to use Xamarin.Mac and buy a license. Now, if I have a closed source app and I distribute a .app bundle where the Mono runtime is present as a .dylib rather than statically compiled into some executable, I'm compliant, yes? I don't understand their restriction.

MonoDevelop/Monomac distributes apps in a way that requires the user to jump through the hoops of installing the Mono runtime, but this seems totally unnecessary if I just bundle mono in as a replacable library.

1 Answer 1


Merely providing an LGPL'd library as a .dylib does not make you compliant. You must also include the source code and any tools necessary to allow someone to modify the library for their own purposes and use those modifications in your program.

It's very likely that the Apple ecosystem does not support such an arrangement, which is why Xamarin recommends that you use their commercial tools for this purpose.

  • include is a bit misleading. You have to provide the source code if the recipient so desires. The distributed software doesn't need to have the source code included with the binaries. Commented Aug 29, 2015 at 14:02
  • @SamiKuhmonen: Your obligations under the GPL increase significantly if you choose that route. See softwarefreedom.org/resources/2008/compliance-guide.html under the subheading: "The Offer." Commented Aug 30, 2015 at 0:57

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.