Line 1: |
Line 1: |
− | === What === | + | === Aim 🎯 === |
| + | |
| + | ==== What ==== |
| The Open Food Facts software is developed collaboratively by hackers from all around the world. | | The Open Food Facts software is developed collaboratively by hackers from all around the world. |
| | | |
Line 6: |
Line 8: |
| Every thing we code is under a free software license (possibly [https://www.gnu.org/licenses/agpl-3.0.en.html AGPL]) | | Every thing we code is under a free software license (possibly [https://www.gnu.org/licenses/agpl-3.0.en.html AGPL]) |
| | | |
− | === Why === | + | ==== Why ==== |
| Providing tools is essential to be able to [[Data Contribution Team|grow the database]] as fast as possible and maintain its quality. | | Providing tools is essential to be able to [[Data Contribution Team|grow the database]] as fast as possible and maintain its quality. |
| | | |
Line 17: |
Line 19: |
| Writing SDKs and API documentation helps lower the entry for [[Reusing Open Food Facts Data|database reuse]] projects. | | Writing SDKs and API documentation helps lower the entry for [[Reusing Open Food Facts Data|database reuse]] projects. |
| | | |
− | === Connect === | + | === Tools ⚒️ === |
− | [https://slack.openfoodfacts.org/ Slack channels]: | + | 📢 [https://slack.openfoodfacts.org/ Slack channels]: |
| *<nowiki>#dev - is a general channel around development</nowiki> | | *<nowiki>#dev - is a general channel around development</nowiki> |
| *#<nowiki>#infrastructure - is about managing servers, installing software, etc.</nowiki> | | *#<nowiki>#infrastructure - is about managing servers, installing software, etc.</nowiki> |
Line 30: |
Line 32: |
| We have a monthly infrastructure meeting (see [[Events|community calendar).]] | | We have a monthly infrastructure meeting (see [[Events|community calendar).]] |
| | | |
− | === Activities === | + | === Needs / Missions 🏗️ === |
| | | |
− | * Software development | + | * Software development 🤓 |
− | ** there is a large variety of projects to develop. see https://github.com/openfoodfacts/ | + | ** there is a large variety of projects to develop. see [https://github.com/openfoodfacts/.github/blob/main/profile/README.md#developers https://github.com/openfoodfacts/] |
| ** if you want to help with the core of the project, consider learning Perl (server) or Flutter (mobile app) | | ** if you want to help with the core of the project, consider learning Perl (server) or Flutter (mobile app) |
| ** new ideas are also welcome | | ** new ideas are also welcome |
| ** after one or two successful merge PR you can ask direct access to a repository | | ** after one or two successful merge PR you can ask direct access to a repository |
− | ** For beginners we often try to add a good-first-issue label on accessible issues | + | ** For beginners we often try to add a ''good-first-issue'' label on accessible issues |
| | | |
− | * Project management / product design / design | + | * Project management / product design / design 📐 |
| ** skills in project or product design can really help: triaging bug, imagining new UI and UX | | ** skills in project or product design can really help: triaging bug, imagining new UI and UX |
| ** also if you have skills for design do not hesitate to propose your skills | | ** also if you have skills for design do not hesitate to propose your skills |
− | * Technical Documentation | + | * Technical Documentation 📚 |
| ** help improve documentation on projects directly (often docs/ folder, but also the README) | | ** help improve documentation on projects directly (often docs/ folder, but also the README) |
| ** contributing to this wiki is also useful in some cases | | ** contributing to this wiki is also useful in some cases |
| ** remember that putting good links at the right place is also very efficient | | ** remember that putting good links at the right place is also very efficient |
− | * Infrastructure | + | * Infrastructure 🖧 |
| ** if you have a good level of expertise in Linux, ZFS, Proxmox or some specific architecture, we would really welcome your participation. see [https://github.com/openfoodfacts/openfoodfacts-infrastructure/ openfoodfacts-infrastructure repository] | | ** if you have a good level of expertise in Linux, ZFS, Proxmox or some specific architecture, we would really welcome your participation. see [https://github.com/openfoodfacts/openfoodfacts-infrastructure/ openfoodfacts-infrastructure repository] |
| ** [https://github.com/openfoodfacts/openfoodfacts-monitoring/ monitoring] is also important | | ** [https://github.com/openfoodfacts/openfoodfacts-monitoring/ monitoring] is also important |
| ** contributing in docker in projects, and CI/CD actions is also much appreciated | | ** contributing in docker in projects, and CI/CD actions is also much appreciated |
− | * Machine learning | + | * Machine learning 🤖 |
| ** robotoff is at the heart of machine learning usage (orchestrator) | | ** robotoff is at the heart of machine learning usage (orchestrator) |
| ** hunger-games is a fantastic tool to contribute data to it | | ** hunger-games is a fantastic tool to contribute data to it |
| ** openfoodfacts-ai is the main repository for machine learning | | ** openfoodfacts-ai is the main repository for machine learning |
| + | * Programs 🏅 |
| + | ** We regularly participate in programs like Google Summer Of Code, Google Season of docs, [https://outreachy.org/ outreachy], [https://dataforgood.fr/ data for good], |
| + | ** If you are interested in mentoring or participating, or if you would like to propose another program, reach out to us. |
| | | |
− | === Programs === | + | === Principles 💎 === |
− | We regularly participate in programs like Google Summer Of Code, Google Season of docs, [https://outreachy.org/ outreachy], [https://dataforgood.fr/ data for good],
| |
− | | |
− | If you are interested in mentoring or participating, or if you would like to propose another program, reach out to us.
| |
| | | |
− | == Principles ==
| + | Be sure to always respect the [https://world.openfoodfacts.org/code-of-conduct code of conduct] |
| | | |
− | Our goal is to follow and keep few and simple guidelines.
| + | Some simple guidelines. |
| | | |
| + | # Be '''as autonomous as possible''', even if you are new to the project or open source projects |
| + | # '''Don't be afraid to ask''' questions but '''know [https://stackoverflow.com/help/how-to-ask how to ask]''' |
| + | # It's ok to be a learner, but try first to do your part to use available learning resources |
| + | # If you feel some '''documentation is missing, please add it''' (after requesting information if needed). |
| + | # '''Your opinion has value,''' try to propose sensible solution to the problem at hand. Discuss your plan with others when it implies a lot of work. |
| # '''Discuss the topics or issues or functionalities you want to work on'''. The [http://slack.openfoodfacts.org/ slack workspace] is the best choice for it. | | # '''Discuss the topics or issues or functionalities you want to work on'''. The [http://slack.openfoodfacts.org/ slack workspace] is the best choice for it. |
| # If not already done, '''open an issue''' on Github to explain the problem you want to solve or the functionality you want to work on. | | # If not already done, '''open an issue''' on Github to explain the problem you want to solve or the functionality you want to work on. |
− | # If you want to work on an existing issue, '''tell everyone in the issue's Github comments'''. | + | # If you want to work on an existing issue, '''tell everyone in the issue's Github comments'''. (no need to get it assigned) |
− | # Fork the project and '''create one branch per issue or functionality you want to work on'''. | + | # Fork the project and '''create one branch per issue or functionality you want to work on''' (never work on main branch, even if you forked the project), see https://learngitbranching.js.org/. |
| #* It's cool to name a branch: ''<code>issue/[issue_number]-[name]</code>''; ex.: ''<code>issue/1630-name-of-the-issue</code>'' | | #* It's cool to name a branch: ''<code>issue/[issue_number]-[name]</code>''; ex.: ''<code>issue/1630-name-of-the-issue</code>'' |
− | #* When you're ready to propose something, send a '''Pull Request'''. Be patient, sometimes it takes time to the core team to review PRs. | + | #* When you're ready to propose something, send a '''Pull Request''', name it following [https://www.conventionalcommits.org/en/v1.0.0/ Conventional commits] principles |
− | # The '''coding style''' is defined in the <code>[https://github.com/openfoodfacts/openfoodfacts-server/blob/master/.editorconfig .editorconfig]</code> file. Many editors support EditorConfig, check yours: https://editorconfig.org | + | #* Be patient, sometimes it takes time to the core team to review PRs, but you can also ping people on slack if needed. |
| + | # The coding style is defined in the <code>[https://github.com/openfoodfacts/openfoodfacts-server/blob/master/.editorconfig .editorconfig]</code> file. Many editors support EditorConfig, check yours: https://editorconfig.org |
| + | Also you can refer to individual repository contributing guidelines. |
| | | |
− | == Inspirations == | + | ==== Inspirations ==== |
| | | |
| * https://www.mediawiki.org/wiki/How_to_contribute | | * https://www.mediawiki.org/wiki/How_to_contribute |