wildfoundry / dataplicity-agent

Dataplicity Agent
https://www.dataplicity.com/
Other
166 stars 32 forks source link

License should not be called a modified BSD license #88

Closed diademiemi closed 1 year ago

diademiemi commented 1 year ago

Hi, I see that this repository is licensed under what the README and License file describes as a "modified" or "extended" BSD license.

I take issue with this since the two added bullet points do not meet the Open Source Definition. Because of that, I believe calling this a modified BSD license is dishonest, since the active license is not in the spirit of the BSD 3 clause it is based on.

Clause 4 violates the first criteria of the OSD, which is free redistribution. I have no issue with copyright and it would be fair to keep this, but despite of this still calling it a BSD license still (which meets the OSD) I believe is not right.

Clause 5 does not fit in a license for redistribution, rather this would be better for for a [CLA (Contributor License Agreement)](Contributor License Agreement).

I'm not a lawyer, but these are my observations.

barfle commented 1 year ago

Hello

Thanks for the time you have taken to offer your comments. I am responding to your query directly as it is important to us that we are seen as the good citizens that we believe we are.

Probably the first thing to highlight in framing my response is that this code is agent code which is closely tied to the provision of a commercial service. It is not code that has any general applicability to any audience outside this context.

The reference you highlighted and the description of the licence in documentation as a 'modified-BSD' licence was done in the interest of clarity and brevity. Rather than dishonest, we believed that by drawing reference to an established licence and highlighting the differences, the resulting text would be more clear in wording and less verbose in documentation references than any alternative we came up with.

We also believed that as far as licences go, this licence was sufficiently clear and broad that it would minimise the need for commercial legal review among our user base, many of whom are individuals and startups with little capacity in this regard.

I appreciate, however, that you may also looking at this through a slightly different lens - ie that of what is truly open source and what is not.

Our intent is not to pollute the Open Source Definition you linked to. Indeed if this is your benchmark, then we make no claim to meet it with dataplicity-agent. This repository contains openly viewable source code with usage and distribution rights limited to those in the license definition.

Our core objectives in the licensing of this code were to allow for distribution in the context of the DATAPLICITY service and to allow broad inspection of code that we utilise on customer devices.

The reason we did not opt for a traditional open source licence was because this code has fairly limited practical value outside the scope of the DATAPLICITY commercial service. Maintaining true open source projects, as many will know, brings governance and support issues which rack up cost regardless of the applicability of the code in question. Since we already support this code commercially, we felt that operating this agent code as an open source project did not really add any value to anyone - us, our customers, or the general public.

I would also like to point out that we are certainly not averse to open source licences generally. We routinely make public and private upstream contributions, and have released a substantial contribution to Python under more common terms with dataplicity-lomond. In each of these cases we saw value to being 'a good citizen' given that we also use, respect, and contribute to OSD-compliant code.

In the case of Lomond, we had spent six months prior to that release bashing our heads against stability issues with the available Python websocket implementations. Once we had solved for our own needs, we knew we had solved a problem for many, so we spent more time to polish it up and released it to the general public under an OSL compliant license. We continue to support it to this day.

Unlike Lomond, dataplicity-agent remains limited in its applicability given that it is by its nature tied to a commercial service. We will continue to publish the source code openly and support it commercially.

Does this adequately address the concerns you have raised? I look forward to your response.

Regards Elliot