lundi 25 mai 2015

Guerre des brevets : l'amende infligée à Samsung pour violation des brevets d'Apple Devrait être revue à la baisse

C’était le 24 août 2012 que Samsung avait été reconnu coupable d’avoir violé une série de brevets d’Apple et avait été condamné par un jury de San José (Californie) à verser 930 millions de dollars en guise de dommages et intérêt au plaignant. Le Sud-Coréen avait alors fait appel du verdict et c’est lundi dernier que le jugement a été rendu.

La cour fédérale de Washington a validé l’essentiel du jugement en avançant que « un jury a conclu que Samsung a violé les brevets de conception et d’utilitaire d’Apple ». Elle a poursuivi en disant que « pour les raisons qui suivent, nous confirmons le verdict du jury sur la violation des brevets de conception ainsi que la validation de deux utilitaires revendiqués dans le brevet et les dommages-intérêts accordés pour la violation de brevets de conception et d’utilitaire par Samsung ». Elle précise néanmoins que « cependant, nous infirmons les conclusions du jury qui affirme que l’apparence d’un produit est protégeable ».

La cour estime donc que l’apparence d’un smartphone rectangulaire avec des angles arrondis et une surface plane ne saurait être protégée. Les magistrats estiment que Samsung ne saurait être remis en cause pour avoir conçu des smartphones partageant ce profil, sous peine d’assurer un monopole perpétuel à Apple quant aux caractéristiques de fabrication d’un smartphone. « La loi sur les marques déposées prévoit un monopole perpétuel mais son usage pour la protection de 'particularités physiques et la conception d'un produit' doit se limiter aux (particularités) non fonctionnelles » ont estimé les magistrats.

Il faut dire que, lors du procès, Samsung avait apporté « de nombreuses preuves dans le dossier qui ont montré les fonctions de chaque élément dans le revêtement commercial non déposé ». Des choses comme des coins arrondis améliorent la « transport dans sa poche » ainsi que la « durabilité » ou encore une surface plane favorise les opérations tactiles sur de larges écrans. 

Raison pour laquelle les magistrats ont demandé un nouveau calcul des dommages et intérêts sur lesquels ils estiment que 382 millions de dollars qui ont été infligés à ce titre, soit près d’un tiers de la somme initiale. Précisons que la décision ne s’applique qu’au verdict de 2012. Elle ne traite en aucun cas la seconde plainte qui a opposé Samsung à Apple et qui s’est soldée par un plus petit montant de 120 millions de dollars. 

Pour ce qui concerne les utilitaires tels que la fonction permettant d’effectuer un zoom en tapotant deux fois son écran du doigt, Samsung a bel et bien été reconnu coupable. Les avocats de Samsung ont essayé de faire valoir au jury qu’il était injuste de faire perdre des bénéfices sur un téléphone à cause de quelques infractions au niveau des fonctionnalités.

Quoiqu’il en soit, un porte-parole d’Apple a avancé que « même si Samsung doit payer pour son infraction généralisée de nos brevets, cette affaire a toujours été au-delà du seul aspect pécuniaire. Il est question d’innovation et du travail acharné pour inventer des produits que les gens aiment, et il est difficile d’y mettre un prix ». 

Source : décision de justice

Rust se lance à la conquête des développeurs C/C++

Près de cinq ans après la première présentation publique de son langage de programmation Rust, la fondation Mozilla lance la version stable qui peut désormais être utilisée en environnement de production.

Rust est développé par la fondation Mozilla. C’est un langage de programmation compilé, multiparadigme (orienté objet, fonctionnel et procédural) qui tire parti des langages fonctionnels comme Haskell et ML, du langage orienté objet C++ et bien plus.

Le but de Mozilla est de mettre à la disposition des développeurs « un langage orienté objet statique, typé, sûr, concurrentiel et efficace ». Selon la fondation Mozilla, il s’agit d’un nouveau langage de programmation visant à rendre plus facile le développement des systèmes fiables et efficaces.

Sur le site du projet, on peut lire en guise d’introduction que « Rust est un langage de programmation système qui fonctionne incroyablement rapidement, empêche presque toutes les erreurs de segmentation, et garantit la sécurité des threads. »

Ce qui rend Rust différent des autres langages de programmation est son système de type, selon Mozilla. Le langage fournit la sécurité et la commodité des langages modernes, tout en maintenant l’efficacité et le contrôle de bas niveau des langages C et C++.

À partir de cette version, il n’y aura plus de changement pouvant briser la rétrocompatibilité. 

Parallèlement à cette version, Mozilla a publié la version stable de Cargo, le gestionnaire de packages pour le langage de programmation. Cargo est écrit en Rust et simplifiera la création et la distribution des bibliothèques Rust par les développeurs.

Mozilla a lancé le premier référentiel pour les bibliothèques Rust. crates.io est la plateforme officielle pour rechercher et installer les paquets Rust. Les développeurs peuvent également y publier leurs bibliothèques.

Le langage continuera à évoluer suivant un modèle de développement open source, autour des processus de RFC. Une RFC (request for comments) est une liste de discussions sur de nouvelles fonctionnalités du langage de programmation.

Les développeurs du langage ont adopté un nouveau cycle de développement inspiré du système de canaux utilisé pour Firefox et Chrome. Ainsi, les évolutions de la plateforme pourront être suivies au travers des canaux Nightly, Beta et Stable, qui seront mis à jour toutes les six semaines.

De ce fait, parallèlement, Mozilla a publié la version beta de Rust 1.1.

 Télécharger la version stable de Rust 1.0

Source : Mozilla

jeudi 21 mai 2015

Que faut-il faire pour avoir de meilleurs logiciels ? Selon un développeur senior, il faut miser sur les techniques d'ingénierie du génie logiciel

Dans son blog nommé Building Real Software, Jim Bird, directeur de technologie chez BIDS Trading, nous interpelle avec cette question : « Si vous ne pouviez faire qu'une seule chose pour avoir de meilleurs logiciels, que serait-elle ? »

Selon lui, on devrait commencer par l’intégration continue puisqu’il faut d’abord « construire le logiciel et le faire fonctionner avant de pouvoir faire quelque chose d'utile avec ». Pour cela, il conseille de « faire en sorte que les développeurs enregistrent et synchronisent leur travail plus souvent » en gardant en tête qu’il faut construire le système (Build) le plus fréquemment possible : « au moins une fois par jour pour commencer, puis lors de chaque Check-in » déclare-t-il. Ceci implique selon lui de simplifier et automatiser le Build du système, et faire en sorte que l’opération s’effectue de manière correcte.

Il ajoute ensuite qu’on ne peut pas être Agile sans l’intégration continue, et qu’on a « besoin de la mettre en place avant de pouvoir aller sur le chemin du DevOps pour assurer la livraison ou le déploiement continu ».

La deuxième chose la plus importante à faire pour avoir de meilleurs logiciels selon Jim Bird c’est de « charger les développeurs de tester leur propre travail, et automatiser cela autant que possible en s’appuyant sur l’intégration continue », ceci serait selon lui « la seule façon de fournir des logiciels plus rapidement et réduire les coûts ». Toutefois, il rappelle que ces tests ne sont pas exhaustifs et qu’il faudra quand même quelqu’un pour vérifier manuellement la sécurité, l’utilisabilité, l’intégration ainsi que le negative testing et le stress testing, « à moins que vous vous attendiez à ce que vos clients trouvent les bugs pour vous ».

La troisième chose à faire c’est les Code Reviews. Le but étant de relire le code pour repérer les erreurs à un stade précoce, ceci permettra de créer une forme de « protection défensive de codage » selon l’auteur du blog. Il a tenu à rappeler que les reviews coûtent quand même cher et qu’il ne faut pas faire perdre le temps des reviewers à chercher des problèmes futiles.
Une autre technique citée par Jim Bird pour assurer la qualité du code est le Pair Programming. « Le pairing n’est pas la même que le reviewing » assure-t-il, « un bon reviewer pourra trouver des problèmes même dans le code développé grâce à la programmation en pair » puisque « le but et les objectifs sont différents ».

La dernière chose à faire avec laquelle l’auteur conclut l’article est de ne pas oublier le ‘refactoring’ qu’il voit comme un investissement à long terme : « Il permet de conserver -et parfois de rétablir- la conception, et de sauvegarder la maintenabilité du code […] Vous payez un peu aujourd'hui pour gagner beaucoup plus dans l'avenir ».

Source : Building Real Software Blog

Et vous ?

Les développeurs du noyau Linux adoptent un code de bonne conduite Après plusieurs conflits internes au sein de la communauté

Un bon nombre de conflits internes ont été signalés dans la Mailing List du noyau Linux, car le caractère assez particulier de Linus Torvalds, le créateur de Linux, les aurait dérangé.

Torvalds est l’actuel superviseur de développement du noyau Linux. Il est connu pour exprimer franchement son mécontentement si un travail ne lui plaît pas, et souvent avec des propos « vulgaires » et qualifiés de « très rudes » par certains internautes. Lennart Poettering, un ingénieur de Red Hat et un des créateurs de « systemd » (adopté aujourd’hui par la plupart des distributions Linux), avait même posté publiquement sur son profil Google+ que Torvalds est un « mauvais modèle » à suivre.

« Ce n’est pas un endroit convivial », déclare Lennart Poettering, « La communauté Linux est dominée par des hommes blancs du western âgés entre la trentaine et la quarantaine. Je rentre parfaitement dans ce cadre et les ordures qu’ils jettent sur moi sont terribles. J’imagine que cela est encore pire pour les membres des minorités ou des personnes d’origine culturelle différente ».

Pour éviter que ce genre de posts publiques réapparaissent et pour rendre la « Mailing List du noyau Linux un endroit plus pacifique » un groupe de 60 développeurs du noyau ont signé la semaine dernière un code de bonne conduite en cas de conflit, celui-ci a été accepté et intégré dans la page GitHub du projet par Linus Torvals lui-même.

Voici une traduction approximative de ce code de conduite :

« L'effort de développement du noyau Linux est un processus très personnel par rapport aux moyens traditionnels de développement logiciel. Votre code et les idées derrière lui seront examinés attentivement, ce qui entraîne souvent de la critique. Presque toujours, l'examen exigera des améliorations sur le code avant qu'il puisse être inclus dans le noyau. Sachez que cela arrive parce que toutes les personnes impliquées veulent voir la meilleure solution possible pour le succès global de Linux. Ce processus de développement a prouvé qu’il permettait de créer le plus robuste noyau de système d'exploitation jamais vu, et nous ne voulons pas faire quelque chose qui causera la diminution de la qualité des soumissions et, éventuellement, des résultats.

Si, toutefois, une personne se sent personnellement agressée, menacée, ou autrement mal à l'aise en raison de ce processus, cela ne sera pas acceptable. Dans ce cas, veuillez s’il vous plaît contacter le conseil consultatif technique de la Fondation Linux à <tab@lists.linux-foundation.org>, ou les membres individuels, qui feront en sorte de résoudre le problème au mieux de leur capacité.

Pour plus d'informations sur qui est membre du conseil consultatif technique et quels sont leurs rôles, veuillez visiter ce lien: http://www.linuxfoundation.org/progr...y-councils/tab

En tant que critique de code, veuillez vous efforcer de rester courtois et concentré sur les problèmes techniques. Nous sommes tous humains, et les frustrations peuvent être grandes des deux côtés. Essayez de garder à l'esprit les mots immortels de Bill et Ted : "Soyez bons les uns envers les autres"
».

Voir le texte original du code de conflit publié sur GitHub (en anglais)

Source : Linux News, GitHub

dimanche 17 mai 2015

Sky : le langage de programmation Dart s'invite sur Android Et promet d'offrir des performances pouvant atteindre jusqu'à 120 FPS


Une équipe de Google travaille sur une nouvelle technologie qui devrait permettre d’exécuter des applications développées en Dart sur Android. Le projet baptisé SKY permettra ainsi aux développeurs de concevoir des applications Android en utilisant le langage de programmation Web. Il se positionne donc comme une alternative intéressante aux langages existants pour Android.

Pour rappel, Dart est un langage de programmation structuré pour le Web moderne, initié par l'équipe en charge du moteur JavaScript libre et open source Chrome V8. Le but initial de Google était de forcer JavaScript à prendre sa retraite en proposant un langage qui se différencie par son typage fort et optionnel.

Les ingénieurs de Google vont aujourd’hui un peu plus loin en voulant faire de Dart une alternative sérieuse pour le développement d’applications Android. Ainsi, lors de la conférence Dart Developer Summit qui s’est tenue la semaine dernière, ceux-ci on présenté les prémices de ce que sera Dart sur Android.

Alors que les applications Android développées en Java peuvent offrir au plus une performance de 60 (FPS Frame Per Second), les développeurs de SKY promettent de doubler ce rendement en offrant une expérience à 120 FPS.


Selon l’équipe de Dart, le projet Sky est « Jank-free by design », ce qui veut dire qu’il ne dispose pas d’API pouvant gêner le thread d’interface utilisateur. Donc, s’il arrive que le « backend » de l’application soit lent, l’interface utilisateur sera toujours rapide et réactive.

De plus, la solution permet de profiter des avantages qu’offre le Web. En effet, chaque application est lancée comme une solution Web, via HTTP. 

Il convient de rappeler que la plupart des applications Android sont actuellement développées en Java, bien qu'il existe des solutions alternatives en l’occurrence Apache Cordova (qui permet de développer en HTML5) et Xamarin pour Android (qui permet de développer en C#). Dart vient s’immiscer dans cet univers, et semble très prometteur. 


Le code source de SKY est hébergé sur GitHub et une version démo de l'application est disponible dans le Play Store.

Source : Dart Developer Summit

Mozilla déclare la guerre contre le "HTTP non-sécurisé" Et veut forcer les développeurs à migrer vers le protocole HTTPS

Dans un billet de blog, Mozilla annonce son intention de marquer le protocole HTTP comme étant obsolète afin de privilégier l’utilisation du protocole HTTPS utilisant le cryptage lors du transfert de données pour assurer l’intégrité et une meilleure sécurité.

Pour cela, Mozilla propose de définir une date après laquelle toute nouvelle fonctionnalité ne sera disponible qu’aux sites web utilisant le protocole sécurisé. Après cela, tous les autres sites se verront révoquer le droit d’utiliser certaines fonctions du navigateur, en particulier celles qui présentent des risques pour la sécurité et le respect de la vie privée des utilisateurs. Le but final de cet effort est d’envoyer un message d’alerte aux développeurs Web pour les inciter à adopter le protocole HTTPS partout sur leurs sites.

Mais Mozilla veut aller plus loin en proposant cette stratégie au W3C à travers son groupe de travail responsable sur la sécurité des applications web. En effet, si une telle décision est adoptée par le groupe de standardisation international, l’initiative serait beaucoup plus efficace puisqu’elle serait coordonnée et adoptée par l’ensemble de la communauté web et en particulier par les autres navigateurs.

Toutefois, après une discussion approfondie sur le sujet, la communauté active sur la liste de diffusion de Mozilla s’est mise d’accord sur la nécessité de bien étudier le compromis entre la sécurité et la compatibilité Web. Comme cité sur le billet de blog, « interdire des fonctionnalités pour les sites web non-sécurisés est susceptible de rompre le fonctionnement certains sites. Nous devons donc surveiller le degré de rupture et l'équilibrer avec les gains en termes de sécurité ». Une telle décision ne devrait donc pas être prise à la légère. 

D’autres propositions ont également été proposées sur la liste de diffusion de Mozilla telles que la limitation de la portée des cookies générés par les sites non sécurisés, ou encore la traduction automatique du schéma HTTP en HTTPS par le navigateur, ce qui permettrait aux internautes de visiter, en toute sécurité, des sites web utilisant encore le protocole obsolète.

Source: Mozilla Blog

Microsoft veut exécuter les applications Android sous Windows 10 Mais sans hériter des menaces qui ciblent l'OS mobile de Google

Comme nous l’avons récemment appris lors de la conférence Build 2015 de Microsoft, les applications Android pourront fonctionner sous la version mobile de Windows 10. Ce n’est pourtant pas une surprise, car les rumeurs circulaient déjà depuis plusieurs mois ; et depuis lors, la nouvelle a suscité des réactions mitigées entre les fans de Microsoft, et probablement chez les développeurs d’applications Windows Phone. 

Pour certains, c’est l’occasion rêvée pour la firme basée à Redmond de booster les ventes des terminaux mobiles de la maison. L’adoption des téléphones exécutant l’OS mobile de Microsoft a en effet été freinée par la pauvreté de la boutique d’applications pour Windows Phone. Pour d’autres par contre, Microsoft serait ainsi en train de mettre en difficulté son projet d’applications universelles, visant à construire des applications compatibles à tous les terminaux Windows 10. Ce serait encore donner plus de terrain à Android, alors que les développeurs Windows Phone seraient moins incités à développer des applications natives.

Outre ces arguments contre la prise en charge des applications Android sur Windows 10, il ne faudrait pas non plus ignorer que l’OS mobile de Google est la plateforme la plus ciblée par les logiciels malveillants mobiles. La firme de sécurité F-Secure l'a récemment rappelé par ses statistiques. Supporter les applications Android sur Windows 10 signifierait donc permettre aux programmeurs malveillants d’atteindre un plus large public. De quoi à inciter ces derniers à se concentrer sur Android.

Microsoft en est pleinement conscient. Et la firme de Redmond, si elle a décidé de fournir un support sur Windows 10 pour les applications Android, ne veut cependant pas hériter de la vulnérabilité de la plateforme mobile de Google.

Microsoft a en effet affirmé qu’il inspectera à la loupe les applications Android de sorte à ne pas transporter les logiciels malveillants sur l’écosystème Windows. Pour garantir cela, Microsoft affirme avoir développé un système de contrôle efficace pour empêcher les applications malveillantes de s’infiltrer dans sa plateforme. La firme dit encore avoir mis en place une équipe de chercheurs. Sur la base de données de télémétrie des utilisateurs de Windows et de soumissions de rapports, ces derniers devront de manière proactive rechercher les applications malveillantes. Ils devront s’assurer que celles-ci ne passent pas les contrôles de sécurité pour se glisser dans la boutique d’applications Windows, ou encore les retirer le plus tôt possible, si elles ont déjà pu s’infiltrer.

La firme de Redmond l’a expliqué à la conférence Build 2015, lors de la présentation du projet Astoria visant à « construire de grandes applications Windows avec votre code Android ». Par cette annonce, Microsoft espère rassurer les utilisateurs qui craignent la sécurité de leurs dispositifs mobiles Windows. Le géant de l’IT explique en effet pouvoir offrir aux utilisateurs de Windows, une expérience « digne de confiance » en les mettant en sécurité.


 Suivez la présentation du projet Astoria, à partir de la 23è minute

Microsoft compte 3,7 millions d'inscrits à son programme Windows Insider Qui se prolongera même après le statut RTM de Windows 10

Durant la conférence Build 2015, Microsoft a annoncé que près de 3,7 millions de personnes ont souscrit à son programme Windows Insider qui permet de « participer à la conception de Windows 10 aux côtés d’experts en PC, de professionnels de l’informatique et de développeurs du monde entier. Si vous pensez que BIOS est un nouveau carburant à base de plante, ce programme risque de ne pas vous convenir ». 

Il faut rappeler que la communauté des Insider regroupe deux profils : d’un côté nous avons les Insiders qui représentent l’utilisateur lambda, et de l’autre les professionnels de l’informatique (essentiellement les développeurs) qui utiliseront les préversions pour commencer à se familiariser avec les outils et la plateforme afin de développer leurs applications universelles pour Windows 10. Les retours de ces deux types de profil sont cruciaux pour Microsoft puisque l’entreprise les prend certainement en compte dans sa stratégie de développement.

En fin janvier, Microsoft avait annoncé 500 000 nouveaux testeurs en l’espace de huit jours, ce qui portait le nombre d’Insiders à 2,2 millions et a fait de Windows 10 la version du système d’exploitation qui jouit du plus fort taux d’adoption pendant la période des préversions, devant Windows 8 et Windows 7. Il faut tout de même rappeler que l’adoption n’est en aucun cas un gage de succès ; le taux d’utilisation de Windows 8 comparé à Windows 7 est l’exemple le plus illustratif.

Durant la conférence, Microsoft a fait savoir que le programme Windows Insider continuera même après que Windows 10 ait atteint le statut RTM (la version stable à partir de laquelle les constructeurs peuvent travailler pour préparer leurs offres). Une stratégie qui montre la volonté de Redmond de tester de nouvelles fonctionnalités mais aussi des correctifs avec le cercle de testeurs qui a accompagné l’élaboration de Windows 10 avant qu’ils ne soient disponibles pour le grand public. 

Source : Windows Central