Skip to content

sparky-game/carbon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,381 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Carbon Cover

License C Standard C++ Standard Latest Git Tag SCLA signatures count

Carbon (/ˈkɑːbᵊn/) is the ultimate simple and easy to use C/C++ standard library to enjoy programming.
It serves a wide variety of use cases, from CLI programs, graphics-intensive real-time applications, to complex full-fledged testing suites.
If you’d like to make a contribution, you can check the project’s guidelines; also, keep an eye on both security issues reporting instructions and our Code of Conduct. Furthermore, if you do something cool with Carbon, don’t forget to add the #sk-cbn tag to your topics!


Do you want to keep up with changes or do you have a question that doesn’t require you to open an issue?
Join the GitHub Discussions forum, meet other users like you. The more we are, the better for everyone.
There you can ask questions, exchange ideas, share some of your work, make polls, stay up to date with new updates and announcements of the library, and much more.

Do you want to support Carbon? Consider becoming a sponsor, or making a donation via Ko-fi or Buy Me a Coffee. Many thanks to all of you who are reading this; I hope it’ll be useful and it’ll make you enjoy programming a little bit more.

Warning

Carbon is currently in an alpha quality stage, and is not production-ready yet.

Usage

Carbon is in essence a two-part library: the static/dynamic lib pkg itself (where all symbols and instructions are defined), and the C/C++ header file (which gets generated by the build process as an amalgamation of all internal headers the library uses).

Get the library

We can get Carbon in our preferred way of managing dependencies or external libraries in our projects. It’s important to do so via the OFFICIAL Git repository hosted on GitHub, and not through any other website or server. Appart from that, any ref can be checked out, being master (the trunk of all dev progress), a tagged commit (e.g. v1.0), an actively maintained version branch (e.g. v1.0.y/stable) or a LTS version branch (e.g. v1.0.y/lts) the preferred ones.

Here are the main options of obtaining it:

Git Clone:

git clone --recursive https://github.com/sparky-game/carbon

Pre-compiled Package:

You might want to take a look to the latest release available and download the appropriate pre-compiled package for your CPU’s architecture and OS.

Tip

You can checkout the installation instructions, so Carbon can be made available on your system as any other library (the PREFIX is customizable according to your needs).

Tutorials

A good place to start learning and discovering all the things you can do with Carbon is reading and executing the tutorials.

Furthermore, you can also take a look at the amalgamated distributable header file (carbon.h), where each module of the library is declared and documented. This is all the documentation you’ll ever need, and it’s also a good place to find new things Carbon can do.

Lastly, for a more advanced understanding of all available and tested functionality that Carbon provides, reading the tests is a great next step. There it can be learnt both how to work with the different modules, and how to use Carbon itself to test your own applications and programs.

Licensing

Copyright (C) Wasym A. Alonso. All Rights Reserved.

Carbon is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License Version 3 (GNU AGPL-3.0) as published by the Free Software Foundation (FSF) on November 19th 2007.
Carbon is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License Version 3 for more details.
For more information, see https://www.gnu.org/licenses/agpl-3.0.

As mentioned above, Carbon is licensed under the GNU’s AGPL-3.0-only, which means that any software created or that uses it is also subject to the same license. This implies that if you develop an application using Carbon, it must also be released as free software under the GNU’s AGPL-3.0-only. This ensures that the freedoms to use, study, modify and share the software are preserved for everyone.

If you prefer to release your application under a different, more commercially friendly license, there is an option available. You can purchase a distinct commercial license for you to use this library without releasing your software under the GNU’s AGPL-3.0-only. For more details, please visit its official website.