Severe Licensing Issues

76 views
Skip to first unread message

Hanns Holger Rutz

unread,
Oct 28, 2013, 9:51:27 AM10/28/13
to scalalab-...@googlegroups.com
Hello,

today I wanted to give ScalaLab a try, so I cloned the git repository, trying to build from source. After hacking around to make it compile with sbt, I took a look at the organisation of the project.

Apart from being extremely chaotic, with libraries mixed in the main sources, I am shocked to see that you do not seem to have any ideas of how Open Source Licensing works. You seem to have the idea that because something is open source, you are free to vandalise it as you please. Open Source != Public Domain

With all due respect to your work, I ask you to instantly rectify the copyright situation of your repository which is publicly hosted on Google Code.

The front page of that project states that you wish to license ScalaLab under BSD style terms. On the other hand, I can immediately identify a library I wrote (ScalaInterpreterPane - https://github.com/Sciss/ScalaInterpreterPane) in the main source directory, being pretty much vandalised:

- you removed the Copyright headers. WTF?!
- you modified the code without leaving any notes about it
- you do not include or mention the original license of that library, which is the GNU Lesser General Public License !
- you use my package prefix de.sciss.interpreter pane to add your stuff, which comes close to defamation, because that code is horribly written and I do not wish to be identified with it !!!

Please make yourself familiar with the terms of the LGPL: https://www.gnu.org/licenses/lgpl-2.1.txt

Specifically, while you can _link_ to an unmodified LGPL library without having to release your code under that same license, this is not the case if you are mixing the source seamlessly with your main sources and/or you modify the library. Let me quote this:

  2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) The modified work must itself be a software library.

    b) You must cause the files modified to carry prominent notices
    stating that you changed the files and the date of any change.

    c) You must cause the whole of the work to be licensed at no
    charge to all third parties under the terms of this License.

    d) If a facility in the modified Library refers to a function or a
    table of data to be supplied by an application program that uses
    the facility, other than as an argument passed when the facility
    is invoked, then you must make a good faith effort to ensure that,
    in the event an application does not supply such function or
    table, the facility still operates, and performs whatever part of
    its purpose remains meaningful.

    (For example, a function in a library to compute square roots has
    a purpose that is entirely well-defined independent of the
    application.  Therefore, Subsection 2d requires that any
    application-supplied function or table used by this function must
    be optional: if the application does not supply it, the square
    root function must still compute square roots.)


It is needless so say that you bluntly violate items a) and b). This is probably due to your ignorance, and I do not wish to pursue any further steps if you take the necessary actions to rectify this situation:

- either use a dependency management mechanism to state your usage of the library
  ; or put the sources into a dedicated sub-project/library sources folder which is not associated with the main sources
- restore the original copyright notices
- prominently indicate the files which you have modified
- include the original license as a separate file
- move your own extensions into your package structure instead of using de.sciss


This should not be too difficult.

Sincerely,

Hanns Holger Rutz


P.S.: Since you include dozens of other libraries, it would be advisable that you clarify the licenses of these, too.

Hanns Holger Rutz

unread,
Oct 28, 2013, 9:53:57 AM10/28/13
to scalalab-...@googlegroups.com
Am Montag, 28. Oktober 2013 14:51:27 UTC+1 schrieb Hanns Holger Rutz:

It is needless so say that you bluntly violate items a) and b). 

and c) actually 

Hanns Holger Rutz

unread,
Oct 28, 2013, 10:20:52 AM10/28/13
to scalalab-...@googlegroups.com
P.S.: Since you include dozens of other libraries, it would be advisable that you clarify the licenses of these, too.

You are going to have trouble with "Numerical Library For Java for Scientists & Engineers" (Hang T. Lau) whose jar is in the repo. This apparently comes from a book, and I would be very careful to assume that you can freely distribute it. The same goes for Numerical Recipes... which is a famous case of suckers who forbid redistribution of their code. 

Stergios Papadimitriou

unread,
Oct 28, 2013, 10:50:39 AM10/28/13
to scalalab-...@googlegroups.com

Dear Rutz,

I left your package name de.sciss,
in order to remind the readers of the code,
that the code of the scalainterpreterpane derives from the code you wrote.
I will remove that name, according to your request.

I removed some copyright headers in order to consume less paper when I print the source files,
I will restore some of them.

As for the code from the books, I think that ScalaLab advertises the books,
the ScalaLab user has more motives to buy the books in order to understand the code,
and I say the best words for those books.

In any case, I do not have any commercial motivations,
I use ScalaLab only as a research and educational tool and
I want and other users/students/scientists to be able
to use such an open tool.

Regards

Stergios
--
You received this message because you are subscribed to the Google Groups "ScalaLab Scientific Programming Development group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scalalab-dev-gr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

LetterYMeansO InMyEmail

unread,
Nov 19, 2013, 6:56:15 AM11/19/13
to scalalab-...@googlegroups.com
Le lundi 28 octobre 2013 15:20:52 UTC+1, Hanns Holger Rutz a écrit :
You are going to have trouble with "Numerical Library For Java for Scientists & Engineers" (Hang T. Lau) whose jar is in the repo. This apparently comes from a book, and I would be very careful to assume that you can freely distribute it.
 
This was already reported to Stergios nearly three years ago: http://www.scala-lang.org/old/node/8491

I am now porting the root-finding numerical integration algorithm Radau5 to Scala, with following interface:

abstract class simule_plans_events_scala (val ode_ :planif_sequentielle_Event, val opt_dtheta_dp__ : Array[Array[Double]], val nx_ : Int, val np_ : Int, val info_palier__ : Array[Array[Double]])  {
def integrate_radau5(ts_ :Array[Double], xs0_ :Array[Double],info_palier_ :Array[Double],data :Array[Double]):Array[Array[Array[Double]]]
}

and the equations ODE to integrate can be written as:

package myPackage
import scalaSci.EJML.Mat
import scalaSci.EJML.StaticMathsEJML._
import scalaSci.EJML._
class scala_ODE(val nx_ : Int, val theta_ : Array[Double], val phi_ : Array[Double]) extends fr.inra.jouy.calipro.reactial.simule_plans_events.planif_sequentielle_Event {
def events(t:Double,x:Mat,ie:Int,nx:Int,info_palier:Mat):Array[Mat] = {...}
def dx_dt(t_arg:Double,xs:Mat,info_palier:Mat,n:Int):Array[Mat] = {...} 
}

Please contact me if you are interested.


Stergios Papadimitriou

unread,
Nov 19, 2013, 7:09:15 AM11/19/13
to scalalab-...@googlegroups.com

Hi,

the Radau5 integration algorithm is interested.

If you want, make a wiki page describing and presenting your work,
and send it to me, to publish your whole page, at the ScalaLab's wiki.

Regards
Stergios
> am now porting the root-finding numerical integration algorithm Radau5
> to Scala, with following interface:
>
> abstract class simule_plans_events_scala (val ode_
> :planif_sequentielle_Event, val opt_dtheta_dp__ :
> Array[Array[Double]], val nx_ : Int, val np_ : Int, val info_palier__
> : Array[Array[Double]]) {
> def integrate_radau5(ts_ :Array[Double], xs0_
> :Array[Double],info_palier_ :Array[Double],data
> :Array[Double]):Array[Array[Array[Double]]]
> }
>
> and the equations ODE to integrate can be written as:
>
> package myPackage
> import scalaSci.EJML.Mat
> import scalaSci.EJML.StaticMathsEJML._
> import scalaSci.EJML._
> class scala_ODE(val nx_ : Int, val theta_ : Array[Double], val phi_ :
> Array[Double]) extends
> fr.inra.jouy.calipro.reactial.simule_plans_events.planif_sequentielle_Event
> {
> def events(t:Double,x:Mat,ie:Int,nx:Int,info_palier:Mat):Array[Mat] =
> {...}
> def dx_dt(t_arg:Double,xs:Mat,info_palier:Mat,n:Int):Array[Mat] = {...}
> }
>
> Please contact me if you are interested.
>
>

Hanns Holger Rutz

unread,
Nov 22, 2013, 10:59:27 AM11/22/13
to scalalab-...@googlegroups.com
Dear Stergios Papadimitriou,

I was under the impression that my mail unambiguously outlined the problem with the way my work (ScalaInterpreterPane) is used in your project.

While you promised to rectify this problem, unfortunately I can observe that you have not acted in that way. I can see a newly published version of your project


still exhibiting this problem without any visible change.

I must ask you to reconsider my mail and eliminate these problems. If I cannot see any change in your behaviour towards abiding to Open Source licenses, I will take successive steps such as contacting GNU and Google/Chilling Effects about the project site.

These are easy to resolve problems and I cannot see what is difficult about incorporating other peoples' work in the appropriate way.

Thank you for your understanding.

Sincerely, Hanns Holger Rutz
To unsubscribe from this group and stop receiving emails from it, send an email to scalalab-dev-group+unsub...@googlegroups.com.

Stergios Papadimitriou

unread,
Nov 22, 2013, 11:54:23 AM11/22/13
to scalalab-...@googlegroups.com
Dear Rutz,

with future versions of ScalaLab,
IοΏ½ publish only the most essential
ScalaSci component of ScalaLab,
and not the GUI
and libraries related code.

I think this solves the licensing problems.
Also, the reader will not confused with a very complex codebase.

Best Regards

Stergios


οΏ½οΏ½οΏ½οΏ½ 22/11/2013 5:59 οΏ½οΏ½, οΏ½/οΏ½ Hanns Holger Rutz οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:
Dear Stergios Papadimitriou,

I was under the impression that my mail unambiguously outlined the problem with the way my work (ScalaInterpreterPane) is used in your project.

While you promised to rectify this problem, unfortunately I can observe that you have not acted in that way. I can see a newly published version of your project


still exhibiting this problem without any visible change.

I must ask you to reconsider my mail and eliminate these problems. If I cannot see any change in your behaviour towards abiding to Open Source licenses, I will take successive steps such as contacting GNU and Google/Chilling Effects about the project site.

These are easy to resolve problems and I cannot see what is difficult about incorporating other peoples' work in the appropriate way.

Thank you for your understanding.

Sincerely, Hanns Holger Rutz



Am Montag, 28. Oktober 2013 15:50:39 UTC+1 schrieb Stergios Papadimitriou:

Dear Rutz,

I left your package name de.sciss,
in order to remind the readers of the code,
that the code of the scalainterpreterpane derives from the code you wrote.
I will remove that name, according to your request.

I removed some copyright headers in order to consume less paper when I print the source files,
I will restore some of them.

As for the code from the books, I think that ScalaLab advertises the books,
the ScalaLab user has more motives to buy the books in order to understand the code,
and I say the best words for those books.

In any case, I do not have any commercial motivations,
I use ScalaLab only as a research and educational tool and
I want and other users/students/scientists to be able
to use such an open tool.

Regards

Stergios

οΏ½

οΏ½οΏ½οΏ½οΏ½ 28/10/2013 3:51 οΏ½οΏ½, οΏ½/οΏ½ Hanns Holger Rutz οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:
Hello,

today I wanted to give ScalaLab a try, so I cloned the git repository, trying to build from source. After hacking around to make it compile with sbt, I took a look at the organisation of the project.

Apart from being extremely chaotic, with libraries mixed in the main sources, I am shocked to see that you do not seem to have any ideas of how Open Source Licensing works. You seem to have the idea that because something is open source, you are free to vandalise it as you please. Open Source != Public Domain

With all due respect to your work, I ask you to instantly rectify the copyright situation of your repository which is publicly hosted on Google Code.

The front page of that project states that you wish to license ScalaLab under BSD style terms. On the other hand, I can immediately identify a library I wrote (ScalaInterpreterPane - https://github.com/Sciss/ScalaInterpreterPane) in the main source directory, being pretty much vandalised:

- you removed the Copyright headers. WTF?!
- you modified the code without leaving any notes about it
- you do not include or mention the original license of that library, which isοΏ½the GNU Lesser General Public LicenseοΏ½!
- you use my package prefix de.sciss.interpreter pane to add your stuff, which comes close toοΏ½defamation, because that code is horribly written and I do not wish to be identified with it !!!

Please make yourself familiar with the terms of the LGPL:οΏ½https://www.gnu.org/licenses/lgpl-2.1.txt
To unsubscribe from this group and stop receiving emails from it, send an email to scalalab-dev-gr...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages