LGPL to Polyform
From LGPL to Polyform Noncommercial
From version 5, we have changed the license from LGPL to Polyform Noncommercial 1.0.0 - a license that permits noncommercial use only. In combination with the Polyform Noncommercial license we sell licenses for customers who use EPPlus in a commercial business. Since EPPlus has been around for a while, you might wonder why we have decided to do this change.
The story behind EPPlus
We are two brothers - Jan Källman and Mats Alm - based in Stockholm, Sweden. Jan started EPPlus on Codeplex back in 2009 for the simple reason that he needed a spreadsheet library in a project he was working on and there was not really anything available at the time with enough performance and functionality. After some time Mats joined and we started to build it together, mostly for fun.
We have never marketed EPPlus, but it started to spread across the .NET community anyway. Somewhere around 2014 it was the most downloaded spreadsheet package on Nuget. During 2019 it had over 6,5 million downloads and was among the top 100 most downloaded packages, not bad for a hobby project!
All our work with the library had to be done on our spare time (weekends, holidays, evenings/nights) and for various reasons we have had less time to spend on it the last years. At the same time the usage of EPPlus increased rapidly and, after we moved to github, the number of issues and pull requests increased rapidly as well. Pull requests are great, they can however be a bit tricky to handle since parts of the library has poor test coverage and it is not easy for someone who is not fully familiar with the code to understand all side effects that it might cause. Issues/questions from users started to pile up and it was difficult to know even where to start having only a few hours now and then.
Some of the code in EPPlus is 10 years old and needs refactoring/redesign and better test coverage. At the same time new versions of Excel, .NET Framework/Standard/Core was introduced and more work needed just to keep up with that.
This was not a good situation neither for us nor the users of EPPlus.
In the end of 2018, we reached a point where we had to decide what to do with the project.
We have founded EPPlus Software to be able to work full time with EPPlus and we are convinced that this will lead to a much better product in the long term.
We are now releasing EPPlus 5, the first major version under the new license model. EPPlus 5 is the result of a process where we have worked with lawyers to ensure that we legally can change the license. But we have also implemented a lot of new features, fixed many issues from EPPlus 4 and improved the code from previous versions.
What happens with EPPlus 4?
EPPlus 4 is still (and will always be) licensed under LGPL. You can of course continue to use EPPlus 4 and previous versions and you can still install them via Nuget.
PM> Install-Package EPPlus -Version 126.96.36.199
The code for EPPlus 4 will stay on Jan Källmans github repo and can be forked/used according to the LGPL license.
Our focus, however, will be on version 5 going forward.
Pending pull requests
If you have submitted a pull request to EPPlus 4 and think that the pull request should be applied to EPPlus 5, you need to resubmit it to our new github repo. Legally (under LGPL) the pull request is your intellectual property, not ours, and it needs to be resubmitted under our new CAA (Contributor's Assigment Agreement). For more info see CONTRIBUTING.md
The new license model
EPPlus 5 is licensed under the Polyform Noncommercial 1.0.0 license. Read more about it here.
Future way of working
We want to keep the community driven way of working. Unlike other commercial alternatives, our code will still be fully available and open. There will be no user specific license keys to set in the code, just a LicenseContext property that needs to be set in debug mode to make users aware of the new license. The code for EPPlus 5, the new sample projects and wiki has moved to EPPlus Software’s github account.