josdejong / mathjs

An extensive math library for JavaScript and Node.js
https://mathjs.org
Apache License 2.0
14.21k stars 1.24k forks source link

Incorrect Copyright and License for CSparse functions #3162

Closed DrTimothyAldenDavis closed 5 months ago

DrTimothyAldenDavis commented 5 months ago

All of the files in this folder: https://github.com/josdejong/mathjs/tree/develop/src/function/algebra/sparse are direct line-for-line copies of my CSparse libary here: https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source .

A translation of my open-source CSparse software in mathjs can only be done with the correct copyright and license for the package. Please add the following comments to each of the files in https://github.com/josdejong/mathjs/tree/develop/src/function/algebra/sparse:

// Copyright (c) 2006-2024, Timothy A. Davis, All Rights Reserved.
// SPDX-License-Identifier: LGPL-2.1+
// https://github.com/DrTimothyAldenDavis/SuiteSparse/tree/dev/CSparse/Source

The copyright notice should also be added to https://github.com/josdejong/mathjs/blob/develop/README.md:

CSparse: a Concise Sparse matrix package.
Copyright (c) 2006, Timothy A. Davis.
http://www.suitesparse.com

--------------------------------------------------------------------------------

CSparse is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

CSparse is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this Module; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
kgryte commented 5 months ago

For some context, the port to JS happened in 2015: https://github.com/josdejong/mathjs/pull/385

Looks like CSparse was not put on GitHub until 2019: https://github.com/DrTimothyAldenDavis/SuiteSparse/graphs/contributors

Just checking: is it possible that the software was not distributed under the same GPL license (or any license) back in 2015?

DrTimothyAldenDavis commented 5 months ago

No. It has been LGPL for its entire existence.

Sent from Gmail Mobile

On Thu, Feb 22, 2024 at 2:24 PM Athan @.***> wrote:

For some context, the port to JS happened in 2015: #385 https://github.com/josdejong/mathjs/pull/385

Looks like CSparse was not put on GitHub until 2019: https://github.com/DrTimothyAldenDavis/SuiteSparse/graphs/contributors

Just checking: is it possible that the software was not distributed under the same GPL license (or any license) back in 2015?

— Reply to this email directly, view it on GitHub https://github.com/josdejong/mathjs/issues/3162#issuecomment-1960248314, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEYIIOLAI5WMSOKGBNI6AVLYU6SO5AVCNFSM6AAAAABDVJWQVCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRQGI2DQMZRGQ . You are receiving this because you authored the thread.Message ID: @.***>

DrTimothyAldenDavis commented 5 months ago

The CSparse package was published in its entirety in my book, published by SIAM in 2006. https://archive.siam.org/books/fa02 https://epubs.siam.org/doi/book/10.1137/1.9780898718881

And it has been under my copyright, and LGPL, since then (2006).

DrTimothyAldenDavis commented 5 months ago

Here is an example that does it correctly, for a translation of CSparse from my C source into C# :

https://github.com/wo80/CSparse.NET

Note that they preserve my license (LGPL) and copyright.

josdejong commented 5 months ago

Thanks for letting us know Tim Davis. I'm sorry that the attribution was not in place as it should. And big thanks for open sourcing this work in the first place!

For reference: the port of CSparse was added to mathjs in https://github.com/josdejong/mathjs/pull/385

I've created https://github.com/josdejong/mathjs/pull/3164 which adds the license information, @DrTimothyAldenDavis can you review it, please?

DrTimothyAldenDavis commented 5 months ago

Thanks for the update -- it looks great! This resolves this issue. Thanks for the quick update.

I've also added a link to math.js on my SuiteSparse page, so JavaScript users can know about math.js, and its CSparse port in particular: https://github.com/DrTimothyAldenDavis/SuiteSparse?tab=readme-ov-file#interfaces-to-suitesparse

josdejong commented 5 months ago

I've also added a link to math.js on my SuiteSparse page, so JavaScript users can know about math.js, and its CSparse port in particular: https://github.com/DrTimothyAldenDavis/SuiteSparse?tab=readme-ov-file#interfaces-to-suitesparse

Nice, thanks!