Principles
The principles that guide the development of Carbon
Decision-making is guided by four principles:
- Simplicity
- Extensibility
- Openness
- Productivity
Simplicity
We understand that manufacturers don't often have the luxury of large teams of developers. Often a single software developer will be responsible for many custom applications. Our goal is to provide a simple platform with a single database that manufacturers can use as the heart of their digital operations.
To provide simplicity we use these approaches:
- Best open-source software
- Minimal languages and setup (npm, TypeScript and SQL)
- Minimal dependencies
- Single-purpose examples and templates
- Detailed documentation
- Total transparency
Extensibility
Every manufacturer has unique needs that are not covered by the standard platform. We want to make it easy to extend the platform to meet their needs.
To provide extensibility we have the following goals:
- Easy to add custom applications
- Easy to add API endpoints
- Easy to add custom database tables
- Easy to add modules and interfaces to the primary application
Openness
The ERP system is the heart of a business' digital operation. We want to make sure that they can easily integrate with other systems and customize it in any way that they need. The only real way to do this that to make the source code available.
An open source ERP system has a number of benefits, including:
- Lower costs
- Greater flexibility
- Better security
Productivity
When making decisions, we aim to optimize for long-term developer productivity. We take it as a given that everyone wants more features. But in order to quickly provide new features over time, we need to make sure that the platform is easy to use and maintain. This may mean that we have a steeper learning curve in the short term, but it should pay off in the long term.