Microsoft rend disponible Calculatrice Windows en open source
Afin que les développeurs puissent réutiliser le code et l'adapter à leurs applications

115PARTAGES

13  0 
Microsoft est depuis longtemps un champion de l'idéologie du logiciel non libre (logiciel propriétaire), idéologie grâce à laquelle l’entreprise a généré des milliards de dollars. Historiquement, la société s’opposait aux projets open source, à caractère public, comme Linux.

Sous la direction de Satya Nadella, toutefois, Microsoft est une société très différente. Non seulement elle prend en charge l'open source et Linux, mais elle apporte également du code au monde de l’open source. En fait, Microsoft est devenue l’un des principaux contributeurs. Hier, l’éditeur de Windows a annoncé qu'il va encore plus loin dans son engagement envers l'idéologie open source. Comment ? En faisant de son programme Calculatrice Windows un projet open source sur GitHub.

Dans un billet de blog, Dave Grochocki et Howard Wolosky de Microsoft ont expliqué que :

Citation Envoyé par Microsoft
Aujourd’hui, nous sommes heureux d’annoncer que nous sommes en train de rendre open source la calculatrice Windows sur GitHub sous licence MIT. Cela inclut le code source, le système de génération, les tests unitaires et la feuille de route du produit. Notre objectif est de créer une expérience utilisateur encore meilleure en partenariat avec la communauté. Nous encourageons vos nouvelles perspectives et votre participation accrue pour aider à définir l'avenir de la calculatrice.

En tant que développeurs, si vous souhaitez savoir comment différentes parties de l'application Calculator fonctionnent, intégrez facilement la logique ou l'interface utilisateur de la calculatrice dans vos propres applications, ou contribuez directement à quelque chose livré avec Windows, c'est désormais possible. Calculatrice continuera de passer par tous les tests habituels, la conformité, la sécurité, les processus qualité et des builds proposés aux Insiders, comme nous le faisons pour nos autres applications.
Grochocki et Wolosky expliquent ensuite que :

Citation Envoyé par Microsoft
L'analyse du code de la calculatrice est un excellent moyen de se familiariser avec les dernières technologies Microsoft telles que la plateforme universelle Windows, XAML et les pipelines Azure. Grâce à ce projet, les développeurs peuvent apprendre du cycle de vie complet de Microsoft, ainsi que réutiliser le code pour créer leurs propres expériences.Il s'agit également d'un excellent exemple de la conception d'une application Fluent.Pour faciliter les choses encore, nous allons ajouter des contrôles personnalisés et des extensions d'API que nous utilisons dans Calculatrice et d'autres applications, pour des projets tels que Windows Community Toolkit. et la bibliothèque de l'interface utilisateur Windows.

Microsoft encourage les développeurs à contribuer à la calculatrice Windows, désormais disponible en open source, en :

  • Participant aux discussions
  • Signalant ou résolvant des problèmes
  • Proposant de nouvelles idées de fonctionnalités
  • Faisant des prototypes de nouvelles fonctionnalités
  • Concevant et participant à l’élaboration de builds avec ses ingénieurs


La Calculatrice Windows est actuellement livrée avec les fonctionnalités suivantes:

  • Fonctionnalité de la calculatrice standard qui offre des opérations de base et évalue les commandes dès leur saisie.
  • Fonctionnalité de la calculatrice scientifique qui offre des opérations étendues et évalue les commandes en utilisant l'ordre des opérations.
  • Fonctionnalité de calculateur de programmeur qui offre aux développeurs des opérations mathématiques courantes, y compris la conversion entre des bases communes.
  • Historique de calcul et capacités de mémoire.
  • Conversion entre plusieurs unités de mesure.
  • Conversion de devise basée sur les données extraites de Bing.


Analyse technique

Comme pour toutes les modifications, le code des nouvelles fonctionnalités sera examiné par un membre de l'équipe Microsoft avant d'être archivé dans la branche principale.

Les nouvelles fonctionnalités nécessitent souvent une révision technique plus approfondie que les corrections de bogues. Lors de l'analyse du code pour les nouvelles fonctionnalités, l'équipe de Microsoft considère au moins les éléments suivants:

  • Tous les éléments de la liste de contrôle d'accessibilité doivent être abordés.
  • Tous les éléments de la liste de contrôle globale doivent être traités.
  • La modification doit être testée sur la version la plus ancienne de Windows prise en charge par l'application. Vous pouvez trouver ce numéro de version dans AppxManifest.xml. Tous les appels aux API plus récentes que cette version doivent être conditionnellement activés.
  • La modification doit utiliser uniquement les API prises en charge. Si des questions se posent quant à l'utilisation des API héritées ou non documentées, le Kit de certification des applications Windows doit être exécuté pour vérification.
  • La modification devrait enregistrer les progrès de l'utilisateur si l'application est suspendue et reprise. Le code permettant de gérer ces cas doit être testé dans le débogueur Visual Studio.
  • Si la modification comporte des personnalisations pour des familles de périphériques particulières, vous devez la tester sur ces familles de périphériques.
  • Le changement doit être testé avec la fenêtre de l'application redimensionnée à la plus petite taille possible.
  • Le changement doit être testé avec des thèmes clairs, sombres et à contraste élevé. Il convient de respecter la couleur d'accent préférée de l'utilisateur.
  • Si le changement ajoute de nouvelles bibliothèques ou d'autres dépendances:
    • Si la bibliothèque est fournie avec l'application, la taille accrue des fichiers binaires doit être mesurée.
    • Si la bibliothèque n'est pas gérée par Microsoft, l'équipe Microsoft devra définir un plan pour surveiller la bibliothèque en amont afin de détecter des modifications telles que des correctifs de sécurité.
    • Si la bibliothèque est utilisée sous une licence open source, nous devons nous conformer à la licence et créditer les tiers de manière appropriée.
  • Si la modification ajoute du code qui s'exécute pendant le chemin de démarrage de l'application ou ajoute de nouveaux éléments XAML chargés au démarrage:
    • Exécutez les tests de performance pour mesurer toute augmentation du temps de démarrage. Déplacez le travail hors du chemin de démarrage si possible.
  • Si la modification ajoute une journalisation supplémentaire:
    • Toute la journalisation doit utiliser TraceLogging.
    • Les événements de journal inutiles doivent être supprimés ou configurés de sorte qu'ils ne soient collectés que lorsque cela est nécessaire pour résoudre les problèmes ou mesurer l'utilisation des fonctionnalités.
  • Si la modification lit les données utilisateur à partir de fichiers ou de paramètres d'application:
    • Vérifiez que l'état enregistré dans une version précédente de l'application peut être utilisé avec la nouvelle version.
    • Si le changement fait des demandes de réseau:
  • Microsoft doit planifier la sécurité et la fonctionnalité de ces dépendances pendant toute la durée de vie de l'application (qui peut prendre plusieurs années).
  • L'application devrait être entièrement fonctionnelle si certaines demandes du réseau sont lentes ou échouent. Des outils tels que Fiddler peuvent être utilisés pour simuler des requêtes lentes ou échouées.


Source : annonce Microsoft, dépôt GitHub

Et vous ?

Que pensez-vous de cette décision ?
Êtes-vous intéressés ?
Quelle application aimeriez-vous voir transmise à l'open source ?

Voir aussi :

Microsoft travaillerait sur Windows Lite, une version Chrome OS de Windows pour les appareils mobiles à double écran et les rivaux des Chromebooks
Cloud computing : Microsoft réduit sérieusement l'écart avec Amazon en ce qui concerne l'adoption en entreprise, selon les résultats d'une enquête
Les développeurs d'apps peuvent désormais collecter 95% des produits de leur vente sur Microsoft Store, si quelques conditions sont remplies
Microsoft présente Azure Sentinel et Threat Experts pour aider les professionnels de la sécurité, à réagir plus rapidement lors de cyberattaques
Microsoft a lancé une fonctionnalité qui permet de transformer la photo d'un tableau de données en une feuille de calcul Excel éditable

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de tlt
Membre actif https://www.developpez.com
Le 07/03/2019 à 7:48
C'est cool ça
Avatar de Sodium
Membre extrêmement actif https://www.developpez.com
Le 07/03/2019 à 8:08
Le projet en lui-même ne m'intéresse pas mais c'est toujours bon à prendre de pouvoir aller fouiner dans le code source de professionnels pour voir comment ils travaillent
Avatar de FatAgnus
Membre averti https://www.developpez.com
Le 07/03/2019 à 8:24
Citation Envoyé par Stéphane le calme Voir le message
Microsoft est depuis longtemps un champion de l'idéologie du logiciel non libre (logiciel propriétaire)
Microsoft est toujours le champion du logiciel non libre, puisque Microsoft reste le plus gros éditeur de logiciels est monde est que la quasi totalité de ses logiciels sont distribués sont des logiciels propriétaires. Est-ce que les utilisateurs des logiciels Microsoft peuvent jouirent des quatre libertés du logiciel libre, à savoir la liberté d'utiliser le logiciel, la liberté de copier le logiciel, la liberté d'étudier le logiciel et la liberté de modifier le logiciel et de redistribuer les versions modifiées ? Non. Même la version de Visual Studio Code que l'on peut télécharger sur le site de Microsoft est un logiciel propriétaire qui est basé sur la version open source du même nom.

La société Microsoft est certainement devenue un gros contributeur open source, car Microsoft a compris que l'open source était une méthode qui pouvait abaisser les coûts de développement et améliorer la qualité de leurs logiciels. Malgré tout, Microsoft reste le champion toute catégorie du logiciel propriétaire et reste très éloigné de l'idéologie du logiciel libre.
Avatar de tmcuh
Membre régulier https://www.developpez.com
Le 07/03/2019 à 9:00
Alors qu'en Visual Basic t'aurais tout compris juste en ouvrant un fichier, là tu parcours pleins de fichiers, pour te rendre compte que c'est une usine à gaz des events des controller des interfaces des views... tout ça pour te dire que tu touvera plus à ta calculatrice avant 2025 et qu'elle t'as couté 4x le prix d'un "simple" code
Avatar de Mimoza
Membre actif https://www.developpez.com
Le 07/03/2019 à 9:48
Je vous encourage a aller voir le README de la page github … surtout la partie « data / telemetry »
Très rassurant que de voir que même dans ce genre d'application simple/classique l'espionnage est de mise …
Avatar de xarkam
Membre confirmé https://www.developpez.com
Le 07/03/2019 à 13:58
Citation Envoyé par FatAgnus Voir le message
Même la version de Visual Studio Code que l'on peut télécharger sur le site de Microsoft est un logiciel propriétaire qui est basé sur la version open source du même nom.
Tout comme Firefox n'est pas libre. Tu ne peux pas redistribuer firefox sans son logo et l'appeler firefox.

Un nouveau logiciel MS dont le code est trans-versé dans l'opensource. Je prépare les seaux de popcorn, on va s'amuser avec les commentaires des libristes

Au passage, hier j'ai testé la calculette dans reactos 0.4.11 avec un simple calcul : 14.13 - 14.12 et le résulta et de 0.01000000000002
Avatar de bazbazbaz
Candidat au Club https://www.developpez.com
Le 07/03/2019 à 18:43
Tiens, depuis quand on ne peut pas réutiliser ou redistribuer le code de Firefox sans reprendre la marque "Firefox"? Tu ne connaissais donc pas "Iceweasel", "Waterfox"? Franchement, abstiens toi de parler de chose lorsque tu ne les maîtrises pas vraiment, cela peut éviter des situations ridicules.
Avatar de xarkam
Membre confirmé https://www.developpez.com
Le 07/03/2019 à 19:07
Citation Envoyé par bazbazbaz Voir le message
Tiens, depuis quand on ne peut pas réutiliser ou redistribuer le code de Firefox sans reprendre la marque "Firefox"? Tu ne connaissais donc pas "Iceweasel", "Waterfox"? Franchement, abstiens toi de parler de chose lorsque tu ne les maîtrises pas vraiment, cela peut éviter des situations ridicules.
Comme tu parle de ridicule, pense donc à lire la licence de firefox liée à l'utilisation de leur "marque".

Tu est d'un ridicule affligeant. Tu n'est donc même pas capable d'expliquer l’existence de Iceweasel et consort.

Si il y en a bien un qui ne maîtrise pas le sujet c'est toi.

Sans rancune le ptit jeune
Avatar de bazbazbaz
Candidat au Club https://www.developpez.com
Le 07/03/2019 à 19:29
Si, si, je suis très bien capable d'expliquer, par contre toi, tu n'as pas du tout comprendre: Mozilla n'autorise pas n'importe qui à reprendre sa "marque commerciale" Firefox, de même que son logo. Rien que de plus normal pour n'importe quelle entité qui gère et fait attention à son image de marque. Mozilla autorise parfaitement à reprendre le code de firefox et à le redistribuer modifié sous n'importe quel autre nom ou avec n'importe quel autre logo. Cela permet entre autre de se dégager légalement de toutes les versions vérolées de Firefox que des petits malins feraient circuler sur internet en utilisant son image de marque. Rien que de très normal donc. C'est vraiment dommage pour toi que l'on ne puisse pas modifier ces commentaires à posteriori, car quand tu déclares:

Tu ne peux pas redistribuer firefox sans son logo et l'appeler firefox.
Tu graves dans le marbre tes déclarations fumeuses. Pour être sympa, je vais quand même corriger ta phrase: "Tu ne peux pas redistribuer une version modifiée de Firefox avec son logo et son nom". Ne me remercie pas surtout.
Avatar de Aurelien.Regat-Barrel
Expert éminent sénior https://www.developpez.com
Le 08/03/2019 à 0:14
Citation Envoyé par FatAgnus Voir le message
car Microsoft a compris que l'open source était une méthode qui pouvait abaisser les coûts de développement et améliorer la qualité de leurs logiciels
C'est pas vraiment la motivation non. Tu parles de VS Code : quel intérêt pour MS à financer cet outil que personne ne paye ? Certainement pas pour faire des économies.

C'est la même raison qui pousse Google et les autres à offrir gratuitement tout un tas d'outils qui vont dans le même sens : attirer les utilisateurs sur sa plateforme (Azure), fournir des outils gratuits qui facilitent la vente de services payants.

La liberté de copier et redistribuer un logiciel, à partir du moment où ça implique de louer des instances sur le Cloud, ce n'est plus du tout un problème, bien au contraire.
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web