First of all, thank for your contribution! I can't manage this whole thing alone, and I welcome pull requests. To make sure that we're all on the same page, here are some guidelines to follow for submitting pull requests for this list.
Obviously, it's your choice what you want to contribute - or not contribute. However, if you're looking for something that would help awesome-c, check the current issues, especially those tagged with 'help wanted'. Pull requests addressing these are particularly great!
Additionally, if you found (or wrote!) a useful C tool, library, or anything else, please contribute it! Even if it falls short, we would be happy to help you improve, possibly by contributing ourselves.
Lastly, if you notice that something is dead, or of poor quality, we would love contributions that remove anything like that. We can't maintain the entire list without your help, and would appreciate more vigilant eyes and minds!
As per the name, awesome-c
is about the C programming language.
Specifically, any of the following are in scope:
The following are expressly not in scope for this list:
The following may be in scope, but not necessarily:
Avoiding scope creep is important, and such avoidance begins with you. If in doubt, keep in mind Antoine de Saint-Exupéry's famous statement:
''Perfection is attained not when there is nothing left to add, but when there is nothing left to take away.''
Now for the mechanics of the process, and some do's and don't's.
This is highly important - this list only contains open-source things! If you are sending a pull request linking to code, ensure it is licensed under an open-source license. This includes, but is not limited to:
If you're not sure, better to ask first. If it's not on the list above especially.
While there is no open-source requirement for non-code things, including documentation, tutorials, learning resources, and so forth, it is essential that it comes from sources which aren't evil. Things which are evil include, but are not limited to:
If in doubt, ask!
While it isn't possible to curate everything on the list, and occasionally poor things will slip through, it's essential that only good stuff ends up on this list. To this end, use the following questions as a guide to whether something is good:
The more of these questions have 'yes' answers, the more likely it is that whatever you're submitting is good.
Ensure that you label licenses correctly. awesome-c
now uses SPDX
license labels, so please use those. If the license is weird or not on the list,
label it as clearly as possible. Also check if the license is in use
already - if it is, don't create another link to it. License links are named the
same way as the license itself: if you want to link to the GPL-3.0-or-later
license, you format the link as
[``GPL-3.0-or-later``][GPL-3.0-or-later]
Sometimes, libraries or frameworks will contain documentation or code under different licenses to the library itself (such as tests or examples). There is no need to indicate their licenses in that case. However, if the program itself is what is being put on the list, obviously its license matters.
Pretty self-explanatory, really. Numbers are considered to be higher-ordered than anything else, and otherwise, lex order.
The commit message should state clearly what you did (adding, removing, clarifying, etc.), with what (usually by giving the name of the entry), in the present continuous tense (i.e. 'adding' not 'added').
This includes, but is not limited to:
Read some of the other entries to see how to format any new ones.