Jump to content

Tech Team: Difference between revisions

1,137 bytes added ,  11 May 2023
adding content
m (Mostly fixing typos)
(adding content)
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
212

edits