# OpenDreamKit
## The mathematician's perspective
![](/public/logos/odk_logo_small.png)
---
## Some fundamental trends
### Long standing and booming role of computers in pure mathematics
- Computer exploration
- Conjecture verification
- Mechanized proofs
- Proof assistants and certified proofs
- Collaborative work
- Education
--
### Open Science getting momentum
> [Open science](https://en.wikipedia.org/wiki/Open_science) is the
> movement to make scientific research, data and dissemination
> accessible to all levels of an inquiring society, amateur or
> professional
- Open Knowledge (Access, Educational Ressources)
- Open Source or better Free Software
- Open Data
- Open Peer Review, Methodology, ...
At the core of science for centuries. Finally getting recognition as
*viable* and *necessary*, even by funding agencies!
--
### Emergence of a vibrant ecosystem of **free software** for pure mathematics
- Specialized libraries: [LinBox](http://www.linalg.org/), [PARI/GP](http://pari.math.u-bordeaux.fr/), [MPIR](http://mpir.org/), [Singular](http://www.singular.uni-kl.de/), ...
- General purpose systems: [GAP](http://www.gap-system.org/), [SageMath](http://www.sagemath.org/), ...
- Online databases: [OEIS](https://oeis.org/), [LMFDB](http://www.lmfdb.org/), ...
- Interactive computing environments:
[IPython/Jupyter](https://jupyter.org/), [SageMathCloud](https://cloud.sagemath.com/), ...
- Together with the wider Scientific Python ecosystem
### Viable alternatives to Maple, Mathematica, Matlab, ...
For research and education (and the industry?)
---
## Virtual Research Environments (VRE)?
Definition from the call of the H2020 European Research
Infrastructures Work Programme:
> Groups of researchers, typically widely dispersed who are working
> together through ubiquitous, trusted and easy access to services for
> scientific data, computing, and networking, in a *collaborative
> virtual environment*
--
### VRE for mathematics?
Mathematicians are already immersed in a multitude of virtual
environments to collaborate on
- **Software**
- **Data**
- **Knowledge**
--
![](/public/logos/TheBigPicture.svg)
---
## The next frontier?
- Improve the productivity of researchers in pure mathematics and
applications by further promoting collaborations on **Data**,
**Knowledge**, and **Software**
- Make it easy for teams of researchers of any size to set up custom,
collaborative **Virtual Research Environments** tailored to their
specific needs, resources and workflows
- Support the entire life-cycle of computational work in mathematical
research, from **initial exploration** to **publication**, **teaching**,
and **outreach**
--
### A tension:
- Mathematicicans want a seamless user experience while interacting with mathematics
- Implementing a one-size-fits-all VRE is intractable
---
## An approach
Building a **math VRE toolkit** based on:
- The ecosystem of open source math software
- Open collaborative tools and models
### Architecture:
- Collaborative workspaces (e.g. JupyterHub, SageMathCloud)
- User interfaces (e.g Jupyter notebook)
- Computational components (e.g. Linbox, PARI/GP, GAP, Sage, Singular, ...)
- Data / knowledge bases (e.g. OEIS)
- Physical resources (e.g. cloud infrastructure)
--
### Added values
- **Customizability** for a variety of use cases:
- A single person installation on a laptop
- A collaborative VRE between three researchers, running on their lab's server
- A university wide VRE for teaching
- Service provided by a european grid infrastructure
- Joining forces with the wider scientific computing community
- Lowering the software barrier between pure and applied maths
- **Modularity**, **sustainability**
---
## How to get there?
--
### Component architecture (WP3)
- Goal: ease of deployment. Requires:
- Modularity, packaging, portability, distribution
- For individual components and combinations thereof
- Development workflows in ecosystems of software
--
### User interfaces (WP4)
- Jupyter as uniform notebook interface
- Improving Jupyter (collaboration, 3D, ...)
- Coordination SageMathCloud / JupyterHub
- Collaborative, reproducible, active documents
--
### Performance (WP5)
- Goal: Make the most of available hardware
- multicore
- HPC
- cloud
- For individual computational components and combinations thereof
--
### Data/Knowledge/Software (WP6)
- Goal: enable rich and robust interaction between
- computational components
- data bases
- knowledge bases
- users
- This requires:
- explicit common semantic spaces
- a language to express them
- tools to leverage them
--
### Community building and dissemination (WP2)
- Developer Workshops
- Training workshops
- Conferences
--
### Social aspects (WP7)
- Analysis of user needs
- Research on collaborative software development in mathematics
---
## OpenDreamKit (2015-2019)
*Open Digital Research Environment Toolkit
for the Advancement of Mathematics*
[OpenDreamKit.org](OpenDreamKit.org)
- [H2020](https://ec.europa.eu/programmes/horizon2020/) [European Research Infrastructures](https://ec.europa.eu/programmes/horizon2020/en/h2020-section/european-research-infrastructures-including-e-infrastructures) Work Programme
Call: Virtual Research Environments
- Budget: 7.6M€
- [15 sites, 50 participants](http://opendreamkit.org/partners)
In close collaboration with the international community!
--
## A user-driven consortium
European power users and core developers of the ecosystem of open
source software for Mathematics:
- GAP (St Andrews, Oxford)
- Linbox (Grenoble)
- PARI/GP (Bordeaux, Versailles)
- Sage (Bordeaux, Grenoble, Paris Sud, Oxford, Versailles)
- Singular (Kaiserslautern)
- LMFDB (Warwick, Zürich)
- MathHub, MMT/OpenMath (Bremen)
- Jupyter (Simula)
- Scientific Python (SouthHampton, Sheffield, Silesia)
--
Supported by:
- Research engineers
- An open source based company (Logilab)
---
## How are we doing?
--
### The bad news
- Some tasks harder than expected
- We expected recruitment to be hard. It really was.
- We exected the admistrative overhead to be high. It really is.
--
### The good news
- Intensive work started on all fronts
- Current deliverables not representative
- Some really good recruitement
- Joint workshops are very effective
- Interesting technology raising
- Windows support for Linux apps
--
### Ways to improve?
- There could be more interactions in certain areas
- Some workpackages could benefit from more animation
- More workshops / joint visits / online meetings?
---
## More reading
- The [developer's perspective](/about-developers) on OpenDreamKit
- [About OpenDreamKit](/about)
- The OpenDreamKit [proposal](https://github.com/OpenDreamKit/OpenDreamKit/raw/master/Proposal/proposal-www.pdf)