Quansight-Labs / numpy.net

A port of NumPy to .Net
BSD 3-Clause "New" or "Revised" License
128 stars 14 forks source link

How the license is different from simply MIT license? #27

Closed GeorgeS2019 closed 2 years ago

GeorgeS2019 commented 2 years ago

@KevinBaselinesw numpy.net has the potential to be integrated into other .NET frameworks. A standard MIT would help.

Reference

KevinBaselinesw commented 2 years ago

Please explain what you mean. The library already is compiled on .net standard 2.0 and has been verified to run on windows, linux and xamarin.

I don't really know the difference between the MIT license and the BSD license. If I remember correctly, I was advised/suggested to use the BSD license by the actual Numpy team.

GeorgeS2019 commented 2 years ago

@KevinBaselinesw

There are three other .NET approaches to numpy

Numpy.NET - MIT https://github.com/SciSharp/Numpy.NET/blob/master/LICENSE

NumSharp -Apache-2.0 https://github.com/SciSharp/NumSharp/blob/master/LICENSE

NumSharp.Lite -Apache-2.0

I am not qualified to state why there are different licenses approaches to numpy.

However, having a standard license is the first step toward interoperability. Perhaps by referencing this issue, you could get a better clarification on which standard license to adopt.

It seems there is active development with NumpyDotNet, this is encouraging and hopefully, others could find many ways to make use of it.

GeorgeS2019 commented 2 years ago

@KevinBaselinesw

Additional Notes from Numpy.NET: The C# wrapper is licensed under MIT License (see below) The redistributed NumPy binaries, the embedded CPython distribution, the pythonnet runtime, are all licensed under their respective licenses.

KevinBaselinesw commented 2 years ago

Is there a problem with the BSD license that makes it unusable for you? My intention is for it to be usable by anyone.

I haven't dug into it too deeply but I think the SciSharp tools are all of the same basic technology which means that wrap/interop with the python libraries that are installed on the machine. It is a pretty clever approach but I don't know how well it works for people in the real world. Obviously it is not acceptable if you want a pure .NET solution which is what I am providing.

GeorgeS2019 commented 2 years ago

@KevinBaselinesw

The C and the Python code of Numpy have been ported to C#.

Again I am not qualified. If you are porting instead of wrapping. I think adopting a MIT license WILL BE A GREAT positive and welcome to the .NET community.

Sometimes, when one asks the question, the person replied with the standard one (e.g. BSD) which has been asked again and again. e.g. Numpy.NET without digging into details that you are actually porting.

I hope you do allocate sometimes and hopefully, this will be a MIT license with "clauses" for help from the .NET community on what best to do.

AGAIN => great job!!!

GeorgeS2019 commented 2 years ago

A pure .NET solution which is what I am providing

@KevinBaselinesw This is relevant to the .NET community. Do try making it an MIT license.

KevinBaselinesw commented 2 years ago

I am unsure of what I can do. If I change the license to MIT then I may break existing customers who are using the library with the BSD license. Can I use both licenses at the same time?

Can you explain a little bit more clearly what you are trying to accomplish by me changing the license to MIT? What is it about the existing BSD license that makes this undesirable by you or anyone developing software with this tool? I have read both the BSD license and the MIT license and I don't see any significant difference in them. Please clarify what your intent is.

GeorgeS2019 commented 2 years ago

@KevinBaselinesw

As an example https://github.com/orgs/TheAlgorithms/repositories

Most of the languages offer as MIT license while csharp offer that as non MIT, something I could not understand what is wrong with the .NET communities

This is COMMON among .NET communities. .NET projects tend to have a more restrictive attitude, which could be subconsciously propagated without being aware of the hindrance for growth.

An MIT license offers a positive spirit for collaboration that is KEY to growing.NET communities

Algorithm projects MUST aim for wide use and MIT is clearly the BEST signal for that. If you aim for wide use, go for unquestionable MIT.

If there is no difference between MIT and BSD, some of these algorithm projects would have adopted BSD and not stuck to MIT. Likewise for Microsoft open source projects. Do you find any BSD among these Microsoft open source projects?

image image

GeorgeS2019 commented 2 years ago

If you want to keep it BSD, please consider the following way

image

image

BSD 3-Clause License

Copyright (c) 2018, Zhongkai Fu
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
  list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

* Neither the name of the copyright holder nor the names of its
  contributors may be used to endorse or promote products derived from
  this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
KevinBaselinesw commented 2 years ago

I made a small change that looks like it might meet your needs.