From today, it will be easier to use PostSharp 2.0 in open-source projects. Indeed, the revised license includes a limited, but quite universal, redistribution license: any user, even of the community license, has the right to redistribute PostSharp.

Redistribute means just that: copy, or upload on a public server. Of course, it does not mean that you can grant somebody else the right to use PostSharp – otherwise we could immediately file for bankruptcy. But it does mean that you can include PostSharp in your public source repository, so anyone can build your project without installing PostSharp separately.

Even better: Users of your OSS project will not need to acquire a license of PostSharp. They will just check out the source code and it will build.

How does it work?

If you own an OSS project and want to use PostSharp in it, contact me. Give a brief explanation of what your project does. Tell your root namespace and the strong name public key token.

If your project qualifies (it must not compete with PostSharp itself, obviously), I will answer with an assembly license key. This license key is is bound to your root namespace and your public key token.

Create a text file named PostSharp.license and paste the license key. Include this file as a managed resource in the project containing the aspects. From this moment, all aspects contained in your project (if the namespace and the public key match) will be authorized, irrespective of the license entered by the user.

That’s how things are solved from a technical point of view. For the details of the legal point of view, please read the revised license agreement.

Please comment here if you have any question regarding this license.

Happy PostSharping!


Comments (4) -

Lasse Vågsæther Karlsen
Lasse Vågsæther Karlsen
7/5/2010 1:37:33 PM #

But if they don't install PostSharp, and PostSharp aspects add functionality that are required, even if the library builds, that's not really helpful is it?

Don't get me wrong, I applaud what you've done for licensing here, I just don't understand that one part of your above post (it has nothing to do with the licensing.)

Gael Fraiteur
Gael Fraiteur
7/5/2010 2:24:09 PM #

The point is that a project can include PostSharp as it would include any other dependency, in the source control. PostSharp does not need to be installed. See

Lasse Vågsæther Karlsen
Lasse Vågsæther Karlsen
7/7/2010 10:57:18 AM #

I understood that part, but if an aspect provided by PostSharp should add necessary code to a method, and you don't have PostSharp installed, will that aspect actually be applied?

I understand the licensing issues.

Gael Fraiteur
Gael Fraiteur
7/7/2010 10:59:29 AM #

The vendor would install PostSharp with his product (true install or just xcopy install).

Pingbacks and trackbacks (1)+

Comments are closed