Hi, I have a problem with several open source projects. Neither GPL nor LGPL license seems to be appropriate.
One such project is my C++ vector class library (http://agner.org/optimize/#vectorclass ) Right now, I am using a dual license system. The library is published under GPL, following the advice at https://www.gnu.org/licenses/why-not-lgpl.html
However, there is a significant demand for using this library in commercial closed-source code. Therefore, I am selling commercial licenses to anybody who want to use the library in commercial code.
Now, there is a problem with unifying the copyright. I want to put this code on github and make it a collective project. But then I can no longer be the only copyright owner. It is not fair that others should contribute to the project for free while I make profit on selling licenses. We would have to set up an organization to own the copyright and sell licenses. But the administration cost of running such an organization would probably eat up all the income. And open source programmers prefer to spend their time on programming, not on administration of an organization.
An LGPL license is not possible because the program code that uses a class library will be a "derived work", not a "combined work", and it is impossible to meet the relinking requirement of LGPL. The application code and class library code are mixed together and compiled together so that the two cannot be separated.
An Apache or BSD license might be possible, but I don't think commercial users like the requirement that the end product should include various required notices. Also, I think these licenses are too permissive. I like the protection against tivoization, DRM, and patent retaliation in GPL.
More importantly, people would have little motivation to contribute to an open source library when their work only goes to somebody else's profit. The motivation would be higher if the effort could somehow contribute to the general goal of supporting free software. That's why I prefer the dual license solution. The only problem is who should own the copyright and sell commercial licenses?
I have asked the FSF, but they are not willing to sell licenses, and frankly they are quite difficult to communicate with. That's why I am now taking the discussion to FSFE. Is there any other suitable non-profit organization who could be the copyright owner and sell licenses?
I have also thought about a scheme that requires no administration. You would get a commercial license automatically by donating a certain amount of money to some non-profit organization and posting proof of payment to some repository. Would that work?
Or do we need a completely new license concept for open software libraries and other code that is likely to be used in proprietary derived works? Any suggestions?
On Saturday 25. February 2017 09.54.39 Agner Fog wrote:
Hi, I have a problem with several open source projects. Neither GPL nor LGPL license seems to be appropriate.
One such project is my C++ vector class library (http://agner.org/optimize/#vectorclass ) Right now, I am using a dual license system. The library is published under GPL, following the advice at https://www.gnu.org/licenses/why-not-lgpl.html
However, there is a significant demand for using this library in commercial closed-source code. Therefore, I am selling commercial licenses to anybody who want to use the library in commercial code.
Proprietary code, not commercial code. (Yes, I know you also wrote "commercial closed-source code", but commercial code does not have to be proprietary, nor is proprietary code necessarily commercial.)
Now, there is a problem with unifying the copyright. I want to put this code on github and make it a collective project. But then I can no longer be the only copyright owner.
Well, what you're asking about here is how you can have an organisation with ownership or control over the copyright, which may have something to do with things like copyright assignments or contributor licensing agreements that can be topics affecting Free Software projects, but then...
It is not fair that others should contribute to the project for free while I make profit on selling licenses. We would have to set up an organization to own the copyright and sell licenses. But the administration cost of running such an organization would probably eat up all the income. And open source programmers prefer to spend their time on programming, not on administration of an organization.
...this is almost like asking for business advice: how ownership in a company is structured, how contributions translate to "investments" in the value of the company. Now, there are organisations that have attempted to figure out the latter, but it is very controversial to try and put a value on what someone has contributed to a project, and it seems to me that most people steer clear of the matter and leave it somewhat open.
[...]
More importantly, people would have little motivation to contribute to an open source library when their work only goes to somebody else's profit.
Which is why copyright assignments and unfavourable contributor licensing agreements involving companies deter contributions to the projects concerned.
The motivation would be higher if the effort could somehow contribute to the general goal of supporting free software. That's why I prefer the dual license solution. The only problem is who should own the copyright and sell commercial licenses?
I have asked the FSF, but they are not willing to sell licenses, and frankly they are quite difficult to communicate with. That's why I am now taking the discussion to FSFE. Is there any other suitable non-profit organization who could be the copyright owner and sell licenses?
You have to remember that Free Software is all about end-user empowerment. If a user gets a binary that gives them none of the privileges of Free Software then it doesn't matter in practice what went into making that software: they are being denied the ability to participate in controlling what that software - the actual thing they obtained, not part of it - actually is or does.
Where a scheme advocates putting proprietary software in front of users, it is not going to get the support of the FSF, because even the LGPL is effectively a barely palatable concession to the idea that Free Software might be used in proprietary software under certain circumstances. I don't think you should expect the FSFE to take a different position.
I think that more attention should be given to funding mechanisms for Free Software. However, it seems to me that you are effectively asking the FSF for business advice, which is something people usually have to pay for. That would also explain why they might not have been very motivated to communicate with you: giving such advice to businesses dealing in proprietary software is not exactly the mission of the FSF.
For what it's worth, you could look at what existing businesses have done in this area already. There have been several companies that have offered dual- licensing schemes, and some of them may even have offered something resembling what you are trying to achieve.
Paul
On 25-02-2017 14:44, Paul Boddie wrote:
...this is almost like asking for business advice
Don't get me wrong. It is not my goal to make money. My goal is to make free software libraries.
You have to remember that Free Software is all about end-user empowerment. If a user gets a binary that gives them none of the privileges of Free Software then it doesn't matter in practice what went into making that software: they are being denied the ability to participate in controlling what that software
- the actual thing they obtained, not part of it - actually is or does.
Where a scheme advocates putting proprietary software in front of users, it is not going to get the support of the FSF, because even the LGPL is effectively a barely palatable concession to the idea that Free Software might be used in proprietary software under certain circumstances. I don't think you should expect the FSFE to take a different position.
That's the nature of a software library. It can be used in many different contexts - free as well as proprietary. If a company wants to make a piece of proprietary software for a specific purpose then they will do so no matter what. If they can't use my GPL library they will find another way. It is not realistic that we can coerce them to make their software free if their business is to sell software. But we can make them contribute to funding free software if this is cheaper for them than making their own library from scratch. My project doesn't need any funding, so the money can go to some other free software projects (which might ultimately outcompete some proprietary software).
The dual license system for software libraries that I am proposing will serve two purposes: 1. It gives open source projects that use the library an advantage over proprietary projects using the same library. 2. It generates a revenue that may be used for funding other free software projects.
If a library uses GPL only, it will make an incentive for somebody else to make a proprietary alternative to the library (which will possibly be so similar to the free code that we would have a nasty battle over possible copyright violation).
If we use a more permissive license (Apache or BSD) then we will allow proprietary code makers to free ride and make money on our open source work without contributing anything in return.
I think that more attention should be given to funding mechanisms for Free Software.
This is indeed what I am proposing. The problem is that we need an organization to handle the money.
I think this is an unresolved issue in the open source movement. How do we deal with software libraries and other pieces of code that can be reused in proprietary software (and is so valuable that private companies will pay for it).
For what it's worth, you could look at what existing businesses have done in this area already. There have been several companies that have offered dual- licensing schemes, and some of them may even have offered something resembling what you are trying to achieve.
But I don't want to make a company - I just want to make code
/Agner
Hi,
I think you may just need to add additional permissions to the the GPL which it specifically allows for. However, you need to contact a lawyer to figure out the details because I cannot give you legal advice and I am not even sure that your assumptions about the requirement of the LGPL apply in your case because I don't know the details. In any case, there are plenty of licenses out there and since you can always grant additional permissions, you can have any degree of copyleft/other conditions that you could possibly want and that way, you don't sacrifice license compatibility.
From a more general perspective, I can tell you this: What you might
want to consider is setting up a CLA that gives you the right to sell exceptions as long as all the money from those sales goes to some defined Free Software organization. That way, you don't need to set up your own organization, contributors have a guarantee that you won't do random other stuff with their contributions and if you do, you lose their contributions. Perhaps you can specify a fallback license so people can still use the project as a whole under the free license in that case. Again, you will need a lawyer to help you draft such a CLA. This CLA will make some people not want to contribute, but with your plan, that is something you need to live with. As variant of that model would be to have all developers agree on a case by case basis. There may not even be that many contributors to make that difficult. The alternative is just a plain Free Software license where the inbound license equals the outbound license which is pretty much a community consensus for many projects according to Fontana.
I think you are trying to support Free Software here with a business model that is really just on the border of being ok. I'm not even sure that it is an acceptable business model. The FSF does not even have any member projects that they sell exceptions for, so I am not surprised about them not being able to help you. The FSFE also does not do any business of that kind because the FSFE is not about writing software, but about educating the public about Free Software. Perhaps you can contact one of the umbrella organizations for Free Software projects and see if they are interested.
Happy hacking! Florian
Hello,
On 25 Feb 2017, at 09:54, Agner Fog agner@agner.org wrote:
Hi, I have a problem with several open source projects. Neither GPL nor LGPL license seems to be appropriate.
One such project is my C++ vector class library (http://agner.org/optimize/#vectorclass http://agner.org/optimize/#vectorclass ) Right now, I am using a dual license system. The library is published under GPL, following the advice at https://www.gnu.org/licenses/why-not-lgpl.html https://www.gnu.org/licenses/why-not-lgpl.html
However, there is a significant demand for using this library in commercial closed-source code. Therefore, I am selling commercial licenses to anybody who want to use the library in commercial code.
Now, there is a problem with unifying the copyright. I want to put this code on github and make it a collective project. But then I can no longer be the only copyright owner. It is not fair that others should contribute to the project for free while I make profit on selling licenses. We would have to set up an organization to own the copyright and sell licenses. But the administration cost of running such an organization would probably eat up all the income. And open source programmers prefer to spend their time on programming, not on administration of an organization.
An LGPL license is not possible because the program code that uses a class library will be a "derived work", not a "combined work", and it is impossible to meet the relinking requirement of LGPL. The application code and class library code are mixed together and compiled together so that the two cannot be separated.
An Apache or BSD license might be possible, but I don't think commercial users like the requirement that the end product should include various required notices. Also, I think these licenses are too permissive. I like the protection against tivoization, DRM, and patent retaliation in GPL.
More importantly, people would have little motivation to contribute to an open source library when their work only goes to somebody else's profit. The motivation would be higher if the effort could somehow contribute to the general goal of supporting free software. That's why I prefer the dual license solution. The only problem is who should own the copyright and sell commercial licenses?
I have asked the FSF, but they are not willing to sell licenses, and frankly they are quite difficult to communicate with. That's why I am now taking the discussion to FSFE. Is there any other suitable non-profit organization who could be the copyright owner and sell licenses?
I have also thought about a scheme that requires no administration. You would get a commercial license automatically by donating a certain amount of money to some non-profit organization and posting proof of payment to some repository. Would that work?
Or do we need a completely new license concept for open software libraries and other code that is likely to be used in proprietary derived works? Any suggestions?
The situation you are describing cannot easily be solved with a license alone. Your intention is to release copyleft free software that can also be used in proprietary environments. You already went with dual-licensing. This is a proven approach that models your intention better than using an academic/permissive software license.
Opening up the project to other contributors means to introduce a conflict of interest, as you describe correctly. If the plan is to stay with copyleft licensing (which I would recommend, but that is a personal opinion), you will have to solve two problems: You will need permission/license from the other contributors to sell proprietary licenses. You need a scheme that fairly distributes the licensing revenue so that it motivates people to contribute. You could pay out shares of the revenue to them, or you could make it a public service effort by donating a share or all of the proceeds to a organisation with aims that benefit the general public, for example FSFE. A Contributor License Agreement (CLA) can be used to set up such a model. Usually, FSFE would not recommend using CLAs that enable proprietary licensing. However in your situation this is already the case, so in my understanding it would make your software more free (because others can contribute to it). Please be aware that this is not an official FSFE position.
Hope this helps,
Mirko.
On 27-02-2017 11:06, Mirko Boehm (FSFE) wrote:
- You will need permission/license from the other contributors to sell proprietary licenses.
- You need a scheme that fairly distributes the licensing revenue so that it motivates people to contribute. You could pay out shares of the revenue to them, or you could make it a public service effort by donating a share or all of the proceeds to a organisation with aims that benefit the general public, for example FSFE.
A Contributor License Agreement (CLA) can be used to set up such a model. Usually, FSFE would not recommend using CLAs that enable proprietary licensing. However in your situation this is already the case, so in my understanding it would make your software more free (because others can contribute to it). Please be aware that this is not an official FSFE position.
My initial idea was that proprietary users would automatically get a license by donating a certain amount of money to some organization that supports free software, such as FSF. But I understand from this discussion thread that the policy of FSF or FSFE does not allow such a scheme. So I guess this will not work. I don't want to put in a random charity organization because the contributors might have different opinions about which organization to support.
So I guess the only solution is to use a more permissive license and let proprietary software vendors use the library for free. Right now they are actually paying, but this becomes too complicated if there is more than one contributor to the software library.
I could still encourage commercial users to donate money to FSF or some other organization, but I am not sure whether a voluntary scheme would work. The commercial users want an invoice and a piece of paper that says "license". Some even require that I register into their database of suppliers. Donation to charity doesn't fit into their administrative routines, I guess. Or maybe they can put it on their PR budget or their "Corporate Social Responsibility" budget?
Do you think the FSF will endorse such a scheme? (I can't get access to their mailing list even though I am a member).
On Monday 27. February 2017 14.40.50 Agner Fog wrote:
The commercial users want an invoice and a piece of paper that says "license". Some even require that I register into their database of suppliers. Donation to charity doesn't fit into their administrative routines, I guess. Or maybe they can put it on their PR budget or their "Corporate Social Responsibility" budget?
What would be interesting to see is an organisation that can invoice people for spending money on Free Software which remains Free Software. I remember a case where a municipality that gave a donation to a project was criticised (presumably by proprietary software shills) for doing so, but if some kind of umbrella organisation could be a supplier, certain forms of organisational entity (companies, municipalities, public organisations) would find it easier to pay for Free Software.
Do you think the FSF will endorse such a scheme? (I can't get access to their mailing list even though I am a member).
If the software remains Free Software. If you're selling proprietary licences, I'm pretty sure you'll be told what has already been said in this thread.
Paul
On 27-02-2017 15:44, Paul Boddie wrote:
What would be interesting to see is an organisation that can invoice people for spending money on Free Software which remains Free Software.
Yes, exactly. An organization to sell license exceptions to GPL software.
Do you think the FSF will endorse such a scheme? (I can't get access to their mailing list even though I am a member).
If the software remains Free Software. If you're selling proprietary licences, I'm pretty sure you'll be told what has already been said in this thread.
But what about a voluntary donation scheme?
Mirko Boehm wrote:
I cannot speak for FSFE, but I think the setup can be made simpler: Anybody can donate to FSFE. Just ask them to provide proof of the donation, and then you give them a license. This way you don’t need any kind of organisation, and no arrangement for handling money.
Yes, but the FSF or FSFE still has to endorse such a scheme because the donors will ask all kind of questions about license conditions, pro forma invoices, and other technicalities.
A scheme with selling proprietary license requires a unification of the copyright. Who should own the copyright, me, FSF, or all contributors? I would prefer to avoid such problems by making donation voluntary.
Is it common to assign the copyright to FSF, even when FSF has nothing to do with the project? I can see the advantage of unifying the copyright, but also administrative burdens on FSF, and potentials for abuse.
Is it common to assign the copyright to FSF, even when FSF has nothing to do with the project? I can see the advantage of unifying the copyright, but also administrative burdens on FSF, and potentials for abuse. _______________
Maybe this helps with enforcement when people don't respect the GPL license which seems to happen, a letter from the FSF legal department is backed by their own layers where as if you had to try and enforce it yourself it could cost a lot of money in legal fees.
Paul
Hi!
On 28 Feb 2017, at 10:11, Agner Fog agner@agner.org wrote:
Mirko Boehm wrote:
I cannot speak for FSFE, but I think the setup can be made simpler: Anybody can donate to FSFE. Just ask them to provide proof of the donation, and then you give them a license. This way you don’t need any kind of organisation, and no arrangement for handling money.
Yes, but the FSF or FSFE still has to endorse such a scheme because the donors will ask all kind of questions about license conditions, pro forma invoices, and other technicalities.
FSFE hands out donation receipts. You can say “I will issue a proprietary license if you deliver a donation receipt from FSFE”. The donation receipt is sufficient for the accounting of the donor. That is what I meant when I tried to explain to use a setup that does not connect the donation to the license. The details are of course up to you.
A scheme with selling proprietary license requires a unification of the copyright. Who should own the copyright, me, FSF, or all contributors? I would prefer to avoid such problems by making donation voluntary.
If you issue the proprietary licenses, *you* need to have permission to do so. Either the contributors assign that right to you (by granting you a license, for example) or somebody else (FSF(E)) can be the copyright fiduciary but would still have to grant you that right. The author remains the copyright owner, in most cases.
Is it common to assign the copyright to FSF, even when FSF has nothing to do with the project? I can see the advantage of unifying the copyright, but also administrative burdens on FSF, and potentials for abuse.
I would not think this makes sense in such a scenario. If FSF denies you the right to hand out proprietary licenses, then what?
Cheers,
Mirko.
On Tuesday 28. February 2017 10.11.04 Agner Fog wrote:
On 27-02-2017 15:44, Paul Boddie wrote:
What would be interesting to see is an organisation that can invoice people for spending money on Free Software which remains Free Software.
Yes, exactly. An organization to sell license exceptions to GPL software.
No, that is not what I meant. Maybe that is what you would be interested in, but what I would be interested in is an organisation that allows people to acquire Free Software under the normal licensing terms - no exceptions or alternative licences - in a way that satisfies their organisation's bureaucratic requirements of having a nominated supplier and for there to be a transaction they can record.
Once upon a time, the FSF sold tapes with all the GNU software on them, and I guess there were also paper manuals you could buy. Such things were apparently one way of satisfying such bureaucratic requirements where donations would otherwise be made. What I would be interested in are ways of achieving this in a world where no physical artefacts need to be exchanged.
Paul
Hi!
On 27 Feb 2017, at 14:40, Agner Fog agner@agner.org wrote:
On 27-02-2017 11:06, Mirko Boehm (FSFE) wrote:
You will need permission/license from the other contributors to sell proprietary licenses. You need a scheme that fairly distributes the licensing revenue so that it motivates people to contribute. You could pay out shares of the revenue to them, or you could make it a public service effort by donating a share or all of the proceeds to a organisation with aims that benefit the general public, for example FSFE. A Contributor License Agreement (CLA) can be used to set up such a model. Usually, FSFE would not recommend using CLAs that enable proprietary licensing. However in your situation this is already the case, so in my understanding it would make your software more free (because others can contribute to it). Please be aware that this is not an official FSFE position.
My initial idea was that proprietary users would automatically get a license by donating a certain amount of money to some organization that supports free software, such as FSF. But I understand from this discussion thread that the policy of FSF or FSFE does not allow such a scheme. So I guess this will not work. I don't want to put in a random charity organization because the contributors might have different opinions about which organization to support.
I cannot speak for FSFE, but I think the setup can be made simpler: Anybody can donate to FSFE. Just ask them to provide proof of the donation, and then you give them a license. This way you don’t need any kind of organisation, and no arrangement for handling money.
So I guess the only solution is to use a more permissive license and let proprietary software vendors use the library for free. Right now they are actually paying, but this becomes too complicated if there is more than one contributor to the software library.
I could still encourage commercial users to donate money to FSF or some other organization, but I am not sure whether a voluntary scheme would work. The commercial users want an invoice and a piece of paper that says "license". Some even require that I register into their database of suppliers. Donation to charity doesn't fit into their administrative routines, I guess. Or maybe they can put it on their PR budget or their "Corporate Social Responsibility" budget?
Do you think the FSF will endorse such a scheme? (I can't get access to their mailing list even though I am a member).
As suggested, I would make the scheme consist of two mainly independent parts, where you don’t need approval between the two.
Best,
Mirko.