ECharts Proposal

Abstract

ECharts is a charting and data visualization library written in JavaScript.

Proposal

ECharts provides a powerful, interactive charting and data visualization library and framework for web browser, mobile App and backend usage.

Background

A primary goal of data visualization is to communicate information clearly and efficiently via statistical graphics, plots and other graphics.

Numerical data may be presented in dots, lines, or bars, to visually communicate a quantitative message. Effective visualization helps users to analyze data .It makes complex data more readable, understandable.[1]

Now data visualization concerns mainly about presentation and propagation in web, ECharts uses JavaScript as its basic programing language. It brings great compatibility across multiple platforms, not only in web browsers, but also in mobile Apps via embedded web engine or in backend environment via the techniques of headless browser.

Rationale

ECharts encapsulates the underlying data transformation, control flow, visual encoding and rendering, receiving the visualization requirements with declarative language, and produces interactive charts and components. We will highlight the features below to illustrate the power that ECharts already has, and our concerns and our visions:

  • User Diversity:

ECharts expects that its users are not only web developers, but also people with lesser programing skills. So ECharts enables users to describe data and settings with declarative language, which lowers the barrier but without losing the power, and benefit to transfer and store.

  • Configurable Interactions:

ECharts has provided plenty of interactions and aims at providing more. Both human interactions and the interactions with upper program are supported and can be configurable.

  • Large Data:

Although the browser environment and JavaScript bring some performance limits in visualizing large data or performing animations, ECharts have been adopting various optimization techniques to rise the upper limit of the amount of data that it can process, and keep improving the fluency of interactions and animations.

  • Cross-Platform:

The underlying render engine of ECharts can be switched between HTMLCanvas, SVG, or VML, which provides good compatibility and brings opportunities to optimize performance according to different platform and usage scenarios. Besides, ECharts can also works in backend environment via headless techniques.

ECharts can be created using headless browsers to pregenerate reports on more powerful machines for better performance on resource-limited devices

*Extension and Customization:
ECharts provides extension mechanisms to make new types of chart and components, adopt other layout algorithms, or even adopt other render techniques. Various developers have contributed different types of extensions based on ECharts.[2]

Current Status

ECharts has been an open source project on [GitHub][3] since 2013. Currently it has more than 20k stars, more than 50k monthly downloads[4] in NPM, and is one of the most popular repositories in topic of data visualization category in [GitHub].[5] And it has been used in many products of Baidu and other companies such as Alibaba, Tencent, Netease, [XinHua] News Agency,National Bureau of Statistics of China, Sina, State Grid Corporation of China, Lenovo, Ctrip etc.

Meritocracy

The ECharts project already operates on meritocratic principles. It was originally created by Lin Zhifeng in 2013,adding developers worldwide and has accepted multiple major patches from a diverse set of contributors.

We will follow ASF meritocratic principles to encourage more developers to contribute in this project. We know that only active and committed developers from a diverse set of backgrounds can make ECharts a successful project. We are also improving the project documentation and code to help new developers to get started quickly.

Community

ECharts has been building an active community for the last four years. Currently, the community includes over 50 contributors . The core developers of our project are listed below.

Core Developers

Alignment

ECharts is popular in data visualization and charting on web projects. And ASF has many famous web projects and big data related projects. We believe that ASF is a perfect choice to help ECharts project to attract more developers and have more cooperation with existing projects.

Known Risks

Orphaned products

Given the current level of investment in ECharts and the stakeholders using it - the risk of the project being abandoned is minimal. Baidu, for example, is in active development to use ECharts in many of its services and many large corporations including Alibaba, Tencent, Huawei, Sina, Lenovo use it in their production applications.

Inexperience with Open Source

ECharts has been an active open source project for more than 4 years. During that time, the project has attracted 50+ contributors.

Homogenous Developers

The most of core developers are from Baidu, but after ECharts was open sourced, ECharts received a lot of bug fixes and enhancements from other developers not working at Baidu. And the founder of ECharts,Lin Zhifeng still contributes a lot after he left Baidu.

Reliance on Salaried Developers

Although some of the developers are salaried, the project is personally initiated from the beginning. The core developers have been dedicated to this project for four years and have kept the project independent with developers around the world involved.

Relationships with Other Apache Products

There are several existing Apache projects that using ECharts already, including:

  • Apache Eagle
  • Apache Griffin (Incubating)
  • Apache Kylin
  • Apache SkyWalking (Incubating)

A Excessive Fascination with the Apache Brand

Our interests and motivations are based on the factors mentioned in the Rationale section rather than the publicity. Furthermore, the brand of ECharts has been successful in the past years on their own and we would be happy to keep on this path. We are honored at getting the opportunity to join the ASF, with the understanding to ensure its brand policies are respected.Also we expect that Apache brand will help to attract more contributors.

Documentation

[1] Data Visualization: https://en.wikipedia.org/wiki/Data_visualization

[2] ECharts Extensions: https://github.com/ecomfe/ECharts#resources

[3] ECharts Information: https://github.com/ecomfe/ECharts https://ecomfe.github.io/echarts-doc/public/en/index.html

[4] ECharts in NPM: https://www.npmjs.com/package/echarts

[5] [GitHub] Data Visualization Topic: https://github.com/topics/data-visualization

Initial Source

ECharts has been developed since 2013. It currently has an active developer and user community with a codebase in JavaScript. We currently use Github to maintain our source code and track issues at https://github.com/ecomfe/ECharts We need to move our respository to Apache infrastructure.

Source and Intellectual Property Submission Plan

ECharts source code is available under BSD-3 license and owned by Baidu. We will work with the committers to get ICLAs signed. We will provide a Software Grant Agreement from an authorized signer per https://www.apache.org/licenses/software-grant-template.pdf

External Dependencies

All The dependencies are released under Apache compatible licenses, including BSD and MIT.

Required Resources

Mailing List:

There are currently no mailing lists. The usual mailing lists are expected to be set up when entering incubation:

  • private@echarts.incubator.apache.org
  • dev@echarts.incubator.apache.org
  • commits@echarts.incubator.apache.org

Git Repositories:

Upon entering incubation: https://github.com/apache/incubator-echarts After incubation, we want to move the existing repo from github/ecomfe/echarts to Apache infrastructure.

Issue Tracking:

ECharts currently uses GitHub to track issues. there are more than 7k issues. Would like to continue to do so while we discuss migration possibilities with the ASF Infra committee.

URL:

Currently the website url is https://ecomfe.github.io/echarts-doc/public/en/index.html. It will be moved to http://echarts.incubator.apache.org/ to follow incubator conventions.

Initial Committers

Sponsors:

Champion:

Mentors:

  • Daniel Gruno
  • Kevin A. McGrail
  • Dave Fisher
  • John D. Ament

Sponsoring Entity

We are requesting the Incubator to sponsor this project.

  • No labels