MAJA V4 soon to be released as open source software
CESBIO is the home of a highly motivated bunch of open source software advocates ! Let’s have a look at some the main softwares to which CESBIO members contributed, and which are available on various git platforms :
- the father of Orfeo Toolbox is at CESBIO
- WASP (monthly syntheses of Sentinel-2 images),
- LIS (Snow cover from Sentinel-2
- Iota2 (land cover classification)
- S1-Tiling (Ortho-rectification of Sentinel-1 tiles onto Sentinel-2 grid
But one of our softwares was only distributed freely as a binary package, and not as an open source package : MAJA. As far as Sentinel-2 is concerned, MAJA is the most reliable processor for cloud detection, and one of the good ones for atmospheric correction. This is due to the use of multi-temporal methods, that use more information than single image methods. MAJA was developped by CNES, even if most of the algorithms were defined at CESBIO, and a couple of them at DLR.

Why was MAJA not open source ? Well, CNES used to be quite reluctant to distribute its software as open source. My own interpretation is that it comes several reasons :
- a long military tradition, and therefore the habit of keeping some things secret
- a strong pressure from our government to value our developments
- CNES mandate to contribute to building of a strong French space industry. there used to be a belief that protecting our developments could give an advantage to French companies in the European competition.
Maybe I’m wrong on my interpretation, but anyways, four years ago, our proposal to release MAJA as open-source was rejected, even if CNES accepted to distribute MAJA as a free binary package. But we filed the same demand in 2020, and this time, last friday, the release of MAJA as an open source software was finally accepted !

MAJA’s products within Theia have been downloaded by 2023 persons (as of February 2020). MAJA’s binary code has been downloaded more than 500 times per year, 1530 times so far. MAJA is also used by DLR, by Venµs project, within the Sen2Agri and Sen4Cap systems, or in the EEA snow and ice project. Although the core of MAJA code is in advanced C++ (with templates, functors…), we know some of our users are able to bring contributions. Moreover, in MAJA 4.0, the interfaces management is written in python. Users will have the opportunity to modify the read/write drivers for a better integration in their workflow. Moreover, as MAJA becomes open source, users have the guarantee to be able to go on using MAJA, even if one day, CNES ends its development. But don’t worry, MAJA will be used for Trishna mission, and should therefore live and evolve for 10 more years.
This is why my CNES colleagues asked CS-SI, the company in charge of MAJA’s development, to do a large mondernization of MAJA’s code, introducing an orchestrator and input/output drivers writtent in python instead of C++. The core modules are still written in C++, but their interfaces are now those of Orfeo Tool Box applications. This large refactoring was the main purpose of MAJA V4. it is currently under validation, and the last bugs are being corrected. We should be releasing MAJA’s source code and executable version in a few weeks.