Navigation



contactdonate


PostSharp License

Summary

Run-time components of PostSharp (PostSharp.Public.dll, PostSharp.Laos.dll) are released under GNU Lesser General Public License (LGPL) version 3, but compile-time parts (all other libraries) are released under the GNU General Public License (GPL) version 3.  

Therefore, if you use PostSharp to make a program for end-users, you don't need to release it as open source. However, if your product uses PostSharp to modify programs of your customers (which means that you would typically need to include PostSharp.Core.dll in your distribution package), you have either to publish it as open source, or to buy a commercial license.

Note that, by exception to GPL, you may use link PostSharp compile-time to modules released under any OSI-approved license.

In other words:

  • Programs transformed by PostSharp are never subject to license restrictions because they are linked only to LGPL components, which is not a viral license.
  • Aspect libraries written for PostSharp Laos are not subject to license restriction. However, if you develop new abstract aspect with their own weaver (i.e. you typically reference PostSharp.Laos.Weaver.dll), you are subject to license restrictions.
  • If you develop a plug-in to PostSharp, or make a program using PostSharp low-level APIes, you should release it under GPL or one of the other supported open-source licenses.
  • If you don't want to release your plug-in as open source, you may buy a commercial license, which is actually an exemption for your specific plug-in or program from having to respect some GPL-related restrictions.

PostSharp is a registered trademark of Gael Fraiteur.

See also the formal license statement.

Details Per Component

Frequently Asked Questions

Why this licensing model?

We want end-users to use PostSharp without restriction, and that's why run-time components have a non-viral license.

We want to encourage plug-in authors to contribute their project to the community, and that's why we ask their project to be open-source.

We want Independent Software Vendors to be able to build projects based on PostSharp, but we want them to contribute financially to the development of PostSharp.

Who is the copyright owner?

Gael Fraiteur is the sole copyright owner of PostSharp.

How to determine if my project is subject to license restrictions?

If you need the library PostSharp.Core.dll to be present on your customers' computer in order to allow them for a full experience of your project.

So recursively follow the references of the assemblies you are shipping to customers. If they include PostSharp.Core.dll, you need to release your product as open source. All your product, not only the assemblies directly referencing PostSharp. It would be too easy ;-).

If you don't distribute your product outside your company, the GPL does not require you to release your code as GPL.

Can I use PostSharp Laos in a commercial project?

Yes, because your project is only linked to PostSharp.Laos.dll and PostSharp.Public.dll, which are both released under the non-viral LGPL v3.

Can I make my own PostSharp plug-in for use in a commercial project?

Yes, but you will have to release it under GPL if you distribute the plug-in outside your organization. Alternatively, you can buy a commercial license for your project.

If you use the plug-in internally only, your use of PostSharp compile-time components complies with the GPL license.

What is a commercial license and how to get some?

Commercial licenses grant you the right to distribute applications that use compile-time components of PostSharp. Commercial licenses are available through a partnership program. If, please contact Gael Fraiteur.