Overview - motown-io/motown GitHub Wiki

Motown's mission is to create an open source, industry-supported eMobility solution, facilitating the development of value added services for end-users.

The founders of Motown strongly believe that this is the right moment to start open source initiatives for a relatively new but fast-growing market – electric vehicles. By standardizing communication between charge points and the outside world right now, we aim to ‘grow the pie’ and increase the viability of value added services in the future. This will benefit all stakeholders in the eMobility market, from charge point vendors to mobility service providers and ultimately EV drivers.

Motown is an Apache 2.0 licensed project.

Context

Motown's context

The above image shows the context in which Motown aims to operate.

  • Infrastructure layer, which consists of the hardware required to run an eMobility infrastructure (e.g. electric vehicles, charging stations).
  • Shared services, which consists of the software and services required to manage the components of the infrastructure layer.
  • Application layer, which consists of the applications (on top of the shared services) that enable the market roles. Examples of this are charge point management systems, mobile apps and clearing houses.
  • Market roles, which consists of the roles of the Motown stakeholders. Examples of these are organizations which operate charging stations and/or provide charging services.

Motown aims to connect applications in the application layer with the components in the infrastructure layer. The applications in the application layer enable the organizations which fulfill market roles to add their value to the eMobility market. The applications which already exist all had to solve similar problems like how to communicate with charging stations using OCPP (or related protocols) and how to integrate with commonly used clearing houses. Motown aims to ease the future development of these applications and to maintain the existing ones by sharing the maintenance effort.

Motown does not compete with existing eMobility solutions like charging station management systems. It aims to be a common platform to solve the problems everyone in the eMobility market has encountered because of the shared services in the market. Therefore, Motown will not have a web UI you can use to manage charging stations (besides some demos and examples which explain how to build your own UI or adapt the one you already built).

Open Source

Motown is an open source project for several reasons.

  • Ensure a shared effort. All the organizations which have built and will build software to communicate with charging stations will have to solve the same problems. Let's fix those problems together so everyone can focus on the their added value to the market.
  • Create a reference platform for manufacturers, operators, providers, and app builders. Interfaces which are implemented by more than one organization often suffer from interpretation differences between implementers. These differences are usually subtle but lead to increased costs for compliance and testing. Motown aims to offer standardized, open, reference implementations for these interfaces by lowering the cost of implementation and increasing their adoption.
  • Fully transparent in its function. To achieve the above, transparency is of the utmost importance.

The chosen open source license for Motown is the Apache License, Version 2.0. tl;drLegal includes a simple, readable explanation of the license. We chose the license for the following reasons:

  • it's a business friendly license in the industry.
  • the contributor license ensures IP rights for different parties.
  • it's fully open for contribution, add-ons and embedding in solutions without commercial restrictions.

Architectural requirements

It is important to understand the architectural requirements which we took into account during the development of Motown.

  • Scalable and fail safe. Motown needs to support the possibility of scaling and fail-safety. This does not mean that every installation of Motown is required to be scalable and fail-safe. Implementers of Motown can choose how they want to configure and deploy Motown.
  • Keep track of history. eMobility is a young and dynamic market. Because of this we should keep a better track of history to inform us how to pursue new opportunities and do research into the usage of charging station infrastructure.
  • Enable the behavior within the domain. When writing and modeling software, we want to stick as close to the actual eMobility domain as possible. This allows for quick and easy changes if our insights into the domain change and allows developers and domain experts to communicate clearly and efficiently.
  • Support open and closed add-ons. Some open source add-ons are provided with Motown, like OCPP implementations, VAS and CIR integration. Even though we welcome more open source add-ons, we understand that open sourcing isn't always the most appropriate solution. Therefore, the architecture needs to support both open source and closed source add-ons.
  • Support for lightweight to heavy load runtimes. Whether you're managing 10 or 10,000 charging stations, Motown should be adaptable to your specific needs. Whether you want a simple, containerless solution or want a scalable, distributed solution.
  • Easy to connect to. In a world dominated by mobile apps, Motown needs to enable easy integration on several different levels.

Naturally, these requirements strongly influenced Motown's technical architecture. Continue reading on the Technical Architecture page to find out how we realized the aforementioned requirements.