Difference between revisions of "Summary of PSC Decisions"

From OTBWiki
Jump to: navigation, search
([RFC] [WIP] Changing licence to Apache v2.0)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=== [RFC] Remove our internal patched version of libSVM and the classes using the modified libSVM API ===
+
* [[RFCs implemented in OTB 5.0]]
  
==== RFC status ====
+
* [[RFCs planned for OTB 5.2]]
* Submitted by Julien Michel (18/03/2015 13:04)
+
* Accepted by PSC +3 / 0 (19/03/2015 14:13)
+
* Merged in Orfeo ToolBox 4.4.5 (23/03/2015 15:24)
+
  
==== RFC content ====
+
* [[RFCs open to vote]]
===== What changes will be made and why they will make a better Orfeo ToolBox =====
+
  
For now we have an internal version of libSVM, which is patched to add the generic kernel capability, and add a few more functions (to clone a SVM model struct for instance).
+
* [[RFCs not related to any release, or not yet planned]]
  
However :
+
* [[Rejected RFCs]]
* The generic kernel capability is not widely used (for instance it is not reported in classification applications), and its code is not very clean (doubtful operations on memory allocation with LibSVM struct ...)
+
* The patches prevent us to follow new libSVM releases and benefit from libSVM packages on target systems,
+
* For OTB 5.0, we now have a policy of "as few embedded third party as possible" and the generic kernel patches are the only reason why we can not use an external libSVM.
+
 
+
I therefore propose :
+
* To remove completely the internal LibSVM version in Modules/ThirdParty/LibSVM and to do a plain cmake find_package() instead,
+
* To remove all code and tests relying on the patched libSVM API. This means generic kernel classes and a few calls in SVMModel that need to be reworked,
+
* To create a remote module on a git repository containing the patched libSVM and the removed classes and tests, so that they will still be available if really needed by someone.
+
 
+
=====  When will those changes be available (target release or date) =====
+
 
+
These changes will be available for next release (OTB 5.0)
+
 
+
=== [RFC] Edison : remove our internal version ===
+
 
+
==== RFC status ====
+
* Submitted by Guillaume Pasero (24/03/2015 15:53)
+
* Accepted by PSC +3 / 0 (07/04/2015 10:44)
+
* Merged in Orfeo ToolBox 4.4.5 (16/04/2015 16:50)
+
 
+
==== RFC content ====
+
===== What changes will be made and why they will make a better Orfeo ToolBox =====
+
 
+
Edison is the original mean-shift implementation in OTB. It doesn't support streaming by itself, and it is now redundant with a pure OTB large scale mean-shift implementation. A first step has been made to cut mandatory dependencies to Edison (here). The next one is to remove this third party from sources.
+
 
+
The following actions are foreseen:
+
* Remove modules 'Edison' and 'EdisonMeanShift'
+
* Remove deprecated code in other modules to use Edison
+
* Replace in Monteverdi1 the features using Edison (in some cases they may be removed)
+
 
+
=====  When will those changes be available (target release or date) =====
+
 
+
These changes will be available for next release (OTB 5.0)
+
 
+
=====  Who will be developing the proposed changes =====
+
 
+
An OTB developer (CS team) familiar with this issue. There is an associated task on Jira (OTB-776).
+
 
+
=== [RFC] OpenJPEG : remove internal version ===
+
 
+
==== RFC status ====
+
* Submitted by Guillaume Pasero (25/03/2015 10:06)
+
* Accepted by PSC +3 / 0 (08/04/2015 16:22)
+
* Changesets pending
+
 
+
==== RFC content ====
+
===== What changes will be made and why they will make a better Orfeo ToolBox =====
+
 
+
OpenJPEG is used in OTB to read jpeg2000 images. It is integrated in a specific otb::ImageIO. Originally, a non official release of OpenJPEG has been used and is compiled inside OTB. These sources are planned to be removed from OTB. Instead, an external OpenJPEG (last official release) will be used, using a 2.0 API.
+
The following actions are foreseen:
+
* remove OpenJPEG sources from 'Modules/ThirdParty/OpenJPEG', use a find_package() instead
+
* refactor otb::JPEG2000ImageIO to support the new API of OpenJPEG
+
 
+
Note : the driver otb::JPEG2000ImageIO is used when GDAL doesn't have a compatible JPEG2000 driver. If GDAL is built with a compatible JPEG2000 driver (OpenJPEG, Kakadu, ...), OTB will read J2K images using the otb::GDALImageIO driver.
+
=====  When will those changes be available (target release or date) =====
+
 
+
These changes will be available for next release (OTB 5.0)
+
 
+
=====  Who will be developing the proposed changes =====
+
 
+
An OTB developer (CS team) familiar with this issue. Mickael Savinaud has done some work on the refactoring. There is an associated task on Jira (OTB-778).
+
 
+
 
+
=== [RFC] [WIP] Changing licence to Apache v2.0 ===
+
 
+
==== RFC status ====
+
* Not submitted yet
+
 
+
==== RFC content ====
+
===== What changes will be made and why they will make a better Orfeo ToolBox =====
+
 
+
 
+
The goal is to change of licence for OTB, to adopt the Apache v2.0 licence. The rational for this change is as follows :
+
 
+
Copyleft is a very good protection for open-source software in general, since it ensures that it will remain open, but in our remote sensing world it can also lesser the dissemination of our software. Many time we heard of situations were OTB was considered by institutions or private companies for their projects and has been wiped off the table because they (or their clients or partners) wanted to distribute the resulting software under different terms. Sometimes, costly ad-hoc technical designs are used so as to include OTB in the project while distributing it under those required terms. We could argue that this is a matter of convincing everyone that copyleft is not harmful and that OTB is worth the price, but in the mean time OTB get less audience than deserved ... From a practical point of view it could do no harm to simply change the licence to a more permissive one. This might help to develop OTB usage and eventually get more people involved in contributions.
+
 
+
====== Roadmap ======
+
 
+
* Check compatibility of OTB third party
+
** List external third-part
+
** List internal third-part
+
 
+
* Contributors
+
** Signed agreement of contributors for license modification (adaptated from Apache Software Grant)
+
 
+
=====  When will those changes be available (target release or date) =====
+
 
+
These changes will be available for next release (OTB 5.0)
+

Latest revision as of 10:29, 1 September 2015