We are strong supporters of open source software, and in fact, an early version of our mix-net was released under LGPL many years ago. Here we elaborate on our decision to not use an open source license and the main features of the license.
The development costs of our mix-net is estimated at approximately 1.5 million USD by third parties using standard tools and methods, and we have only managed to cover a negligible fraction of this with license fees so far. We can not continue to spend time on the software unless we at least are able to cover our expenses.
Typical open source projects grow organically, often as a result of companies working in the open source business model adding features as part of consultancy services or support. We have instead done all the work in advance and do not focus on services.
We welcome a strong sponsor that buys our software, release it under an open source license, and provide funding for further development, but without such a sponsor demanding license fees is the only way for us to cover our costs.
Researchers are used to release their code under open source licenses. Thus, it is only natural that they expect us to do the same, since we are also researchers. There are several reasons why this is not a reasonable request today:
We kindly ask researchers to accept that it is fair that we are paid for our work like you are.
We think license fees should be fair, predictable, and allow licensees to cooperate, but we also need funding to continue our work. More precisely, the rationale of the license fee scheme is the following:
Irrevocable and predictable. We can not change the license terms and we can not choose our licensees.
Only users pay license fees. Nobody pays anything unless they use the software in a real election. Modifying, releasing, sharing, experimenting, research, teaching, and so on, is free.
Users only pay for actual voters. The user only pays for actual voters. Not for the number of eligible voters as is the case systems provided by many large vendors.
No double billing. The user never pays for the same voter twice in the same type of election. For example, if in a first election there are 10 voters, then the user pays for 10 voters. If in a second election of the same type there are 15 voters, then the user only pays for 5 voters. If in a third election there are 12 voters, then the user does not pay anything.
This approach allows us to set the license fee as low as possible, since the number of actual voters relative to the number of eligible voters differ drastically in different types of elections.
Generous notion of type of election. In our license we fix the license fee once and for all. This makes it hard to adapt it to different markets. It is common that only some regions or municipalities of a country use an electronic voting system. Thus, if we did not restrict usage to those municipalities, then we would either have to demand an unreasonable license fee for those municipalities that use the software, or a negligible license fee that would not cover our costs.
On the other hand it would be ridiculous to demand separate license fees for the parliamentary elections of a country, for its presidential election, and for national referendums.
Thus, we have defined election types tied to the assembly and eligible voters involved. Any number of elections for the same assembly and eligible voters are covered by the same license fees.
Usage reports. We require that users file usage reports not only to verify that license fees are paid correctly, but also to make best effort at responsible disclosure of any security vulnerabilities. We are of course also interested in collecting statistics about the usage of our software!
We demand that the rights to all modified software created by licensees is transfered to us and not only covered by the license.
We need this liberty to make the terms of the license more liberal if it turns out to be unsuitable in some way. Incompatible licenses have historically been a problem with open source software and we want to avoid this.
We stress that we do not have any exclusive rights to modified software.
We require that complete systems based on our software state this explicitly alongside the name of the complete system. We similarly demand that any logotype for the complete system incorporates a smaller version of our logotype.
We are a commercial business that need visibility of our trademarks to gain recognition, but even if we were an open source project it would be fair to place our trademarks prominently.
We may decide to waive this requirement for selected clients.
We can obviously not blindly commit to support modified software created by others.
We intend to keep our software up to date and further develop it, but we can not commit to a general support agreement in the license, since we have no control over who uses our software, how it is used, or how many users there are until we receive usage reports.
Thus, developers and users that need comprehensive support can negotiate this separately with us, provide their own support, or use the support of third parties. To encourage the latter two choices we offer courses, where the content is tailor made in cooperation with the client.
There are several open source licenses, and although all of them are free of charge, several of them are quite restrictive. For example (L)GPL does not allow deep integration of (L)GPL software and proprietary software. Only linking with clean interfaces is allowed.
It is important to understand that for research purposes our license is more liberal than many open source licenses and apart from the license fees it is for election purposes more liberal than many open source licenses in how the software can be modified and used.
Thus, our license is incomparable with open source licenses and not more restrictive. Our goal has been to have a license that is as liberal as possible, have as low license fees as possible, and still be able to continue development.