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 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 !!!
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.