Contributing to LibreCores
LibreCores is a community-driven project, we are always looking for people to contribute to LibreCores: to evolve existing features, to try out new ideas, to fix bugs from small to large. Many contribution opportunities do not even require coding skills: writing documentation, improving the design, testing and giving feedback is just as valuable as code commits are.
Are you ready to help out? We're put together a couple of ways for you to get started, depending on the amount of time you have available, and the skills you have.
In any case, get in contact if you have any question and remember, no question is too dumb to be asked. All of us started small at some point in time. We have a couple options for you got get in contact with us.
- Chat with us on Gitter
- Join the chat at http://gitter.im/librecores/Lobby. Most of the devs hang out there.
- If you don't get an immediate answer just wait, most of us are based in European time zones. We try to get back to your question as soon as we see it.
- Talk to a human
- if you have trouble with the means of communication above contact Philipp (@imphil on IRC and GitHub) by dropping him a mail at firstname.lastname@example.org.
Work on a "Good First Bug"
- Time required: varies, from a couple minutes to a couple of days.
- Skills required: varies, see the issue report for details. Usually ranges from from testing to graphics design to coding.
In our issue tracker on GitHub, we have labeled some bugs as "good first bug." These bugs contain a clear description what needs to be done, a description of skills which are required, and a mentor who's available to help out.
If you have any questions, please don't hessitate to contact the listed mentor, or comment in the GitHub issue. We understand that it's hard to get started at times, so if you run into trouble setting up the development environment, don't understand anything in the project description, or just want to get feedback if your approach works, please let us know.
Testing and QA
- Time required: usually not more than one hour
- Skills required: varies, see the issue report for details.
Every user has a slightly different setup when using LibreCores. To make sure the site works flawless for as many users as possible, testing and quality assurance (QA) is important -- and it's a great way to contribute to LibreCores! If you see any problem with the LibreCores site, please open an issue report on GitHub <https://github.com/librecores/librecores-web/issues/new>. If you're looking for ideas what to test, we label some issues with the "qa wanted" label. These issues usually contain a description of what changed, and what should be tested to make sure it works. If not, please ask the author of the bug.
Creating documentation, reports and tutorials
- Time required: from hours to days
- Skills required: English writing skills (don't worry if you're not a native speaker!)
LibreCores is not just a project repository, but also a community hub for people to get started with digital hardware design. We try to answer questions, such as "What license should I choose?", "How do I setup a development environment on my PC?", or "What's the process to create an FPGA design"? Creating such content, in the form of tutorials, reports, documentations, videos or even interactive forms like games, is a great opportunity to contribute to LibreCores. No coding skills are required, and if you feel that your English is not sufficiently good, don't worry either! Most of us are not native speakers, and we'll find someone for proof reading if you wish!
If you already have an idea what to write, just open a text editor, Word, and type ahead! We'll take care to get it formatted properly for the site when it's time for it.
If you need some inspiration, have a look at the issues in our GitHub issue tracker labeled as "content".
Take on a larger project
- Time required: from days to weeks
- Skills required: usually coding (mostly PHP/Symfony) skills are required
If you're ready to spend it a bit more time on LibreCores, we've got something interesting for you as well. While not all our ideas for improvement have been written down, some have. Look at the "userstory" or "enhancement" labels on our GitHub issues for some inspiration. If you have another idea, just create a new issue or jump on to the development mailing list.