Free Software

Nexedi has created, maintains and provides customization services for a full stack of free software solutions.

Nexedi Original Free Software Stack

The components of the stack are listed below (including 3rd party forks being used in the Nexedi stack).

ERP5 | Unified Enterprise ERP ERP5 is a generic and customizable enterprise ERP system consisting of a core and various business templates (bt5s) that provide specific business features (accounting, CRM, et al) or industry templates (government, banking et al). ERP5 is based on five abstract concepts with the idea of being able to model the system to any industry and business scenario.

SlapOS | Decentralized Cloud Computing SlapOS is a software for deploying and managing software applications on a cloud infrastructure automating provisioning, orchestration, backup, resiliency, recovery and invoicing. Everything on SlapOS is run as a service with the Webrunner IDE providing configuration and monitoring access. SlapOS is used to deploy most of Nexedis solution, such as ERP5 and Wendelin.

Wendelin | Big Data Application Platform Wendelin is convergent platform for Big Data and Machine Learning and a variant of ERP5 with extensions for ndarrays, a core module managing RAM beyond physical limits and interfaces with libraries such as scikit-learn, jupyter, pandas, fluentD or embulk. Wendelin is hosted on SlapOS and uses NEO for data storage allowing to manage the data life cycle from ingestion to commercialisation.

Officejs | Offline HTML5 Productivity Appstore The OfficeJS appstore is a set of ERP5 business templates (bt5s) adding an ecosystem for RenderJS/jIO-based progressive web applications (PWA) to any ERP5 instance. The appstore includes productivity apps such as editors, converters and compact ERP5 web apps, that work offline, sync automatically and connect to a storage of choice - including ERP5.

Cloudooo | Multimedia Conversion Server Cloudooo is an ERP5 instance with specific extensions (bt5s) for converting the different office formats into HTML, PDF and back. In addition Cloudooo includes multimedia converters (image, video). Cloudooo is used by all ERP5 instances as a service for various conversions including resizing of images on websites and creation of complex PDF reports from HTML using wkhtmltopdf.

WebRunner | SlapOS Web IDE The SlapOS Webrunner is a platform-as-a-service (PAAS) development IDE based in the browser. It contains a sandboxed environment for software development including instance configuration, process overviews, log monitoring, file browser and editor as well as a terminal and git interface allowing to manage all aspects of software development on a single IDE.

NEO | Distributed, Transactional NoSQL Database NEO or (neoppod) is a distributed, redundant and transactional storage designed to be an alternative to ZEO and FileStorage by adding features such as no cluster-wide commit locks, load balancing and replication over multiple machines Nexedi is using NEO on all recent instances of ERP5 and Wendelin running either a single machine or a cluster of instances provided through SlapOS.

Re6st | Resilient Mesh Network re6st (also called Re6stnet) creates a resilient, scalable, ipv6 network on top of any existing IPv4 network by creating tunnels on the fly, and then routing targeted traffic through these tunnels along the real-time optimal route. Nexedi is using re6st for its internal network optimization and is also offering re6st-based network services from content delivery to software defined radio networks.

Caucase | Certificate Authority Server for Users and Services The goal of caucase is to automate certificate issuance and renewal without constraining how a certificate will be used. For example, there is no assumption that the certificate will be used to secure HTTP, nor to serve anything at all: it may be used as certificate to authenticate users, sign emails, or secure an SQL server socket.

jIO | Virtual Document Database (online/offline) jIO is a promise-based JavaScript library that offers connectors to various storages (ERP5, Dropbox, Google Drive, IndexedDB, et al) and special handlers for replication, compression, encryption or querying using just a single API. jIO allows to create offline-capable and synchronisable progressive web app and is being used for the new ERP5 interface as well as ERP5, Wendelin and OfficeJS based apps.

RenderJS | HTML5 Web Component Microframework RenderJS is a JavaScript library which helps to modularize HTML5 gadgets and applications. It uses self-contained components (HTML5/JS/CSS) which can be reused, sandbox and combined together to build complex stateful single-page web applications. RenderJS is being used with jIO to build the new ERP5 interface as well as Wendelin and OfficeJS applications.

Crib.js | HTML5 Working Copy Manager CribJS is a small JavaScript library which uses serviceworkers and an editor to allow users to configure their way of viewing a specific website. Based on the free web principles, a user should have the freedom to view content in whichever way he or she desires. CribJS will allow this by enabling to customize CribJS-supporting sites made with RenderJS and jIO.

shacache | Self-Certifying File Cache and Signed Index ShaCache is a set of business templates (bt5s) turning an ERP5 instance into a CDN that guarantees own and third party source code relevant for deploying software is always available in the exact same version it was once used and signed (like a wayback machine). ShaCache is used as both download and binary cache within SlapOS.

Nexedi Maintained Third Party Forks

NayuOS | Private OS NayuOS is a web-based operating system (OS) for desktop and laptops based on Chromium OS. It is designed for low maintenance cost and provides provides independence from cloud computing providers, strong privacy, no proprietory software components whatsoever and high interoperability with enterprise IT infrastructure. All staff at Nexedi is working on NayuOS-run Chromebooks.

Babel | Distance-Vector Routing Protocol with Custom Monitoring Babel is a loop-avoiding distance-vector routing protocol roughly based on HSDV and AODV, but with provisions for link cost estimation and redistribution of routes from other routing protocols. Nexedi uses Babel as complement to re6st for optimizing next generation networking.

RSVP | Javascript A+Promises RSVP.js provides simple tools for organizing asynchronous code. It is a small implementation of JavaScript Promises/A+ and a mixin for turning objects into event targets. Nexedi extended RSVP to cancel and queue promises and uses the library in both RenderJS and jIO as well as all ERP5, Wendelin and OfficeJS apps.

buildout | Devops System in Python The Buildout project provides support for creating Python-based applications offering tools for assembling applications from multiple parts (Python or otherwise) combining multiple programs, processes, and configuration settings. Nexedi is using a modified version of Buildout for all SlapOS related software installation and deployment.

Nexedi Software Sponsorships

MariaDB | Relational Database Management System MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. ERP5 uses MariaDB for their their index catalog, sponsors MariaDB developers and works closely on performance and scalability topics.

ManPy | Discrete Event Simulation (DES) objects in Python ManPy is a libaray for simulating manufacturing scenarios in real-time using discrete event simulation and was developed during a joint research project. Nexedi is maintaining ManPy while its components are more deeply integrated into ERP5 providing a new means for simulating various task allocation scenarios.