Newer
Older
#+STARTUP: beamer
#+INCLUDE: "template-beamer.org"
#+latex_header: \subtitle{ORFEO ToolBox license change from CeCILL to Apache : diary of a long journey}
* Introduction
*** About me
- My name is [[https://wiki.osgeo.org/wiki/User:Grizonnetm][Manuel Grizonnet]]
- I work at CNES (the French Space Agency)
- I am involved in the Open Source library for remote sensing image processing Orfeo ToolBox
- Also an occasional contributor to OSGeo-Live, OSSIM and QGIS
*** Topic
- Talk about changing the license of a ten years old open source project
- the /strategy/ that we used to change the license of a 10 years old project
- Why we decide to make this change, things that we learn
- More generally how the OTB governance works
- Recap of the OTB OSGeo incubation process
- A *C++ library* for image processing, based on ITK
- *90+ remote sensing applications*
- *Monteverdi*, a satellite image viewer (hardware accelerated, raw products)
- Accessible from C++, Bash, GUI, Python, QGIS, Monteverdi, WPS (Zoo)
- *Big Data* (buzzword detected here!) capable, thanks to built-in streaming, multithreading
- Apache v2.0 license (since release 6.0) before CeCILL v2
- Funded and developed by CNES (French Space Agency)
- Used at CNES, ESA, mission exploitation platforms, remote sensing labs, teaching\ldots
- Built on the shoulders of giants (ITK, GDAL, OSSIM, OpenCV\ldots)
- *An OSGeo project since July 2017!*
** Feature extraction
#+LATEX:\begin{center}
#+ATTR_LATEX: :float :width 0.8\textwidth
[[file:images/saint_paul_lsd.png]]
#+LATEX:\end{center}
** Segmentation
#+LATEX:\begin{center}
#+ATTR_LATEX: :float :width 0.8\textwidth
[[file:images/segmentation.png]]
#+LATEX:\end{center}
** Large scale supervised classification (CESBIO - OSO project)
#+LATEX:\begin{center}
#+ATTR_LATEX: :float :width 0.8\textwidth
#+LATEX:\end{center}
* Moving from CeCILL to Apache
** Before talking about license change
- Changing the license can be a pain to deal with
- But technical details like code review, CLA, Copyright are perhaps not the most
- So I will talk more about governance, about communication with the community\ldots
- \ldots and less about technical details of the license change
- Explain how OTB starts by setting up a more open governance first with a Project
Steering Committee
- And how to deal about big changes like this in the most open "way"
** OTB history
- Start in 2006
- Mostly supported from the French Space Agency CNES
- Always encourage and integrate contributions
- Code, documentation, mailing lists, everything is public since the beginning
- Try to follow as much as possible open standards
- People who started the project were great FLOSS advocates
** OTB decision making process before the PSC
*** the benevolent dictatorship dynasty
*** Who makes feature requests
- Users from Orfeo CNES program (main funding source for 8 years)
- Users from mailing list
*** Who decides
** Why changing in 2015?
*** Transparency
- Users are often informed afterward of major changes
- No insight on motivations behind some decisions
- Difficult to participate in decision making
- OTB is a big project now, someone may want to get involved more deeply
*** For more, easier contributions
- what was the process for contributing code to OTB?
- how can I know if my contribution will be accepted?
- if I contribute a lot, do I get a grip on decision making?
*** For sustainability
- What if, one day, CNES stops funding OTB at the current level?
- We need new actors to be able to get involved in OTB!
** OTB project Steering Committee
- In 2015 CNES decided to set-up an open-governance for OTB
- We now have a working PSC, with:
- Members
- Rules
- Decisions
- PSC scope:
- roadmaps
- communication
- contribution management
- release planning
- \alert{Handling legal issues}
- "PSC should help to guarantee that OTB remains open and company neutral."
- Inspired by existing governance (status,rules) and especially by OSGeo
projects like GRASS GIS, GDAL, QGIS
** OTB decision making process
1. *Request for Comments*
2. Comments and discussions
3. Developments
4. *Requests for changes*
5. Review
6. PSC Vote
7. *Request for Merge*
8. Approval by Release Manager
9. Merge
** ... for users
- Every significant ongoing or passed change is now public and visible
- Users have the opportunity to comment on pending Request for Changes during review
- There are more details available on why and how things were done (and discussions)
- Users can file new Request for Comments to request new features
- Releases are more frequent
** ... for contributors
- There is a clear and detailed process on how to get your code in OTB
- Contributors are guaranteed to be treated with equity
- They know the deadline to get their feature into next release
** Are we making a better OTB?
On the overall, I think that we do.
- We have more code reviews, from external reviewer (even if PSC is still small)
- Changes are more consistent because they belong to the same RFC
- Everyone gets to give his opinion
- New features are more visible
*** It creates the structure to deal with more controversial changes
- License
- Version control system
- Refactoring
**
#+LATEX:\begin{center}
#+ATTR_LATEX: :float :width 0.8\textwidth
[[[[file:images/blog-wind.png]]
#+LATEX:\end{center}
- The license change consideration starts in the same time as the governance
set up
- Also closely related with the OSGeo incubation process as it was one of the
goal of the PSC to complete the application to OSGeo
- CeCILL is not a very common license (even if it is compatible with GPL and OSI approved since 2013)
- Strategy: OTB position in the GIS and image processing pipelines
- Strong relationship with ITK (image processing library) distributed under
the Apache v2 license
- In the current context where OTB can be useful, copyleft may also restrict
the use of the library for some potential users and contributors
- This licensing change also means in our case better management of contributors (CLA and ICLA)
- Copyleft is a very good protection for open-source software in general
- But OTB was considered by many institutions and companies as part of their project
- Cause individual and expensive schemes to include OTB in projects and still respect the license requirements
- From a practical standpoint, think that a more permissive license could only increase interest in OTB
- From both a strategic and an operational point of view I hope that it is a good
** Conclusion about license change 1/2
- Follow guidelines provided by OSI, GNU, Apache foundation\ldots
- Doing a code review is a long and hard work (especially for a library like
OTB - more than 500k lines of code)
- But you always learn things doing a code review
- Think twice before integrating code/libs without a license
- It helps a lot for OTB to maintain properly contributions since the
beginning
- Helps from a lawyer at CNES (P. Maurette) and S. Dinot from the dev team
- Changing license should follow at the end the same acceptance mechanism as new features (pull request, RFC...)
** Conclusion about license change 2/2
- For most users changing the license will not change a lot the way that they use OTB
- Communication is important
* OSGeo incubation
** OSGeo incubation
Once upon a time OTB started the OSGeo incubation
** How does it start?
#+LATEX:\begin{center}
#+ATTR_LATEX: :float :width 0.8\textwidth
[[file:images/ticket_incubation_2009.png]]
#+LATEX:\end{center}
** FOSS4G 2010: Starting the journey
#+LATEX:\begin{center}
#+ATTR_LATEX: :float :width 0.6\textwidth
[[file:images/logo_foss4g2010.png]]
#+LATEX:\end{center}
#+LATEX:\begin{center}
#+ATTR_LATEX: :float :width 0.6\textwidth
[[file:images/road-incubation.jpg]]
#+LATEX:\end{center}
** Incubation revamp
#+LATEX:\begin{center}
#+ATTR_LATEX: :float :width 0.8\textwidth
[[file:images/ticket_incubation_grizonnet.png]]
** Next step? Find a mentor in 2013(Thank you Landon!)
#+ATTR_LATEX: :float :width 0.4\textwidth
[[file:images/landon.jpg]]
#+LATEX:\end{center}
** How OSGeo helps during the all process?
- Open governance
- How to set up the PSC
- Decision making strategy
- Documentation license
- Take time to set up the governance\ldots
- We wait to complete the license migration before restarting the incubation
process in 2017
- It took time\ldots
- \ldots But it was perhaps the time needed by the project
** Thought about the OSGeo incubation process
* Conclusion
** Conclusion
- OSGeo incubation starts in 2011 (first application)
- Being an official OSGeo software will perhaps not change lots of thing...
- ...but I think that the incubation helps OTB to have a more open process
and overall
- Moving to GPL to Apache was also quite a huge work
- The OTB governance is still young but works well
- Number of RFC in 2 years: 103
** Thanks
- Thanks to the incubation committee and the OSGeo board for the acceptance of OTB
- This is great news for us!
- Special thanks to:
- All people of OTb community who participates in some way to the incubation
- Our mentor Landon Blake
- Jody Garnett and Brian M Hamlin who helped in the final stretch
- Other OSGeo projects related to OTB: GDAL, OSSIM, QGIS, OSGeo-Live, ...
- Angelos Tzotsos, Even Rouault, Alexander Bruy, Victor Olaya, Paolo
Cavallini, Vincent Picavet, Yves Jacolin, Gérald Fenoy, Markus Neteler\ldots