[SciPy-user] scipy code contribution question

David Cournapeau david@ar.media.kyoto-u.ac...
Thu Jul 5 00:33:33 CDT 2007

Lev Givon wrote:
> Perhaps I am reading too deeply into the code, but it seems that a few
> (but not all) of the scipy filter design functions (e.g., buttord,
> cheb1ord) bear more than a passing similarity to their Matlab
> counterparts insofar as their internal structure or logical flow are
> concerned. (On the other hand, perhaps the published descriptions of
> the filter design techniques in question are sufficiently explicit as
> to lead to structural similarity in most independent implementations.)
As everybody here I guess, IANAL, but the safest thing to do is to 
explicitely ask the mathworks. What is derivative work is a gray area, 
and there is no way to be sure before going to court; implementing 
something by reading source code is certainly not a good idea, and is 
explictely forbidden in most open source projects which "copy" known 
softwares (ReactOS and Wine for windows, samba, etc...); reverse 
engineering is more or less acceptable, but not always, and not in the 
same way in every country.
> Insofar as the item that prompted my first message, I desire a filter
> design function similar to others currently available in scipy to
> facilitate the construction of FIR filters with the Remez algorithm
> (i.e., something similar to the remezord or firpmord functions in
> Matlab) given some typical design parameters (e.g., band cutoff
> frequencies, ripple constraints, etc.). As the relevant algorithms
> needed by such a filter design function are not overly complicated, I
> could look them up an appropriate DSP text or paper and try
> implementing them completely from scratch (unless some generous soul
> reading this list has already done so :-)
That would be the best thing to do. When you reimplement something for 
scipy, but coming from open source software, you can also ask with the 
copyright holders if this is Ok to copy some parts (eg rereleasing them 
under BSD; that way, it can be incorporated in scipy, and the original 
authors can still use GPL). Even if there is a strong focus on the law 
in the licenses, open source is really about what's considered fair and 
not fair, and at least in my experience, I had no difficulty in taking 
some part of matlab scripts under the GPL, adapt them for scipy and put 
them under the BSD (eg getting the explicit consent of the GPL code to 
release the parts I used under the BSD).


More information about the SciPy-user mailing list