L'une des choses dont nous sommes fiers chez edX est notre engagement envers l'open source. Une décision importante dans le code open source est le choix d'une licence. Pour la plupart, nous avons utilisé la licence AGPL. Cependant, pour mieux répondre à nos objectifs d'open source, nous modifions quelques-unes de nos licences.
Nos plus de 30 dépôts publics sur GitHub se répartissent en trois grandes catégories :
- Composants de base de la plate-forme Open edX.
- Bibliothèques utilisées par d'autres pour accéder à la plateforme via nos API.
- Des outils qui ne sont pas propres à la plateforme Open edX.
Chacune de ces catégories a ses propres considérations en matière de licence.
Pour les composants de base de la plate-forme, nous continuerons à utiliser l'AGPL. Cette licence garantit que toutes les modifications apportées à la plate-forme sont partagées, garantissant que la plate-forme est véritablement une ressource ouverte et que tout le monde bénéficiera des améliorations.
La nature propagée de l'AGPL rend son adoption difficile pour certaines personnes. Pour les dépôts où une large utilisation est plus importante que des améliorations partagées, nous utilisons la licence Apache. Cela inclut nos bibliothèques d'API et nos outils d'intérêt général, les deuxième et troisième catégories ci-dessus.
Notre premier changement à Apache était dans le Dépôt de l'API XBlock en septembre. Notre catalogue de bibliothèques d'API s'agrandit et elles seront toutes sous licence avec Apache pour encourager l'utilisation des API.
La troisième catégorie comprend les outils d'intérêt général qui n'ont rien à voir avec edX et ne fonctionnent pas dans le cadre de la plate-forme. Ils pourraient intéresser tout développeur Python. Un exemple est diff-couverture, un outil que nous avons créé et qui nous permet d'évaluer la couverture test des cotisations. Des outils comme celui-ci seront sous licence Apache pour permettre leur utilisation et leur adoption plus larges.
Pour récapituler notre stratégie de licence :
- Le code essentiel à la plate-forme edX sera AGPL.
- Le code utilisé par d'autres pour accéder à nos API sera Apache.
- Le code d'intérêt général et sans rapport avec la plate-forme sera Apache.
Depuis que nous avons ouvert notre code pour la première fois en 2013, sa portée et son adoption ont augmenté. Nous continuons à réformer notre approche pour mieux répondre aux besoins de la communauté. Comme toujours, nous aimerions connaître votre opinion.
![]()