This project has moved and is read-only. For the latest updates, please go here.

License Question

Apr 5, 2010 at 5:24 PM

This is licnesed with the GPL, right?  Can I use this in commercial software? How do I license it for that purpose?


Apr 6, 2010 at 7:09 AM

The reason this project is licensed GPL is because the project I started it from, ExcelPackage is licensed GPL. I've properbly rewritten about 99% of the code from the orginal project, but there is still some interface and comments left from the start project. That's why I have not changed the license. I really dont know where you draw the line here, but hopfully I can change the license to LGPL some time in the future. Anyway, if you want to use the component commercial, I dont have any problem with that, but if you do any changes to the component that could benefit the project, please contribute them. 

Jan Källman

Apr 23, 2010 at 5:38 PM
Mar 22, 2011 at 5:31 AM

We would love to use this component, but the GPL license prevents us.  Is there any update available on the GPL abatement effort?


Mar 22, 2011 at 7:33 PM

No, I hav'nt had the time, but I will evetually have to do something.

Mar 22, 2011 at 10:37 PM

Thanks again.

Aug 4, 2011 at 2:20 PM

I also would like to use the package in our commercial software, but unfortunately can't.

> Anyway, if you want to use the component commercial, I dont have any problem with that,

As I understand it, even if you give me your permission to use this library in my commercial software, using it will still make my software GPL and I have to hand over the source code for my software to anyone who asks for it.

Also, since it is derived from ExcelPackage, I am not sure if you can change the license without the permission of the original author, so your hands may be tied. 

A pity.

Sep 12, 2011 at 6:42 AM

Bump ;O

Oct 27, 2011 at 1:23 AM


Is there any update on the License for this?

Would like to be able to use it in our commercial software - but not possible at present.

Mar 17, 2012 at 10:47 PM

I see that EPPlus is now LGPL, but I'm still not clear on how I can use this in a commercial application.   I want to use the compiled EPPlus dll as-is and not modified (e.g. downloaded as a NuGet package), in my application.  My .exe or my .dll will always be a separate unit.  I think this this falls under section 5 "work that uses the Library", and thus "falls outside the scope of this License."   Is my interpretation correct?  

Mar 18, 2012 at 10:31 PM

Yes, you can use the binary in your comercial appliciation

Apr 5, 2012 at 9:43 AM

Sorry for this long post, but I'm also seeking some clarification on using this excellent library in commercial .NET applications.

Basically, my usage scenario is as follows:

  1. Only use the library in binary form in commercial .NET applications, as obtained from this site (that is, I will never compile my own version and use that).
  2. If I ever need to make changes/fixes to the library, submit them as a pull request to the official library (which may or may not be included at the project owner's discretion.  If they are not included, tough luck for me).

I've been trying to understand the LGPL v2.1, and how it relates to these requirements.  Another user above (noptools) has speculated that this type of usage falls under section 5 of the license.  But I think that according to the LGPL v2.1 it really means that the work is a derivative since the application is linked against the library, so section 6 is the one that matters.

There's a good, simplified explanation of using LGPL v2.1 libraries with Java by David Turner at I think fundamentally the same concepts can be applied to .NET applications, which will typically use DLLs instead of JAR files to contain libraries.

According to David Turner and the LGPL v2.1, if I want to distribute commercial .NET applications that contain EPPLus I need to license my application so that it:

  1. Allows users to modify EPPlus and then use a modified version of it in my application, provided the modified version is interface-compatible.
  2. Allows users to reverse-engineer my application solely for the purpose of debugging their modified versions of EPPlus.
  3. Includes source code for the binary version of EPPlus being used, if the EPPlus DLL is distributed with my application.
  4. Requires the user to download EPPlus separately, if EPPlus is not being distributed with my application.
  5. Gives prominent notice that the application is using EPPlus, and that EPPlus is covered by the LGPL v2.1

This all seems fair enough to me.  Have I missed anything or am I over-complicating it?

Basically, do I have permission to use this in a commercial application and not be required to provide my source code?

Many thanks for your time and this amazing library!



Apr 12, 2012 at 7:07 PM

I haven't deep dived into the license questions that much, but if you use the binary you should be fine. (I'm not going to give you any trouble anyway :) )


Apr 20, 2012 at 2:11 AM

I don't blame you for avoiding the details of the LGPL.  As programmers, it's like reading another language that we don't know the syntax for.  We can probably work it out but can't be 100% certain of the operator precedence :p

Thanks for providing a response and thanks for your library.  It's rock solid, works wonderfully, and is easy to use!