De plus, l'interface des string aurait due être séparée en "méthodes" non modifiantes, "méthodes modifiantes", quitte à faire une classe "readonly_string" qui permette les recherches, les modifications de taille (ou du pointeur de début de chaîne) mais pas du contenu de la chaîne
On est en C++ là. Il suffit de faire une const std::string. Les méthodes que tu peux utilisées sont alors uniquement celles annotées "const", qui ne modifient pas le contenu de l'objet. Pas besoin d'une deuxième classe.
Cela dit, il me semble qu'il y a dans les projets pour C++17 une "string_view", qui ne stocke pas ses données mais permet de faire ce genre de choses avec des données externes (venant d'une string, d'un char*, ou d'une autre string_view), ceci afin de limiter le nombre de copies des données.
Si je me souviens bien, ils étaient surtout pas d'accord avec la gouvernance de Debian et la façon dont les décisions étaient prises. C'est ça qui a motivé un fork.
Tu as reproduit le même bug: le premier replace déplace tous les caractères, et tes offsets (even et dont) ne sont plus au bon endroit sur la nouvelle chaîne.
Quand j'étais au lycée, les manuels étaient achetés par la fédération des parents d'élèves (à partir d'une liste fournie par les professeurs du lycée), et prêtés aux lycéens sous caution. Donc l'EN n'est pas le seul client!
C'est le cas (d'ailleurs les exmples dans la dépêche montrent que certains compilateurs font des choix différents). Mais il y a toujours un compromis entre "on laisse le compilateur faire le truc le plus rapide possible" et "on fait un truc qui fonctionne comme attendu". Par exemple, le comportement du modulo sur les nombres négatifs n'était pas défini en C89, mais il l'est devenu en C99.
Ou que tu demandes l'accord de tous les contributeurs un par un. Par exemple MAME a réussi à changer de licence de cette façon (pour passer d'une licence "non commerciale" à la GPL). Mais ça devient vite compliqué, surtout sur un projet un peu ancien avec plusieurs contributeurs. Il vaut mieux penser à faire signer un CLA dès le début.
Ben si tu vends rien, c'est normal que t'aies du mal à trouver des acheteurs :)
Pour les jeux sur téléphone par exemple, le code peut très bien être libre, et le jeu en free-to-play avec achat de bonus (c'est la mode). Bien sûr quelqu'un pourra faire un fork qui n'a pas besoin d'acheter des trucs, ou même un fork qui lui verse des sous à lui, plutôt qu'à toi.
Un modèle possible c'est de continuer à ajouter des fonctionalités (ou des niveaux, ou…) plus vite que tes concurrents qui ont recopié ton code. Oui, c'est un peu "loi de la jungle" comme fonctionnement, mais ça a l'avantage de fortement limiter la possibilité de monopoles, et de permettre une concurrence plus libre. Enfin, en tout cas c'est la vision de RMS sur la question. On peut ne pas être d'accord.
L'idée, c'est de dire que le code lui même n'a pas de valeur, ce qui compte, c'est l'expérience des développeurs et l'expertise de la boîte, et éventuellement les infrastructures. Et c'est ça qui doit être vendu. ça bouscule certains modèles économiques, hein.
Si le logiciel est libre, la question ne se pose pas.
Non, ça ne marche pas comme ça. La licence du logiciel s'applique lorsqu'on le distribue. On distribue le logiciel, et avec, on distribue les sources et une copie de la licence. Dans le cas de la GPL, on transfère en même temps le droit aux gens à qui le logiciel est distribué d'en faire de même.
Il peut exister un logiciel sous licence GPL mais qui n'est pas distribué. Si tu voles le code de ce logiciel, tu n'as pas de licence qui te donne le droit de te redistribuer. Voler du code ne te donne pas le droit de l'utiliser, ni de le distribuer. Pour obtenir ces droits, il te faut obtenir légalement une copie du logiciel. Dans le cas de la GPL, tu peux le faire en t'adressant à n'importe quel utilisateur qui a déjà obtenu une telle licence.
Un exemple concret: une version de Wireshark (sous GPL) avec des plug-ins pour décoder un protocole propriétaire et confidentiel. Cette version de wireshark n'est pas distribuée en dehors de l'entreprise qui le développe. Du coup, le seul utilisateur est l'entreprise elle-même, et elle n'est pas obligée de diffuser les sources de sa version. Si elle le fait, alors la personne qui a obtenu une copie pourra la diffuser. Mais tant qu'elle ne le fait pas, personne n'aura le droit de diffuser ces sources.
Je suis toujours étonné du nombre de gens ici qui n'ont jamais pris le temps de regarder comment fonctionnent les diverses licences, et le droit d'auteur sur lequel elles reposent.
Dans ce cas tu n'as pas le droit de redistribuer le logiciel. Mais si tu le fais, je ne pense pas que tu puisses être accusé de piratage: tu ne pouvais pas savoir que la licence qu'on t'a donné n'était pas valide. Et c'est donc celui qui t'as fourni le logiciel avec une licence GPL, sans en avoir le droit, qui est en tort.
Donc, accusé de piratage, non, mais on te demandera d'arrêter d'utiliser le logiciel et de prévenir tous les gens à qui tu l'as diffusé pour qu'ils détruisent également leurs copies.
Faire du code maintenable, ça se travaille. Si tu vas chez Airbus, par exemple, il y a tous les processus en place pour pouvoir pointer les erreurs. Pas pour faire du code sans bugs, hein, ça, ça n'existe pas. Mais s'il y a un problème, on peut tracer d'où il vient et faire en sorte qu'il ne se reproduise pas.
Maintenant, regardons ce qu'il se passe pour un bâtiment qui a été "mis en production" depuis quelques années. Est-ce que tu crois qu'on sait ou sont les plans? Est-ce qu'on est sûr que la construction correspond exactement au plan? Non. Là aussi il y a plein de surprises, et même si le plan est bien suivi, l'architecte a bien pu louper un truc et que ça se voie que 5 ou 10 ans après.
Donc, il y a des normes, des contrôles (on fait toujours une recette quand on livre un bâtiment), une méthodologie rigoureuse (on fait d'abord un plan d'architecte, il y a un maître d'ouvrage pour suivre le chantier), et avec tout ça on arrive à ce que dans la plupart des cas, les bâtiments tiennent debout. Y'a pas de magie, en informatique il faut faire pareil, sinon ce sera n'importe quoi.
C'est encore à côté de la plaque. Même si TOUT le code du serveur est sous GPL, ce code n'est jamais distribué aux clients/utilisateurs du service. Comme les contraintes de la GPL ne concernent QUE la distribution d'un logiciel, elle ne sert absolument à rien pour du code qui tourne sur un serveur.
Donc, même si tout le backend de Google ou de Facebook était en GPL, ça ne les obligerait pas à distribuer ce code aux gens qui se connectent à leur site. Uniquement aux personnes à qui ils distribuent leur code, c'est à dire, à peu près personne (à moins qu'iil y aie encore du Google/Facebook pour les entreprises avec un déploiement local sur les serveurs du client?)
C’est quoi le long terme ? Parce que cette approche a été viable sur plus de 20 ans, et l’informatique n’a encore que quelques décennies. Et quand les développeurs de LL écrivent de nouveaux logiciels, c’est sous GPL en général.
Ben forcément, si pour toi dès qu'on prend une autre licence, c'est plus du libre mais de l'open source, je vois pas comment les "développeurs de LL" pourraient faire autrement.
Mais c'est pas grave, je vais continuer à faire mes projets sous license MIT. Tu peux m'appeler "vilain méchant open source", ça change pas grand chose.
[^] # Re: Preuve formelle et supervision de la fabrication et de la distribution
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal HiFive1: Un Arduino à 320Mhz entièrement libre pour 2017. Évalué à 3.
En français, on dit tension, pas voltage.
[^] # Re: Erreur de livre et experts C++
Posté par pulkomandy (site web personnel, Mastodon) . En réponse à la dépêche C++17 fixe l’ordre d’évaluation des expressions. Évalué à 1.
On est en C++ là. Il suffit de faire une const std::string. Les méthodes que tu peux utilisées sont alors uniquement celles annotées "const", qui ne modifient pas le contenu de l'objet. Pas besoin d'une deuxième classe.
Cela dit, il me semble qu'il y a dans les projets pour C++17 une "string_view", qui ne stocke pas ses données mais permet de faire ce genre de choses avec des données externes (venant d'une string, d'un char*, ou d'une autre string_view), ceci afin de limiter le nombre de copies des données.
[^] # Re: Un forum, des forums.
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Devuan a deux ans . Évalué à 4.
http://www.academie-francaise.fr/questions-de-langue#16_strong-em-au-temps-pour-moi-em-strong
[^] # Re: Tout est là
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Devuan a deux ans . Évalué à 1.
Si je me souviens bien, ils étaient surtout pas d'accord avec la gouvernance de Debian et la façon dont les décisions étaient prises. C'est ça qui a motivé un fork.
[^] # Re: Erreur de livre et experts C++
Posté par pulkomandy (site web personnel, Mastodon) . En réponse à la dépêche C++17 fixe l’ordre d’évaluation des expressions. Évalué à 6.
Sauf que ça marche pas non plus!
Tu as reproduit le même bug: le premier replace déplace tous les caractères, et tes offsets (even et dont) ne sont plus au bon endroit sur la nouvelle chaîne.
[^] # Re: Un forum, des forums.
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Devuan a deux ans . Évalué à 2.
Non.
[^] # Re: Un forum, des forums.
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Devuan a deux ans . Évalué à 1.
Quand j'étais au lycée, les manuels étaient achetés par la fédération des parents d'élèves (à partir d'une liste fournie par les professeurs du lycée), et prêtés aux lycéens sous caution. Donc l'EN n'est pas le seul client!
[^] # Re: Licence
Posté par pulkomandy (site web personnel, Mastodon) . En réponse à la dépêche C++17 fixe l’ordre d’évaluation des expressions. Évalué à 1. Dernière modification le 01 décembre 2016 à 12:02.
Il te manque un T à "mes écrits".
(et si vous voulez réutiliser mes commentaires pour la prochaine dépêche, pas de problème)
[^] # Re: Génial
Posté par pulkomandy (site web personnel, Mastodon) . En réponse à la dépêche C++17 fixe l’ordre d’évaluation des expressions. Évalué à 1.
C'est le cas (d'ailleurs les exmples dans la dépêche montrent que certains compilateurs font des choix différents). Mais il y a toujours un compromis entre "on laisse le compilateur faire le truc le plus rapide possible" et "on fait un truc qui fonctionne comme attendu". Par exemple, le comportement du modulo sur les nombres négatifs n'était pas défini en C89, mais il l'est devenu en C99.
# Composants faits maison
Posté par pulkomandy (site web personnel, Mastodon) . En réponse à la dépêche Montrez vos bobines. Évalué à 8.
Il est en fait assez simple de fabriquer des condensateurs et des résistances.
On peut faire une résistance avec une mine de crayon, plus ou moins longue pour ajuster la valeur.
On peut faire un condensateur en alternant des couches de matériaux isolant et conducteur, par exemple du papier d'aluminium et du ruban adhésif.
Mais on le fait moins souvent :)
[^] # Re: Économie de don au sein de la monnaie non libre !
Posté par pulkomandy (site web personnel, Mastodon) . En réponse à la dépêche Liberapay, plate‐forme libre de dons récurrents . Évalué à 8.
En fait si:
http://www.presse-citron.net/crowdfunding-ils-levent-100-000-dollars-pour-creuser-un-trou-pour-le-fun/
[^] # Re: Mauvaise comparaison
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Joomla et les clubs à abonnement payant. Évalué à 1.
Ou que tu demandes l'accord de tous les contributeurs un par un. Par exemple MAME a réussi à changer de licence de cette façon (pour passer d'une licence "non commerciale" à la GPL). Mais ça devient vite compliqué, surtout sur un projet un peu ancien avec plusieurs contributeurs. Il vaut mieux penser à faire signer un CLA dès le début.
[^] # Re: Preuve formelle et supervision de la fabrication et de la distribution
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal HiFive1: Un Arduino à 320Mhz entièrement libre pour 2017. Évalué à 1.
Je suis curieux d'avoir vos listes de 10 candidats. ça sera au moins l'occasion de découvrir des gens et des projets intéressants!
[^] # Re: Mauvaise comparaison
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Joomla et les clubs à abonnement payant. Évalué à 1.
Ben si tu vends rien, c'est normal que t'aies du mal à trouver des acheteurs :)
Pour les jeux sur téléphone par exemple, le code peut très bien être libre, et le jeu en free-to-play avec achat de bonus (c'est la mode). Bien sûr quelqu'un pourra faire un fork qui n'a pas besoin d'acheter des trucs, ou même un fork qui lui verse des sous à lui, plutôt qu'à toi.
Un modèle possible c'est de continuer à ajouter des fonctionalités (ou des niveaux, ou…) plus vite que tes concurrents qui ont recopié ton code. Oui, c'est un peu "loi de la jungle" comme fonctionnement, mais ça a l'avantage de fortement limiter la possibilité de monopoles, et de permettre une concurrence plus libre. Enfin, en tout cas c'est la vision de RMS sur la question. On peut ne pas être d'accord.
L'idée, c'est de dire que le code lui même n'a pas de valeur, ce qui compte, c'est l'expérience des développeurs et l'expertise de la boîte, et éventuellement les infrastructures. Et c'est ça qui doit être vendu. ça bouscule certains modèles économiques, hein.
[^] # Re: tweet ?
Posté par pulkomandy (site web personnel, Mastodon) . En réponse à la dépêche Conférence LinuxFr(.org), mais refaire ?. Évalué à 3.
Tu veux dire, comme un journal bookmark?
http://linuxfr.org/tags/bookmark/public
[^] # Re: Si au moins ça se limitait aux logiciels…
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Programmer ça craint. Évalué à 2.
On apprend à poser de la fibre à l'école maintenant?
[^] # Re: Capté
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Programmer ça craint. Évalué à 2.
En attendant, V-Tech, ils ont 40 ans cette année et ils arrivent toujours à vendre leurs produits. Le marché doit pas être si mal ciblé que ça.
[^] # Re: Distribution par plateforme tierce
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Joomla et les clubs à abonnement payant. Évalué à 7.
Non, ça ne marche pas comme ça. La licence du logiciel s'applique lorsqu'on le distribue. On distribue le logiciel, et avec, on distribue les sources et une copie de la licence. Dans le cas de la GPL, on transfère en même temps le droit aux gens à qui le logiciel est distribué d'en faire de même.
Il peut exister un logiciel sous licence GPL mais qui n'est pas distribué. Si tu voles le code de ce logiciel, tu n'as pas de licence qui te donne le droit de te redistribuer. Voler du code ne te donne pas le droit de l'utiliser, ni de le distribuer. Pour obtenir ces droits, il te faut obtenir légalement une copie du logiciel. Dans le cas de la GPL, tu peux le faire en t'adressant à n'importe quel utilisateur qui a déjà obtenu une telle licence.
Un exemple concret: une version de Wireshark (sous GPL) avec des plug-ins pour décoder un protocole propriétaire et confidentiel. Cette version de wireshark n'est pas distribuée en dehors de l'entreprise qui le développe. Du coup, le seul utilisateur est l'entreprise elle-même, et elle n'est pas obligée de diffuser les sources de sa version. Si elle le fait, alors la personne qui a obtenu une copie pourra la diffuser. Mais tant qu'elle ne le fait pas, personne n'aura le droit de diffuser ces sources.
Je suis toujours étonné du nombre de gens ici qui n'ont jamais pris le temps de regarder comment fonctionnent les diverses licences, et le droit d'auteur sur lequel elles reposent.
[^] # Re: Distribution par plateforme tierce
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Joomla et les clubs à abonnement payant. Évalué à 3.
Dans ce cas tu n'as pas le droit de redistribuer le logiciel. Mais si tu le fais, je ne pense pas que tu puisses être accusé de piratage: tu ne pouvais pas savoir que la licence qu'on t'a donné n'était pas valide. Et c'est donc celui qui t'as fourni le logiciel avec une licence GPL, sans en avoir le droit, qui est en tort.
Donc, accusé de piratage, non, mais on te demandera d'arrêter d'utiliser le logiciel et de prévenir tous les gens à qui tu l'as diffusé pour qu'ils détruisent également leurs copies.
[^] # Re: pro-libre ou pro-copyleft? Et autres trucs pas très libristes.
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal "Libre, chiche !" un communiqué du Synpell et de Minga. Évalué à 5.
Pas si tu choisis la GPL: là, les problèmes pour juste lire et comprendre la licence commencent! ;)
[^] # Re: Et les autres
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Programmer ça craint. Évalué à 3.
Faire du code maintenable, ça se travaille. Si tu vas chez Airbus, par exemple, il y a tous les processus en place pour pouvoir pointer les erreurs. Pas pour faire du code sans bugs, hein, ça, ça n'existe pas. Mais s'il y a un problème, on peut tracer d'où il vient et faire en sorte qu'il ne se reproduise pas.
Maintenant, regardons ce qu'il se passe pour un bâtiment qui a été "mis en production" depuis quelques années. Est-ce que tu crois qu'on sait ou sont les plans? Est-ce qu'on est sûr que la construction correspond exactement au plan? Non. Là aussi il y a plein de surprises, et même si le plan est bien suivi, l'architecte a bien pu louper un truc et que ça se voie que 5 ou 10 ans après.
Donc, il y a des normes, des contrôles (on fait toujours une recette quand on livre un bâtiment), une méthodologie rigoureuse (on fait d'abord un plan d'architecte, il y a un maître d'ouvrage pour suivre le chantier), et avec tout ça on arrive à ce que dans la plupart des cas, les bâtiments tiennent debout. Y'a pas de magie, en informatique il faut faire pareil, sinon ce sera n'importe quoi.
[^] # Re: Et les autres
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Programmer ça craint. Évalué à 4.
On vois que vous avez jamais construit un immeuble de 30 étages… Des témoignages?
[^] # Re: Ha les intégristes du libre...
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal De l'autarcie du projet GNU, ou comment Emacs ne veut pas devenir EmacOs. Évalué à 2.
C'est encore à côté de la plaque. Même si TOUT le code du serveur est sous GPL, ce code n'est jamais distribué aux clients/utilisateurs du service. Comme les contraintes de la GPL ne concernent QUE la distribution d'un logiciel, elle ne sert absolument à rien pour du code qui tourne sur un serveur.
Donc, même si tout le backend de Google ou de Facebook était en GPL, ça ne les obligerait pas à distribuer ce code aux gens qui se connectent à leur site. Uniquement aux personnes à qui ils distribuent leur code, c'est à dire, à peu près personne (à moins qu'iil y aie encore du Google/Facebook pour les entreprises avec un déploiement local sur les serveurs du client?)
# C'est pas le premier!
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal OPEN-V : premier microcontrôleur libre ?. Évalué à 2.
https://www.parallax.com/microcontrollers/propeller-1-open-source
[^] # Re: Ha les intégristes du libre...
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal De l'autarcie du projet GNU, ou comment Emacs ne veut pas devenir EmacOs. Évalué à 2.
Ben forcément, si pour toi dès qu'on prend une autre licence, c'est plus du libre mais de l'open source, je vois pas comment les "développeurs de LL" pourraient faire autrement.
Mais c'est pas grave, je vais continuer à faire mes projets sous license MIT. Tu peux m'appeler "vilain méchant open source", ça change pas grand chose.