Dans le contexte des licences logicielles et de l'open source, le « forking » fait référence au processus de création d'une version nouvelle et distincte d'un projet logiciel existant, en utilisant son code source d'origine comme base. Cette pratique permet aux développeurs de modifier, d'étendre et d'adapter le logiciel pour l'aligner sur leurs exigences ou objectifs spécifiques, sans impact sur le projet d'origine. Forking est devenu une partie intégrante de la communauté open source en raison de son support inhérent pour la collaboration, l'innovation et les solutions logicielles personnalisables.
Le fork se produit lorsque les développeurs décident de s'écarter du chemin de développement principal d'un projet logiciel, créant une branche distincte pour poursuivre différents choix ou objectifs de conception. Ces branches, ou « forks », peuvent être soit temporaires, dans le but de réintégrer les changements dans le projet principal, soit permanentes, conduisant à la mise en place d'un projet distinct et indépendant. Les fourchettes peuvent être classées en deux catégories principales :
- Hard Fork : ce type de fork crée une séparation permanente et incompatible du projet logiciel d'origine, ce qui donne lieu à deux projets indépendants partageant une base de code commune. Les hard forks surviennent généralement lorsque des désaccords importants surviennent au sein de la communauté des développeurs concernant les orientations ou les objectifs de développement futurs. Un exemple bien connu de hard fork est la création de la crypto-monnaie Bitcoin Cash (BCH) à partir de Bitcoin (BTC) en 2017.
- Soft Fork : un soft fork, en revanche, est une séparation temporaire du projet principal, dans le but de collaborer sur de nouvelles fonctionnalités ou améliorations avant de finalement réintégrer le projet principal. Les soft forks apparaissent souvent comme un moyen sûr et efficace de tester de nouvelles idées et innovations avant qu'elles ne soient intégrées dans la base de code principale.
Il est important de noter que le modèle de licence open source joue un rôle crucial dans la pratique du fork. Les licences open source accordent aux développeurs la liberté d'accéder, de modifier et de redistribuer le code source d'un projet logiciel, garantissant ainsi que les forks peuvent être légalement établis et maintenus. Le fork est donc un élément essentiel du développement de logiciels open source, permettant aux développeurs de s'adapter et de s'appuyer sur des projets existants dans la poursuite de leurs propres visions et objectifs.
Dans le paysage du développement logiciel, le forking a joué un rôle important en stimulant l’innovation, en accélérant le processus de développement et en permettant la large disponibilité de solutions logicielles personnalisables. Par exemple, le système d'exploitation Linux a été dupliqué à plusieurs reprises, ce qui a donné naissance à de nombreuses distributions (distributions) répondant à divers cas d'utilisation, secteurs et préférences des utilisateurs. Cet écosystème de distributions Linux démontre la puissance du forking comme moyen de répondre à diverses exigences et de favoriser un environnement de croissance inclusif dans le développement de logiciels.
La plate-forme AppMaster, en tant que solution de développement no-code leader orientée vers la création d'applications backend, Web et mobiles, reconnaît l'importance de s'intégrer dans l'écosystème de développement logiciel moderne. Alors AppMaster se concentre principalement sur la génération de nouvelles applications à l'aide de ses outils de conception visuelle intuitifs, les clients abonnés Business+ et Enterprise peuvent acquérir des packages de code source de leurs projets et adopter des pratiques de fork si nécessaire pour poursuivre des voies de développement indépendantes.
En exploitant le code source Go (golang) généré pour les applications backend ou le framework Vue3 et le code JS/TS pour les applications Web, ou le code Kotlin et Jetpack Compose ou SwiftUI pour les applications mobiles, les utilisateurs peuvent créer des forks qui répondent à des besoins ou des objectifs distinctifs. , en dehors de la portée de l'environnement no-code d' AppMaster. Cette flexibilité permet aux clients AppMaster d'exploiter les avantages des pratiques de fork, tout en bénéficiant du développement rapide d'applications fourni par les capacités no-code de la plateforme.
En résumé, le forking est une pratique clé dans le contexte des licences logicielles et de l'open source qui permet aux développeurs de créer de nouvelles versions de projets logiciels existants en exploitant le code source d'origine. Il favorise l'innovation, accélère le processus de développement et garantit que les solutions logicielles peuvent être personnalisées pour répondre à des exigences ou à des objectifs spécifiques. La plate-forme AppMaster reconnaît l'importance du fork dans le développement logiciel contemporain, en fournissant aux clients des packages de code source générés, leur permettant de suivre des voies de développement indépendantes grâce à des pratiques de fork en cas de besoin.