Guide de contribution ownCloud
Comment contribuer à ownCloud : conseils et accompagnement.
Découvrez comment contribuer à ownCloud grâce à notre guide sur les contributions, les licences et la validation DCO.
Qui peut contribuer
Nous accueillons toutes les contributions : développeurs, rédacteurs de documentation, designers, traducteurs, testeurs, et toute personne souhaitant améliorer ownCloud. Que vous corrigiez une faute de frappe ou développiez une extension web complète, ce guide explique comment contribuer.
Licence
Licence cible pour les nouveaux projets : Apache License 2.0
ownCloud adopte progressivement Apache 2.0 comme licence par défaut pour les nouveaux dépôts et composants gérés par l’OSPO. Apache 2.0 est permissive, largement comprise, compatible avec la plupart des exigences d’achat des entreprises et du secteur public, et très répandue dans l’écosystème open source.
Les dépôts existants peuvent conserver leur licence actuelle pendant une période de transition :
| Dépôt / Composant | Licence actuelle | Plan de transition |
|---|---|---|
| oCIS | Apache 2.0 | Déjà sous licence cible |
| Desktop Client | GPL v2 | En cours d’évaluation |
| Android Client | GPL v2 | En cours d’évaluation |
| iOS Client | GPL v3 | En cours d’évaluation |
| ownCloud Server | AGPLv3 | Fin de vie ; aucun changement de licence prévu |
Tout changement de licence pour les dépôts existants sera communiqué à l’avance et fera l’objet d’une consultation de la communauté. Nous ne modifions pas rétroactivement la licence du code déjà publié.
Aucun CLA requis – Nous utilisons le DCO
ownCloud ne demande pas d’accord de licence de contributeur (CLA). Nous utilisions auparavant un CLA qui transférait l’ensemble des droits d’auteur à ownCloud GmbH. Ce CLA transférait tous vos droits, titres et intérêts – y compris les droits d’auteur – sur vos contributions à ownCloud. Cette pratique a été abandonnée. Elle n’est plus requise pour les nouvelles contributions aux composants sous licence Apache 2.0.
Nous utilisons désormais le Developer Certificate of Origin (DCO). Le DCO est une attestation légère, par commit, selon laquelle vous avez le droit de soumettre le code sous la licence du projet. Il ne transfère pas les droits d’auteur à ownCloud GmbH. Vous conservez la pleine propriété de vos contributions – dans le cadre de la licence Apache 2.0.
Pour valider un commit, ajoutez une ligne Signed-off-by :
git commit -s -m "Ajout du support de recherche des métadonnées photo"
(Vérifiez que PGP est activé : https://docs.github.com/articles/about-gpg)
Cela ajoute une ligne comme :
Signed-off-by: Votre Nom <votre@email.com>
Le texte du DCO (disponible sur developercertificate.org) confirme que :
- Vous avez rédigé la contribution ou avez le droit de la soumettre.
- Vous la soumettez sous la licence du projet.
- Vous comprenez que la contribution est publique et qu’un enregistrement est conservé.
Pour les contributeurs ayant signé l’ancien CLA : vos contributions existantes restent valides. Aucune action supplémentaire n’est requise. Pour les nouvelles contributions, il suffit d’ajouter la validation DCO.
Pour les contributeurs d’entreprise : si votre employeur applique des règles sur la propriété intellectuelle, assurez-vous d’avoir l’autorisation de contribuer sous le DCO. De nombreuses organisations disposent de politiques générales de contribution open source. Si ce n’est pas le cas, la nature du DCO, qui s’applique à chaque commit, facilite l’obtention d’une autorisation ciblée, contrairement à un CLA global.
Comment contribuer
- Trouvez un sujet sur lequel travailler. Parcourez les issues marquées « good-first-issue » dans nos dépôts. Consultez la feuille de route du projet et les RFC ouvertes pour les initiatives plus importantes. Si vous avez une idée, ouvrez d’abord une issue pour en discuter avant d’y consacrer trop de temps.
- Forkez et créez une branche. Forkez le dépôt concerné et créez une branche dédiée à votre fonctionnalité. Les noms de branches doivent être explicites : feat/photo-metadata-search, fix/ocm-federation-timeout, docs/improve-deployment-guide.
- Développez. Respectez les conventions de codage du dépôt (les règles de linting propres au langage sont appliquées en CI). Rédigez des tests pour toute nouvelle fonctionnalité. Documentez les nouvelles fonctionnalités, options de configuration et APIs. Si vous utilisez l’IA pour le développement, suivez notre politique sur les contributions assistées par IA : déclarez, comprenez, testez, documentez.
- Commitez avec la validation DCO. Chaque commit doit inclure une ligne Signed-off-by. Les commits sans validation DCO seront signalés par notre CI et ne pourront pas être fusionnés.
- Soumettez une pull request. Rédigez une description claire du PR : ce qui change, pourquoi, et comment tester. Référencez les issues associées. Ajoutez des captures d’écran pour les changements d’interface. Répondez aux retours des relecteurs.
- Relecture et fusion. Les mainteneurs examineront votre PR pour vérifier la justesse, la qualité du code, la couverture des tests, la documentation et la cohérence architecturale. Plusieurs allers-retours peuvent être nécessaires, c’est normal. Les PR validées sont fusionnées par un mainteneur.
Types de contributions
Le code est la forme de contribution la plus visible, mais loin d’être la seule. Nous valorisons et reconnaissons :
- Documentation : guides, documentation API, instructions de déploiement, traductions.
- Tests : signalement de bugs avec étapes de reproduction, ajouts de cas de test, tests exploratoires.
- Design : retours UX, wireframes, améliorations de l’accessibilité.
- Communauté : réponses sur les forums, mentorat de nouveaux contributeurs, organisation d’événements.
- Promotion : articles de blog, interventions en conférence, études de cas.
Code de conduite
Tous les contributeurs doivent respecter notre code de conduite. Nous nous engageons à offrir un environnement accueillant, respectueux et inclusif.
Vous pouvez signaler toute violation ou préoccupation à coc@owncloud.com.
Canaux de communication
- Issues et PR GitHub : canal principal pour les discussions techniques.
- Documentation : doc.owncloud.com
- Forums communautaires : central.owncloud.org
- Contact OSPO : ospo@kiteworks.com
Reconnaissance
- Graphiques de contributeurs GitHub et notes de version.
- Hall of fame sécurité pour les signalements de vulnérabilités.
- Mises en avant communautaires et invitations à des événements.
- Parcours contributeur : les contributeurs actifs peuvent être invités à devenir relecteurs, mainteneurs ou membres du conseil consultatif.
Foire aux questions
Toute personne peut contribuer à ownCloud : développeurs, rédacteurs de documentation, designers, traducteurs, testeurs, ou toute personne souhaitant aider à améliorer la plateforme. Les contributions vont de la correction de fautes de frappe à la création d’extensions web complètes.
ownCloud adopte progressivement la licence Apache 2.0 comme licence par défaut pour les nouveaux projets et composants. Cette licence est permissive, largement utilisée et compatible avec la plupart des exigences d’achat des entreprises et du secteur public.
Non, ownCloud n’exige plus de CLA. À la place, il utilise le Developer Certificate of Origin (DCO), une attestation légère à chaque contribution qui confirme que vous avez le droit de soumettre du code sous la licence du projet sans transfert de droits d’auteur.
Au-delà du développement, vous pouvez contribuer à ownCloud par la documentation (guides, API, traductions), les tests (signalement de bugs, cas de test), le design (retours sur l’UX, amélioration de l’accessibilité), le support communautaire (mentorat, réponses aux questions) et la promotion (articles de blog, conférences).