Frequently Asked Questions
Can I use PostSharp for free to build commercial software?
Yes. You can use PostSharp for free to build commercial software as long as your software does not require the library PostSharp.Core.dll. Most of the time, your software is only linked to PostSharp.Public.dll and PostSharp.Laos.dll.
However, if you require professional level of support, you could be interested by commercial licenses.
So when do I have to pay for PostSharp?
You have to pay for PostSharp when your software requires PostSharp.Core.dll. So if you distribute developer tools that uses PostSharp to perform analysis and transformation of assemblies of your customers (for instance an O-R framework or an application server), and do not release your product exclusively under an OSI-recognized license, you need to buy a commercial license.
My company has developed a plug-in referencing PostSharp.Core.dll. It is for internal use only. Do I need to acquire a commercial license?
No, since you don't distribute the plug-in outside your company.
I need to redistribute PostSharp.Core.dll to my customers. When do I need to acquire a commercial license?
As soon as you distribute your product outside your company (for any reason: testing, general distribution or whatever else). If your product remains inside your company, it is not 'contaminated' by GPL.
I made a plug-in for PostSharp and want to release it as open source. But I don't like GPL...
You can release your plug-in under any open-source license recognized by the Open-Source Institute. However, code linked to your plug-in will have to be released under OSS as well, because the PostSharp license is contagious even indirectly.
Policies of my company forbid the use of projects licensed under GPL or LGPL. Do you release PostSharp under a different license?
Yes. You can acquire commercial licenses today.
Do you provide commercial support?
Yes. Coding Glove, the company behind PostSharp, provides two levels of technical support.
Does any other company provides commercial support?
Not that we know.
How old is the project?
The project started in September 2004 as a hobby project. It took 2 years to build PostSharp Core, 1 year to build PostSharp Laos and finalize the product, and 1 year to stabilize it and market it.
So the project is not exactly young, even if it has become popular quite recently.
How do you make money out of PostSharp?
Well, we don't make a lot.
There are two sources of revenue: direct and indirect. Direct revenues come from commercial licenses, author/speaker's fees, donations and sponsorship. Indirect revenues come from consulting: PostSharp opens doors we would not even know about otherwise, and allows us to invoice more than what is the norm in the country we operate from.
Copyright, Contributions and Trademark
Who is the copyright owner of PostSharp?
Gael Fraiteur is the sole copyright owner of PostSharp.
How can I contribute to PostSharp?
You are welcome to develop plug-ins based on PostSharp. If some functionalities or extension points are missing, we will gladly add them to PostSharp.
Why don't you accept contributions into PostSharp itself?
Because we don't want to loose code ownership because of small contributions. Holding the whole copyright, we are able to sell commercial licenses. We don't want to loose this ability because of a few percents of contributed code.
Contributors are welcome to write plug-ins that can eventually be packaged together with PostSharp. However, we want to keep a clean separation between code owned by different contributors.
Note that most successful open-source projects rely on private ownership of source code. Collective ownership is rare, even if there are some famous exceptions.
I read PostSharp is a trademark. Can I use the word 'PostSharp' in my plug-in?
Yes, but you have to make it clear that your plug-in is not a part of PostSharp itself, and is not endorsed by the trademark holders. So don't name your product "PostSharp Logging Framework" but "Logging Framework for PostSharp". The same with the namespace: you cannot start of your product with "PostSharp", because it would be misleading.