Archive

Archive de la Catégorie ‘MondeLibre’

Desktop 2.0

25 juin 2010 fredix 7 commentaires

Suite à cet article sur ownCloud je souhaite à nouveau écrire sur ce sujet qui me tient à coeur, l’avenir du Desktop. Par ce titre ironiquo-buzzien je souhaite présenter ce que cela me représente.

Lire la suite…

Catégories:Internet, MondeLibre, web

Du modèle économique du libre : status.net wordpress.com shapado.com

10 juin 2010 fredix 2 commentaires

Lors de mes pérégrinations récentes à chercher un microblog libre sans limitation du nombre de caractères, on me fit découvrir http://unlimited.status.net/. J’ai bien sûr un compte http://identi.ca/ mais la mode de la limitation de caractères lancées par Twitter m’exaspère au plus au point (c’est plutôt stressant de limiter sa prose pour gagner 3 caractères afin de pouvoir poster…). Bien que répondant à mon besoin, ce sous-domaine est plutôt laid, et les autres sites utilisant le moteur de status.net plus joli comme http://brainbird.net/ limitent malgré tout à 300 caractères…

C’est alors que la lumière fut lorsque je découvris l’offre de « cloud » de StatusNet http://status.net/signup En effet nul besoin de s’auto-héberger (mon temps est précieux), cette offre me permet d’avoir mon propre sous-domaine chez status.net et de l’administrer selon mon bon vouloir, notamment de faire sauter cette stupide limitation de caractères : http://fredix.status.net/

Elle permet aussi d’héberger sa propre communauté http://status.net/whos-using-statusnet, ouverte ou pas, Mozilla ne s’en est d’ailleurs pas privé : http://mozilla.status.net/ On dépasse largement avec tout ça le peu que propose Twitter. Cependant si je souhaite des services complémentaires comme les SMS ou XMPP, Status.net va proposer ce mois-ci une offre premium ajoutant un certain nombre d’options : http://status.net/cloud (SMS, XMPP, fichiers, …) J’espère que le prix sera abordable !

Je trouve cela très intelligent de leur part, et c’est une copie du modèle de http://wordpress.com/. Un logiciel que l’on peut s’installer et héberger soit même, ou bien simplement utiliser la version gratuite, ou la version avec des options payantes. Tout cela avec la garantie de pouvoir récupérer et exploiter ses données à tout instant grâce au code libre téléchargeable.

Cette 3ème voie me semble parfaite pour les logiciels libres qui souhaitent trouver un modèle économique. Il est dommage que pas mal de libristes feignent de l’ignorer, et préfèrent sacrifier le soutient financier du libre sur l’autel de l’auto-hébergement « pure et pas minitel 2.0″ …..

J’estime d’ailleurs que certaines organisations à but non lucratif devraient s’en inspirer afin de financer leurs actions et pourquoi pas même leurs développeurs … Et bien même soyons fou pour financer le développement de services concurrentiels à Google, l’éthique et la confiance accordées à des organisations type FSFEFF ou GNOME Foundation sont d’une valeur inestimable face à n’importe quelle entreprise suspecte par définition. Mais ceci est un autre débat :)

Pour terminer, en plus de status.net et wordpress.com il existe aussi l’excellent http://shapado.com/ logiciel libre de question/réponse qui propose un hébergement avec des options payantes (plutôt chères :(  )  : http://shapado.com/plans Voici un exemple avec un shapado consacré à android : http://android.shapado.com/

Catégories:MondeLibre, web

RMS à Lyon

14 janvier 2010 fredix Laisser un commentaire

Après presque 12 ans d’utilisation de logiciel libre, je viens enfin de rencontrer le gourou de tous les GNU/Linuxiens, RMS bien sûr. Cette rencontre a été organisée par L’ALDIL et L’université Lyon2 (http://www.colibre.org/module-Actus-display-sid-84.html ) donc merci beaucoup à eux.

J’avais bien sûr visionné des vidéos de ses conférences et lu quelques comptes rendus, aussi ai-je eu un sentiment de déjà vu tout le long de son discours qui s’est bien entendu terminé par une transformation en Saint IGNUcius.

Le discours et sa structure ne semble ne pas avoir changé depuis de nombreuses années, et son show a laissé malheureusement très peu de temps aux questions. Dommage car j’aurais voulu creuser sa position négative sur les « logiciels comme service » (Software As A Service) notamment par des entités comme la Mozilla Fondation , WordPress.com ou pourquoi pas la FSF. En effet l’avenir se dirige nettement vers ce type de services où même les systèmes d’exploitations y seront fortement liés (Google Chrome OS, JoliCloud, Android, iPhone, …) ou complètement déployé (eyeOS). Il y aura donc de moins en moins la nécessité d’installer du logiciel, libre ou pas, mais certainement d’avoir des alternatives libres et éthiques aux SaaS.

Une question a été posé sur le modèle économique du libre. Il est intéressant de constater que RMS bote en touche en répondant que c’est comme de vouloir parler du modèle économique de la Liberté. Cependant il est curieux de constater que d’un côté il refuse à imaginer un modèle économique et de l’autre il exige via la GPL que n’importe qui puisse commercialiser les logiciels libres. J’en conclu que ce qui lui importe surtout, c’est laisser la liberté aux autres, quelle qu’elle soit, même si pour lui cela revient pour lui à vendre un bol d’air.

C’est à mon avis, exactement cette contradiction qui est à l’origine du mouvement qu’il réprouve, l’OpenSource. Or même si l’OpenSource présente le logiciel libre de manière pragmatique sans tong ni barbe, ce mouvement respecte bien entendu les licences libres et a permis sans aucun doute l’implication dans le mouvement, des entreprises. A contrario il est d’autant plus curieux de constater sa tolérance envers les licences libres BSD qui pourtant autorisent l’intégration de leurs codes dans du logiciel propriétaire, l’inverse ou presque de la GPL … :)

Quant aux attaques envers Linus, on a grâce à lui la possibilité d’utiliser des systèmes libres depuis les années 1990, car on attend toujours le GNU Hurd

En tous les cas, très content d’avoir pu rencontrer cet emblème vivant des logiciels libres. Très content aussi d’avoir rencontré un fan d’Amiga visiblement touché par le personnage. En tant qu’ancien fan on peut dire que cette communauté est resté active, et a fini par comprendre l’intérêt des licences libres (voir AROS et Haiku) car Libre is NOT UNIX :)

Pour finir  j’ai eu la chance d’acheter en avant première sa biographie autorisée et la faire dédicacer ! :) (voir aussi Richard Stallman à Paris – petite revue de presse)

RMS à Lyon le 13.01.2010

Catégories:MondeLibre

Le big switch 2

2 juillet 2009 fredix 4 commentaires

11 jours après avoir migré mon blog de mon serveur Typo vers Blogger je viens à nouveau de switcher cette fois-ci vers WordPress.com ! Je parle bien d’un hébergement chez WordPress.com, il ne s’agit pas pour moi de revenir vers un auto-hébergement… Voici les différentes raisons :

  1. WordPress fait parti des blogs les plus avancés techniquement, et il dépasse de loin le service Blogger qui ne gère toujours pas les pages et le menu par onglet sans bricoler la CSS…
  2. Il est Opensource : WordPress.org
  3. L’hébergement chez WordPress.com me permet de m’affranchir de l’administration et des mises à jour.
  4. L’import (articles, commentaires et catégories) d’un blog Blogger en 2 clics.
  5. L’export XML.
  6. 3 Go d’espace disque gratuit.
  7. widgets.
  8. Statistiques de blog sans passer par un service tiers à la Google Analytics.
  9. Leurs services payant propose le Domain mapping pour un coût extrêmement modique (9.97$ /an ce qui revient à 7.27€ /an) ce qui me permet d’utiliser mon propre domaine.
  10. Le paiement via ce type de service est un excellent moyen de financer le libre. Ce dernier point est pour moi prioritaire car il est à mes yeux indispensable d’encourager les business modèles Opensource d’autant plus lorsqu’ils atteignent ce niveau de qualité technique.

Dans de précédent billets j’ai critiqué le fait que le Libre se focalisait sur le logiciel sans penser à fournir de services. J’avoue avoir sauté chez Google sans penser à regarder mon vieux compte WordPress. La faute est réparée.

Catégories:MondeLibre, fredix, web

iMotion

1 juin 2009 fredix 3 commentaires

Cela faisait un moment que je n’avais plus posté sur iMotion, en août dernier apparemment !

J’ai repris le code pour y ajouter le support des fichiers vidéos. Je butais depuis un moment sur un problème de fige de la vidéo lors du changement d’un effet pendant la lecture, problème que je n’ai pas avec la webcam. Cette technique de changement dynamique d’un élément lors de la lecture dans le pipeline est uniquement documenté ici : cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-block.txt#n112 mais je n’ai pas trouvé de soft qui l’implémente …

Premièrement j’avais oublié l’indication 8 :

8) make sure element4 is in the same state as the rest of the elements. The element should at least be PAUSED.

Mon pipeline est en statut PLAYING donc en passant l’élément effect dans ce statut le problème de fige de la vidéo a été résolu.

Deuxièmement le schéma de la documentation montre un pipeline de 3 éléments (plus un 4 ème qui remplace dynamiquement le 2ème). Or cela m’a induis en erreur car le mien en possède 6 :

  1. filesrc
  2. decodebin2
  3. ffmpegcolorspace
  4. videoscale
  5. effectv
  6. ximagesink

Lorsque la documentation indique de bloquer l’élément 1 il s’agit en fait de l’élément qui précède celui que l’on veut remplacer. Dans iMotion je souhaite changer dynamiquement d’effet donc c’est l’élément 4 qui doit être bloqué.

Pour ceux qui débutent avec GStreamer voici une excellente présentation : blog.nicolargo.com/2009/03/gstreamer-la-theorie.html

Voici une capture d’écran avec l’effet edgetv suivie de l’implémentation correcte du code :

voidVideoManager::switch_effect (Glib::ustring a_name){   m_effect_name = a_name;   bool res = false;   GstEvent *event;

   // replay pipeline if it paused

   gst_element_get_state(m_pipeline, NULL, NULL, GST_CLOCK_TIME_NONE);   gst_element_set_state (m_pipeline, GST_STATE_PLAYING);

   // wait until pipeline playing   if (gst_element_get_state (m_pipeline, NULL, NULL, GST_CLOCK_TIME_NONE) == GST_STATE_CHANGE_FAILURE) {std::cout << "Failed to go into PLAYING state" << std::endl;exit(1);}

std::cout << "PLAYING state" << std::endl;

GstPad *videoscale_sink_pad = gst_element_get_static_pad (m_videoscale, "sink");GstPad *videoscale_src_pad = gst_element_get_static_pad (m_videoscale, "src");

if (videoscale_src_pad) {res = gst_pad_set_blocked_async (videoscale_src_pad, TRUE, (GstPadBlockCallback) block_callback, m_pipeline);std::cout << "blocked pad : " << res << std::endl;

if (!res) {std::cout << "can not block source pad : " << res << std::endl;exit (1);} else {std::cout << "blocked source pad : " << res << std::endl;}

}else {std::cout << "can not get source pad : " << res << std::endl;exit (1);}

if (m_effect){GstPad *effect_sink_pad = gst_element_get_static_pad (m_effect, "sink");GstPad *effect_src_pad = gst_element_get_static_pad (m_effect, "src");

// remove effect elementgst_element_get_state(m_effect, NULL, NULL, GST_CLOCK_TIME_NONE);gst_element_set_state (m_effect, GST_STATE_NULL);gst_element_get_state(m_effect, NULL, NULL, GST_CLOCK_TIME_NONE);

if (gst_element_get_state (m_effect, NULL, NULL, GST_CLOCK_TIME_NONE) == GST_STATE_CHANGE_FAILURE) {std::cout << "Failed to state null on m_effect" << std::endl;exit(1);}

gst_element_unlink_pads (m_videoscale,"src",m_effect,"sink");

std::cout << "UNLINK PAD" << std::endl;

/************ seems to not be usefull ************/gst_pad_add_event_probe (effect_src_pad, G_CALLBACK (source_pad_event_probe), effect_src_pad);event = gst_event_new_eos ();gst_pad_send_event (effect_sink_pad, event);gst_object_unref (effect_sink_pad);std::cout << "SEND EOS" << std::endl;/**************************************************/

gst_element_unlink_pads (m_effect,"src",m_sink,"sink");

std::cout << "UNLINK PAD 2" << std::endl;gst_element_get_state(m_effect, NULL, NULL, GST_CLOCK_TIME_NONE);

gst_bin_remove (GST_BIN (m_bin), m_effect);

std::cout << "GST BIN REMOVED" << std::endl;

}else{gst_element_unlink_pads (m_videoscale,"src",m_sink,"sink");}

if ( m_effect_name != "none"){m_effect = gst_element_factory_make (m_effect_name.c_str(), "effect");gst_bin_add (GST_BIN (m_bin), m_effect);gst_element_link_pads (m_videoscale,"src",m_effect,"sink");gst_element_link_pads (m_effect,"src",m_sink,"sink");

// Indication 8gst_element_set_state (m_effect, GST_STATE_PLAYING);       std::cout << "new effect and linked in" << std::endl;   }   else   {       gst_element_link_pads (m_videoscale,                              "src",                              m_sink,                              "sink");

       m_effect = 0;       std::cout << "no effect" << std::endl;

   }

   if (videoscale_src_pad) {       res = gst_pad_set_blocked_async (videoscale_src_pad, FALSE,(GstPadBlockCallback) block_callback, m_pipeline);       gst_object_unref (videoscale_src_pad);   }    std::cout << "unblocked source pad : " << res << std::endl;    std::cout << m_effect_name << std::endl;}

Répartition de charge avec une architecture asynchrone

28 février 2009 fredix Laisser un commentaire

Avec ce titre pompeux je voulais depuis longtemps écrire un article sur ce thème. Je l’avais un peu abordé avec ce billet sur beanstalkd, cependant je désirais en parler de manière plus généraliste.

Finalement le Grand Ternet a encore une fois encouragé ma feignantise car j’ai trouvé cette suite de 3 petits excellents articles sur haute-disponibilite.net qui expliquent très bien ce domaine :

A compléter avec cet article très riche d’un co-fondateur de last.fm : Anti-RDBMS: A list of distributed key-value stores. Il faut ajouter à cette liste déjà imposante l’étonnant Tokyo cabinet ainsi que nanite basé sur RabbitMQ et cela démontrera aux plus incrédules l’importance d’un bon backend asynchrone et les énormes avantages que cela apporte en terme de réactivité pour l’utilisateur.

Cependant la tentation sera certainement de plus en plus grande d’utiliser les technologies clés en main de cloud computing offertes par Google et Amazon… A quand un service de cloud computing opensource à disposition uniquement, bien sûr, des sites opensource ? :)
Pour finir, à lire également l’excellent article de Greg, {key, value} qui comporte des détails techniques et des exemples (attention par contre sur la partie memcached, car memcachedb ou memcacheq seront plus pertinent pour cet usage).

Catégories:MondeLibre, web

RubyCamp

23 février 2009 fredix Laisser un commentaire

Le premier RubyCamp s’est bien déroulé ce samedi. Je remercie Damien Mathieu pour l’organisation et O2Sources pour avoir sponsorisé l’évènement avec des pizzas :) .

Quelques Suisses avaient fait le trajet, Jean-Michel Garnier un expatrié en Espagne que j’avais déjà vu à Paris on Rails présentait cucumber. Guillaume Cottenceau (ancien développeur de frozen bubble) a présenté Ruby/GTK+. Damien a présenté Ruby et Gaspard Bucher un impressionnant compilateur de template (zafu).

Pour un premier Barcamp à Lyon j’ai trouvé ça très réussi et on est tous d’accord pour remettre ça cette année. Toutes les infos sur le wiki RubyCampLyon.

Photos et photos

Catégories:MondeLibre, ruby

RubyCamp

31 janvier 2009 fredix Laisser un commentaire

Je n’avais pas posté depuis 2 mois, donc puisqu’on est encore en janvier jusqu’à ce soir, je vous souhaite une bonne année :)

Comme l’indique le titre il va y avoir un Barcamp à Lyon le 21 février consacré à Ruby. Je viens de m’y inscrire, et même si je n’ai aucune idée de ce que je pourrais présenter cela sera l’occasion de revoir ce bon vieux Guillaume Desrat ainsi que Lucas Bonnet :)

Avec de la chance j’aurais peut être avancé un peu sur mon projet perso en Rails, et aurais 2-3 trucs à dire… En tout cas ça serait bien que ce genre de réunion soit récurrente, car c’est très frustrant de voir régulièrement des actions à Paris et rien à Lyon.

Catégories:MondeLibre, ruby

before_filter :rails_party

24 novembre 2008 fredix Laisser un commentaire

Si vous suivez l’actualité RubyonRails, vous savez sans doute que l’édition 2008 de Paris on Rails a lieu le 1er décembre à la Cité des sciences. Par contre vous ne savez peut être pas qu’une Rails party est organisé la vieille ce dimanche 30 novembre. Toutes les infos ici : rails party 2008 et inscription ici. Ils ont bien de la chance ces parisiens ! Quand est-ce que Lyon sera à la hauteur de sa dimension … ?

Pour enchainer sur le thème Ruby, j’ai réalisé une nouvelle et sans doute dernière version de Geekast 0.1.3 afin de fixer ce bug. Peercast n’étant plus maintenu par son développeur la motivation n’y est plus et je suis de plus en apprentissage du C++ sur iMotion un autre projet perso. Quoi qu’il en soit je ne compte pas abandonner Ruby qui est un vrai plaisir à utiliser et complémentaire à un langage compilé.

Catégories:MondeLibre, rails, ruby

De l’usage de Windows et de la stratégie du Libre

29 octobre 2008 fredix Laisser un commentaire

Depuis 2000 je ne travaillais que sous environnement GNU/Linux et je dois avouer que revenir travailler sous l’environnement Windows est déprimant car néfaste à la productivité. Parmi les griefs je peux citer :

  • Pas de bureaux virtuels
  • Pas de gestionnaire de fenêtre digne de ce nom :
    • impossibilité de fixer une fenêtre en avant plan
    • impossibilité de fixer une fenêtre sur de multiple bureaux, puisqu’un seul bureau
    • pas de fenêtre semi-transparente.
  • Pas de fenêtre “shell” pouvant s’afficher sur tout l’écran
  • Pas de shell
  • Pas d’éditeur de texte/code digne de ce nom par défaut

Inutile de discuter de ces points, à moins de vouloir passer pour un “intégriste”, car comment faire comprendre cela à des personnes qui n’ont même pas idée que tout ça puisse exister. Ca serait comme vouloir expliquer à des agriculteurs qui ne connaissent que la pioche que les tracteurs existent … Windows n’est définitivement pas un système professionnel, encore faut-il avoir utilisé GNU/Linux quelques mois pour s’en rendre compte. Il ne doit son succès sur le bureau qu’à l’interaction étroite et imposée par Microsoft avec la version serveur.

Du coup cela me fait sourire de voir certains s’exciter pour faire le prosélytisme du Libre auprès des entreprises. Microsoft est culturellement ancré dans les entreprises depuis la disparition des gros systèmes dans la fin des années 80. Tout leur système d’information est enchainé aux outils de Microsoft depuis cette époque. Les vrais décideurs, ceux qui ont vraiment le pouvoir d’imposer un changement d’outils en profondeur, tel que le nécessiterait un passage à GNU/Linux, ces décideurs là n’y connaissent rien en informatique, et je ne parle même pas du DSI qui lit 01 Informatique, lui est bien trop loin de la tête de l’entreprise pour avoir, en supposant qu’il le souhaite, une telle influence. Autour de ça gravite tous les informaticiens nourris à Microsoft pendant leur étude, bref tous ces informaticiens qui font tourner leur boite et qui n’auront de toute manière pas la moindre envie de faire l’effort de changer leurs habitudes, ce que je comprend volontiers, l’informatique n’étant en rien un devoir de passion.

Si changement il doit y avoir chez les professionnels, il devrait se faire d’une part via les écoles, quand celles-ci ne signeront plus de partenariat avec Microsoft pour enseigner essentiellement leurs outils. Mais en même temps on leur demande aussi d’enseigner sur les outils du marché … D’autres part le changement aura lieu chez les particuliers. Changer d’OS chez un particulier est malgré tout nettement moins contraignant qu’en entreprise et ne dépend que de lui. Et l’histoire prouve que le succès de Microsoft en entreprise à eu lieu lorsque les utilisateurs avaient poussé pour avoir le même système que chez eux à leur bureau. La micro-informatique leur a permis de découvrir le pouvoir de contrôler sa machine contrairement aux terminaux. En effet quel délice de pouvoir installer n’importe quel logiciel (suivi de sa cohorte de virus et spyware bien sûr). Quel délice d’avoir un plus gros CPU, plus de RAM, ou un plus gros écran que le collègue de bureau …

L’utilisateur de GNU/Linux chez lui est un atout pour pouvoir percer un jour en entreprise. Car cet utilisateur est à même de pouvoir comparer et donc de juger des avantages du système GNU/Linux. Il est par définition impossible de convaincre un utilisateur qui n’a qu’une seule vision de l’informatique, et ça c’est un fait indiscutable.

Enfin, qu’il y ait sur le marché des étudiants formés aussi au Libre et des utilisateurs éclairés, c’est malgré tout insuffisant pour faire basculer une entreprise dont le SI est enchaîné depuis des années et dont les réels décideurs n’ont aucune connaissance des enjeux informatiques.

Si l’on admet ces faits il convient de penser que seul les entreprises récentes, possédant des dirigeants éclairés seront à même d’envisager l’utilisation de logiciels libres au sein de leur SI, et non pas de manière anecdotique sur le poste de travail. Attaquer les entreprises de front est une perte de temps pour la communauté. Je pense entre autre au récent débat qu’il y a eu sur les listes de l’ALDIL au sujet du vendredi dédié aux entreprises pendant les JDLL. 10 ans de JDLL dont le vendredi est pratiquement vide de tout représentant d’entreprise (DSI, commerciaux, ingénieurs ou techniciens), et ce malgré de multiples efforts vers les entreprises locales, il serait temps de constater les faits et concentrer les faibles énergies des bénévoles vers la communauté…

A l’heure des SOA la stratégie du libre est essentiellement orientée en concurrence directe avec Microsoft. Or les entreprises envisagent de plus en plus à migrer vers des services en ligne, et bien sûr Google en est le nouveau Dieu. A la conférence de Frédéric Couchet aux JDLL, je vous laisse deviner combien de bras se sont levé pour avouer l’usage de Gmail (moi le premier)… Or la seul réponse du Libre est de dénoncer la migration d’Internet en Minitel 2.0 et de proposer l’auto-hébergement chez soi. C’est en rien crédible.
La réponse du Libre devra se faire en proposant également des services et non plus uniquement des outils. Que le grand public doive mettre en place physiquement (matériels et logiciels) chez lui les outils afin d’héberger de sa vie numérique n’est pas une réponse crédible. Et même en faisant abstraction de la difficulté technique, ou en supposant que le Libre propose un jour une solution out of the box pour gérer ses mails, photos, vidéos, musiques, (clé gpg, ssh), etc, physiquement chez soi, il n’est pas concevable de conserver cela uniquement dans un placard.

Certaines banques proposent un coffre numérique, afin d’y stocker nos documents vitaux. Encore un service minitel 2.0 sans aucun doute, mais pourtant utile et qui le sera de plus en plus avec la numérisation des services de l’Etat. Que nous offre le Libre comme alternative ? Rien.

Alors au lieu de perdre son temps en prosélytisme vers des entreprises sourdes et en dénonciation de Minitelisation inutile, concentrons nous sur les communautés afin de développer des services comme nous l’avons si bien fait avec les outils. Concentrons-nous sur le grand public, concentrons-nous pour aider les développeurs à faire du libre. Car sans développeurs et utilisateurs il n’y a pas de logiciels, de documentations et de services, le reste ne fait que graviter autour de ce noyau, c’est ce noyau qu’il faut absolument consolider et développer.

Catégories:MondeLibre