On Wed, Sep 21, 2011 at 9:35 AM, Andreas Mueller email@example.com wrote:
vlfeat is gpl. Is it possible to include gpl code int scikits.image and still release it under BSD license (which is the current scikits.image license, right?) ?
Unfortunately not. Almost the entire scientific software stack (python, numpy, scipy, ipython, matplotlib, scikit-learn, etc.) are all BSD; we have great interaction with people from industry (who shy away from the GPL due to its viral nature), and we do not want to risk those collaborations. I also don't like that GPL projects can take from BSD projects, but that any improvements they make then cannot be contributed back.
That said, many open source projects are simply unaware of these issues, and gladly re-license certain portions of their code upon request. Some good examples are the CellProfiler team's great morphology code (currently a pull request, being merged), or Nocedal's BFGS code that he relicensed BSD for inclusion in SciPy.
I saw there was also a discussion about making opencv an dependency. Wouldn't it be possible to just include some of the optimized code without actually using the whole library? Or is there to much infrastructure in opencv that gets used?
After conversing with several people at the EuroSciPy conference, I realised that this would be a bad idea. People simply don't want such a heavy dependency. But your suggestion is the right one: we'll borrow code where needed (e.g. star features), and send improvements back to the opencv team as they come up.
I'm not a big fan of opencv but I guess there is some fairly optimized code there that scikits.images might want to use.
OpenCV is crazy fast. Pieter Holtzhausen, as part of his google summer of code, implemented an SSE2 convolution, which almost gets to the OpenCV speed; point is--it takes a lot of manual effort to beat their code speedwise. Of course, with all the Python scientific tools at our disposal, we gain plenty of other benefits that C cannot provide.