"…mais ce serait peut-être l'une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d'autre que du code…"

Archive for the ‘open source’ Category

La troisième édition de fOSSa – Free Open Source Software for Academia à Lyon les 26, 27 et 28 octobre 2011

Posted by Noam sur septembre 30, 2011

Fossa 2011

Source:  Stephane Ribas, fOSSa Steering Committee

La troisième édition de la conférence fOSSa (Free Open Source Software for Academia) se tiendra à Lyon les 26, 27 et 28 Octobre 2011.

  • Date : 26/10/2011 au 28/10/2011
  • Lieu : Laboratoire CITI, INSA Lyon, Domaine scientifique de La Doua
Bonjour,
Grâce au succès croissant des deux premières éditions 🙂 la conférence fOSSa joue désormais un rôle prédominant et anticipateur au point de devenir le bon endroit pour découvrir les nouvelles directions qui se profilent dans l’arène de l’open source. 
Année après année fOSSa est l’occasion de recueillir à travers des échanges libres et ouverts avec les grands acteurs de l’open source, des réponses aux questions :
–    où se dirige le domaine de l’openness ?
–    qu’est-ce que les « tech people » sont en train de nous préparer ?
–    quelles questions et quels challenges s’annoncent dans le développement de logiciel libre, de la collaboration, du partage et de la production de la connaissance, ce dans les domaines académique, éducatif et industriel ?
Pour cette nouvelle édition, la conférence fOSSa bénéficiera de la présence de Simon Phipps (ForgeRock, OSI board), Francois Elie (président Adullact),  Adrian Bowyer (RepRap OSS Printers), Roberto Di Cosmo (IRILL), Francois Bancilhon (Open Data initiative), Alexis Moussine-Pouchkine (Oracle, Angel or Deamon?), Nicolas De Loof (CloudBees), Philippe Scoffoni (Consultant) et Milo Casagrande (Ubuntu).

fOSSa est organisé par une équipe de passionnés! Ce salon est une opportunité pour nous tous de rencontrer et de côtoyer durant trois jours des acteurs majeurs de l’OSS, des personnes qui définissent l’Open Source 3.0 😉 c’est aussi l’occasion de découvrir les tendances, d’échanger des bonnes pratiques, de comprendre mieux la gestion de projets de type communautaire… ALORS PROFITONS EN !
La plupart de présentations se dérouleront en anglais. Les journées fOSSa sont ouvertes à tous. 
L’enregistrement gratuit s’effectue sur le site: http://fossa.inria.fr 
Attention, les places sont limitées.
Cordialement,
Autres liens:
  • http://www.inria.fr/centre/grenoble/agenda/fossa-2011 
  • http://philippe.scoffoni.net/je-serais-a-fossa-2011/ (« Je serais présent pour animer une conférence sur l‘Open-cloud. Si le sujet ne devrait pas me poser trop de soucis, ce ne sera pas le cas de la langue puisqu’il s’agira de ma première conférence en anglais.J’en profite donc pour lancer un appel à contribution, j’accepte toute aide de relecture/traduction pour le support de présentation et le texte de la conférence. Merci par avance de laisser un message. La présentation et le texte seront mis à disposition sous licence CC-By avec les noms de tous les contributeurs évidement« )

 

Posted in 2011, logiciel libre, open source | Tagué: , , | Leave a Comment »

fOSSa Conference – Free and Open Source Software Academic Conference, november 17-18, 2009 Grenoble

Posted by Noam sur octobre 29, 2009

Source: http://www.ow2.org/view/Events/fOSSaConferenceGrenobleFrance

fossa-big

fOSSa

 

Date: November 17-18, 2009
Venue: World Trade Center, Grenoble, France
Practical information, detailed program and registration: http://fossa.inrialpes.fr/2009/

Conference overview
The « fOSSa » conference (Free/Open Source Software Academics) is co-organised by INRIA and OW2 Europe Local Chapter. It will review Open Source fundamentals and will present innovating Open Source project as well as communities experiences. fOSSa is the first international Open Source Conference event located in Grenoble! The fOSSa audience mainly focuses on academia and research centres but does not close the door to industrials as in many cases academia needs industrials and vice versa: we believe that Open Source model can improve such kind of collaboration in a much more natural way.

DAY 1 is focusing on the Open Source model basics:

1. OSS and Benefits for Academic projects
2. OSS and Innovation for Academic projects
3. OSS and Business Models for Academic projects
4. OSS and the Law for Academic projects
5. OSS and Communities for Academic projects
6. OSS and European Commission fo Academic projects
7. OSS and Market Needs for Academic projects

DAY 2, practical session including with real life examples of the OSS fundamentals, will address:

1. OSS and Collaboration for Academic projects
2. OSS and Promotion for Academic projects
3. OSS and Governance for Academic projects
4. OSS and Quality for Academic projects
5. OSS and the Law for Academic projects

Day 2, 10-10-10 presentation

In parallel, OW2 academic projects will be presented in a 10-10-10 formula style1. PLUMES/FEATHER community will present scientific Open Source academic projects, and sessions will be booked for Open Source Start-up’s presentation.

(1) 10 minutes presentation -10 minutes demo -10 minutes questions/answers.

Participants
Apache, Eclipse, Engineering, HP Fossology, INRIA, Mandriva, OW2, Sun Microsystem, University Paris VII, University of Milano…

 

 

 

 

Posted in 2009, conference, licence libre, logiciel libre, open source | Tagué: , | Leave a Comment »

fOSSa conférence sur le libre/open-source d’envergure Internationale les 17-18 novembre 2009 à Grenoble

Posted by Noam sur octobre 29, 2009

Source

INRIA Rhone-Alpes / D2T / OW2 Europe Local Chapter
fOSSa Steering Committee / QualiPSo / NESSI OSS WG

fOSSa

fOSSa (Free Open Source Software for Academia) est organisée conjointement par le chapitre local Europe d’OW2 et l’INRIA.

L’histoire du logiciel libre débute dans les années 70 grâce aux universitaires et chercheurs académiques: pour cette communauté, distribuer un code informatique sous une licence permissive était une règle naturelle. Depuis, le monde du logiciel libre connaît un succès extraordinaire à travers, en outre, le monde industriel. Cependant, les objectifs initiaux défini par le monde académique semble, aujourd’hui, être oubliés.

Le programme couvre les aspects fondamentaux du logiciel libre/open-source (modèles économiques, licences, collaboration, communautés, promotion, exploitation) et propose des retours d’expérience ainsi que des présentations de projets innovants.  Elle s’adresse au monde académique/universitaire, mais aussi aux industriels dans la mesure où les relations recherche/industrie sont de plus en plus souvent au coeur de développements collaboratifs libres/open-source: fOSSa propose de repositionner le Libre au centre des collaborations recherche-industrie.

Les intervenants sont, en autre, Clément Escoffier (Apache), Ralph Mueller (Directeur Fondation Eclipse Europe), HP Fossology (Bob Gobeille et Bruno Cornec), INRIA (Luc Grateau et Jean Bernard Stefani), Arnaud Laprévote (Directeur R&D Mandriva), Cédric Thomas (OW2 Consortium CEO), Roberto Di Cosmo (CIRILL & Mancoozi), Plumes (Jean Luc Archimbaud et Teresa Gomez DIaz) …

Date : 17-18 Novembre 2009
Lieu : World Trade Center – Grenoble – France
Programme & Inscription (gratuite): http://www.ow2.org/fossaconference

Posted in 2009, licence libre, logiciel libre, open source | Tagué: , , , | Leave a Comment »

Quelques nouvelles d’applications python: Open Object, OpenERP 5.0, Django + Python 2.6 Quick Reference de Richard Gruet

Posted by Noam sur février 11, 2009

Quelques nouvelles intéressantes concernant le développement d’applications python:

http://thisweekindjango.com/callcasts/episode/9/callcast-discussion-corey-oordt-and-opensource/ (‘ A conversation with Corey Oordt discussing the new OpenSource Washington Times project and their forthcoming collection of reusable apps, along with greater goals for becoming a platform for Django newspaper/media applications. Oordt is the Deputy Internet Director for the Washington Times. His small team of Django developers soon plans to make a greater public position in the open source community with their latest opensource.washingtontimes.com project website and their soon to be releases project repository including django-suppertagging (Open Calais integration), django-massmedia, solango, a Django powered trac-like management application, django-clickpass, along with further aspirations for hosting Django sprints, projects, and ideally growing into a platform for hosting Django powered news applications. ‘)

http://thedjangoforum.com/board/ (‘A forum for anyone interested in Django or Python development. Find help for your Django related questions or share your knowledge with developers that are just getting started. Please come take a look’)

http://rgruet.free.fr/#QuickRef (The Python 2.6 Quick Reference is available in HTML and PDF formats. This time I was helped by Josh Stone for the update. As usual, your feedback is welcome (pqr at rgruet.net. Source: http://groups.google.com/group/comp.lang.python.announce/browse_thread/thread/70f000802201af4a/ea354c557bf13bb0?show_docid=ea354c557bf13bb0&pli=1).

http://groups.google.com/group/comp.lang.python.announce/browse_thread/thread/529f43330e4c5ac5 (‘OpenERP 5.0 is out ! Why do I talk about OpenERP on this mailing list ? Because OpenERP is fully developed with Python. That major enhancement of Open ERP can now answer to all the needs of a business. Open ERP V5 not only provides management functions, but also all functionalities necessary to a SMB, like : a process management by modules, a wiki, a webmail, a Business Intelligence (Cube OLAP),  a Document Management System, an eCommerce, an idea box, etc.This new version comes with a full review of the web site giving access to more then 1500 pages of documentations on business management and a reorganization of the community sources build upon the Open Object framework. Free cycles of conferences are planned with the version 5.0 release of Open ERP.
Thanks to its huge community, Open Object produce more then 20 modules a month. The Open Object community it is more then 1000 contributors, 126 development branches in parallel, an average of 400 new functionalities or bugfix per month, one commit every 5 minutes and functional and technical  experts specialized by activity and working in teams.
The rise of Open Object and the diversity of the projects makes it an unmatched framework composed of more then 400 modules installable in a few clicks to cover all kinds of need or to simply start, with a simple module, to answer a simple need. Then, you can install other functionalities to come to a fully integrated and automatized system.
Open ERP v5 is characterized by the appearance of many functionalities far beyond the perimeter of traditional management. One can underline the following innovations:

* An integrated wiki.
* An integrated document management system.
* A Business Intelligence (BI) using a OLAP (Online analytical processing) database.
* An integrated BPM (management of process).
* A web portal for clients and suppliers.
* Improvement of translations (1 translation file by language and module).
* A touchscreen point of sale.
* A full Ajax webmail .
* A shared calendar.
* Plugins for Outlook, OpenOffice, ms. Office, Thunderbird.
* An integrated eCommerce, etc

This new release offers 3 user interfaces :
* the rich application client for a day to day advanced use,
* the web interface allowing a remote access and an easy deployment,
* the QT client that perfectly fits in a KDE environment.

….
The web version of Open ERP includes numerous functions to  modify or create your own application :
* an visual view editor,
* an object editor,
* a workflow (process) editor,
* an Open Office integrated report editor
* a statistics engine (BI cube),
* etc…
URL: http://www.openerp.com
URL: http://www.openobject.com
DOC: http://doc.openerp.com
Screencast: http://www.openerp.tv
LaunchPad Project: http://launchpad.net/openobject‘).

http://freshmeat.net/projects/openerp/?branch_id=77761&release_id=293852 (‘Open ERP is a complete ERP and CRM. The main features are accounting (analytic and financial), production management (MRP), stock management, sales and purchases management, task automation, marketing campaigns, help desk, POS, and more. Technical features include a distributed server, flexible workflows, an object database, a dynamic GUI, an XML-RPC interface, and customizable reports. ‘)

https://launchpad.net/openobject (‘OpenObject is a professional Rapid Application Development framework in Python that allows you to build your applications within a few minutes. This is the main project of all related projects around OpenObject: OpenERP (a complete enterprise management software), OpenObject Server, OpenObject Web Client (the web version of OpenObject applications), OpenObject Application Client, BI (a complete business intelligence application based on openobject), OpenObject Addons (about 300 modules available for OpenObject’s applications), .

  • OpenERP (‘This project contains all packaging scripts to allow you to download and customize openerp instances and create packages which are a selection of modules and projects. These scripts will download all different bazaar projects and link them to create an full openerp system.’)

  • OpenObject Addons
  • OpenObject Business Intelligence (‘OpenObject’s Business Intelligence allows you to build a full featured and flexible reporting environment in a few minutes. It plugs efficiently on OpenObject’s applications but also on most populare databases. You don’t need to waste time building complexe and inflexible shemas: due to his user friendly cube designer, it allows you to build or customize your cube on any application in a few minutes. The datawarehouse structure is then computed and feeded automatically based on an analysis of the queries made by the end-users. OpenObject is the first tool ever made that allows small companies to set up a complete Business Intelligence solution within a few hours. The following animations present you how to we built a complete schema on a new database in a few minutes.’)
  • https://launchpad.net/openobject-client OpenObject Application Client (‘OpenObject is an open source framework based on Python that lets you build your entreprise applications extremely fastly and easily. It includes an ORM, a Workflow engine, several report designers, a MDX engine, a dashboard designer, a module system, an automated migration engine, and much more… Get a web (Ajax) and a rich application with the same code and launch your SaaS offer within minutes thanks to our portal, our webservices interfaces and our 300+ available modules.’)
  • https://launchpad.net/openobject-client-kde KDE OpenObject Client (‘Cross-platform OpenObject Client based on Qt and KDE libraries.’)
  • https://launchpad.net/openobject-client-web (OpenObject Web Client:  The Web client of OpenObject offers a high quality and ergonomy client for OpenObject and OpenERP. It is known to work with all major web browsers available today, including Firefox, IE6, IE7, Safari3 and Opera9. It uses extensively Ajax for a maximum of ergonomy and a minimum of communictation. It includes a calendar view, a workflow designer, a view editor, an object designer, eso.)
  • https://launchpad.net/openobject-doc (Open Object Documentations : This is the project to manage .rst documentations on Open ERP and Open Object. Most documentations must be written in .rst, and we generate the final output using Sphinx.)
  • https://launchpad.net/openobject-server (‘OpenObject Server: ‘)

Posted in 2009, Django, Génie logiciel, logiciel libre, open source, python, Python application development framework, Python Web Frameworks, RAD | Tagué: , , , , , , , | Leave a Comment »

Migration vers le libre: sortie du livre « Changer pour OpenOffice.org »

Posted by Noam sur mars 11, 2008

Changer pour OpenOffice

Un grand nombre de gens ignore encore que leur coûteuse suite MS Office peut être avantageusement remplacée par OpenOffice.org. Le livre « Changer pour OpenOffice » leur permettra de franchir le pas.

OpenOffice

http://www.wikimindmap.org/viewmap.php?wiki=fr.wikipedia.org&topic=OpenOffice.org

Source: http://linuxfr.org/2008/03/06/23805.html

————————————————-8<——————————————————————–

Livre : Sortie du livre « Changer pour OpenOffice.org »
Posté par boogieplayer (page perso. Modéré le jeudi 06 mars.

Le dernier né de la Collection Framabook, édité chez InLibroVeritas, vient de sortir. « Changer pour OpenOffice.org », écrit, traduit et corrigé par un collectif d’auteurs, grâce à l’énergie de Johann, vous propose de migrer en douceur de Microsoft Office à OpenOffice.org.

Publié comme d’habitude sous une licence copyleft, ici la CC-by-sa, ce Framabook a donc bénéficié d’une implication importante de la communauté de OpenOffice et de Framasoft (traduction et correction) Livre issu d’un véritable travail collectif, nous espérons qu’il vous plaira et que vous aiderez à sa promotion. Livre en pré-commande, premières livraisons le 15 mars.

Extrait de la quatrième de couverture : Ce livre vous aidera en toute sérénité à passer de Microsoft Office à OpenOffice.org tout en conservant vos habitudes.

À l’instar de la suite bureautique Microsoft Office, OpenOffice.org propose un traitement de texte, un tableur, un gestionnaire de base de données, un module de présentation, un éditeur de dessin et un éditeur de formule mathématiques.

Déployée massivement dans l’Administration (Gendarmerie, Impôts, ministère de l’Equipement, ministère de la Culture…) et soutenue par des grands noms de l’informatique (Sun Microsystems, IBM…) cette suite bureautique a su s’imposer par sa simplicité d’utilisation et son efficacité.

Outre la gratuité, OpenOffice.org offre une solution pérenne pour la conservation des fichiers dans le temps grâce à l’utilisation du format OpenDocument, décrit par la norme internationale ISO 26300

  • Utilisez, créez et modifiez les fichiers de la suite Microsoft Office (.doc, .xls, .ppt, etc…).
  • Disponible sur les principales plates-formes Windows, GNU/Linux et MacOS.
  • Bénéficiez de mises à jour régulières et de l’aide d’une large majorité d’utilisateurs.
  • Créez des PDF de toutes tailles d’un seul clic.
  • « OpenOffice, vous l’apprenez une fois, vous l’appliquez partout »

A voir:

http://www.framabook.org/openoffice.html(« Il existe déjà une documentation riche et fournie autour de la suite bureautique OpenOffice.org, que ce soit sur le site du projet francophone ou sur Framasoft. Mais l’originalité de ce livre est de proposer une aide pour quitter Microsoft Office et adopter OpenOffice.org, en reprenant les différences entre ces deux suites bureautiques par modules (Word/OpenOffice Texte, Excel/OpenOffice Classeur, PowerPoint/ OpenOffice Présentation…)...Ce livre est une traduction libre du « Migration Guide » disponible sur http://oooauthors.org/en sous licence Creative Commons. Il a été traduit dans le cadre du projet Framalang, le groupe de traduction de Framasoft, sous l’impulsion de Johann Bulteau et en collaboration avec le projet francophone d’OpenOffice.org. »)

http://fr.wikipedia.org/wiki/OpenOffice.org (« OpenOffice.org (parfois abrégé en OOo ou OO.o) désigne à la fois une suite bureautique libre, une communauté de développeurs, et le site internet hébergeant l’ensemble du projet. Le but énoncé est «de créer, en tant que communauté, la suite bureautique internationale leader, tournant sur les principales plates-formes, et fournissant l’accès aux fonctionnalités et aux données via des composants et API ouverts et un format de données XML».

La suite bureautique est divisée en plusieurs modules pouvant interagir entre eux et partageant des concepts généraux communs:

Posted in Administration système, licence libre, logiciel libre, migration vers le libre, open source | Tagué: , | Leave a Comment »

Une cuvée exeptionnelle: la sortie du noyau Linux 2.6.24

Posted by Noam sur janvier 28, 2008

Un excellent article sur la sortie du noyau Linux 2.6.24 par http://linuxfr.org/~patrick_g/ dont le travail a été très apprécié.

voir l’article ici: http://linuxfr.org/2008/01/25/23529.html

Quelques extraits:

————————————————8<———————————————————

Après un cycle de développement inhabituellement long la sortie de la vingt-cinquième version stable de la branche 2.6 du noyau Linux vient d’être annoncée. Le code source du noyau est maintenant téléchargeable sur les serveurs du site kernel.org.

  • Cette version 2.6.24 se caractérise essentiellement par l’ampleur des changements, en terme de lignes de codes, avec la version précédente. Le 23 octobre, dans son mail d’annonce de la RC-1, Linus écrit :

    Cela doit être l’une des plus grosses versions candidates de tous les temps. C’est monstrueux. D’habitude, pour la RC-1, la taille du fichier compressé des différences est de l’ordre de 3 à 5 Mo. Certains sont plus petits que ça et on a occasionnellement des pointes à 6 Mo. Celle-ci fait *onze* méga-octets.
    En bref nous avons juste eu un grand nombre de merges, et pas seulement pour x86 mais aussi des tonnes de nouveaux pilotes (surtout pour le wifi mais pas seulement – dvb, réseau classique, mmc..etc) ainsi qu’une bonne quantité de travail sur les diverses architectures, les systèmes de fichiers, le réseau etc.
    Donc il y a juste beaucoup de nouvelles choses.


Vous trouverez plus de détails sur les nouveautés dans la suite de cette dépêche.

  • La fonction d’ordonnancement de groupe, qui a été évoquée lors de la sortie du précédent noyau, est maintenant intégrée dans cette version. Cela permet à l’ordonnanceur de nouvelle génération CFS de gérer plus finement l’allocation des ressources de calcul aux différents processus s’exécutant sur la machine. Avec l’ordonnancement de groupe on peut diviser à volonté le temps processeur selon deux politiques : Soit entre les utilisateurs soit entre les groupes de tâches.
    • La première option (sélectionnable avec CONFIG_FAIR_USER_SCHED) divise le temps processeur entre les différents utilisateurs d’une machine. Celui qui lance 30 processus ne sera plus avantagé par rapport à celui qui n’en lance qu’un seul et chacun des deux utilisateurs aura équitablement la moitié du temps de calcul. Un avantage additionnel relevé par Ingo Molnar est que cela limite drastiquement les risques de Fork Bomb.
    • La seconde option (sélectionnable avec CONFIG_FAIR_CGROUP_SCHED) divise le temps processeur entre différents groupes de tâches. La documentation décrit très bien cette nouvelle fonction : on peut par exemple créer le groupe « multimédia » et le groupe « bureautique » et décider que le premier groupe aura 75 % du temps de calcul alors que le second n’aura que 25 %. L’administrateur a ainsi a sa disposition un outil très souple pour créer tous les groupes qu’il désire et y rattacher les processus à volonté.

    En plus de cet enrichissement fonctionnel apporté par l’ordonnancement de groupe, CFS a également été amélioré sur le plan de la taille du code et de la rapidité. L’empreinte mémoire du code compilé a été réduite puisqu’on passe de 29 145 octets à 26 666 octets (-8,5 %) sur un système multiprocesseur et de 15 633 octets à 13 379 (-14,4 %) sur un système mono-processeur. Cette réduction de taille est cruciale pour le monde de l’embarqué ou Linux est devenu un système incontournable. Diverses micro-optimisations ont également permis de réduire les latences de l’ordonnanceur. Ingo Molnar a mesuré ces latences à l’aide de l’outil lmbench : le noyau 2.6.22 (ne contenant pas CFS) atteignait 0,64 microsecondes. Le noyau 2.6.23 (contenant la première version de CFS) avait régressé à 0,72 microsecondes (+12 %). Le nouveau noyau 2.6.24 et son code optimisé permet de redescendre à 0,62 microsecondes (soit -3 % par rapport à l’ordonnanceur non équitable d’ancienne génération). On voit donc que le caractère complètement équitable et extrêmement robuste du nouvel ordonnanceur CFS n’aura rien coûté en performances.

  • Pour permettre, entre autre, l’ordonnancement de groupe le noyau 2.6.24 propose l’infrastructure Control Group. Elle permet de définir de façon très générique des groupes de contrôle (ou cgroups) afin de gérer les ressources disponibles de la machine et de définir des quotas d’utilisation. L’administrateur utilise les cgroups pour créer des hiérarchies de processus au travers, comme c’est l’habitude sous Linux, d’un système de fichier virtuel se trouvant dans /dev/cgroup. Ces cgroups associent des listes de tâches avec des listes de paramètres pour les divers gestionnaires des ressources (les processeurs, les utilisateurs, les disques, le réseau, etc.).
    Pour simplifier évoquons un exemple (tiré directement de la documentation) : l’administrateur du serveur d’une université désire gérer finement les ressources de sa machine. Il crée donc deux cgroups, l’un pour les professeurs et l’autre pour les étudiants. Une fois que c’est fait l’administrateur peut utiliser la nouvelle infrastructure Control Group afin de définir des quotas et des limites pour chaque groupe. Par exemple, 50 % de la mémoire pour les professeurs, 30 % pour les étudiants et le reste pour le système. Observez sur le schéma ci-dessous l’application d’une hiérarchie des quotas pour les ressources réseau. La navigation web a une allocation de 20 % de la bande passante qui est elle-même divisée inégalement entre professeurs et étudiants.

               /         \
    
        cgroup1    cgroup2
    
           |              |
    
       (Profs)         (Etudiants)
    
    Mémoire : Profs (50%), étudiants (30%), système (20%)
    
    Disques : Profs (50%), étudiants (30%), système (20%)
    
    Réseau : navigation web (20%), accès par NFS (60%), autre (20%)
    
                       /        \
    
            Prof (15%) étudiants (5%)

    Cette nouvelle infrastructure de quotas et de groupes de contrôle est utilisée par CFS pour l’ordonnancement de groupe des processus évoqué plus haut. Ainsi CFS évite de dupliquer du code et profite du mécanisme générique se trouvant dans le nouveau noyau.

  • L’unification des architectures i386 et x86-64 est réalisée pour la première fois au sein du noyau 2.6.24. Quand on regarde le code source de Linux on constate que le répertoire arch contient le code spécifique aux divers processeurs qui sont supportés par le noyau (PowerPC, i386, ARM, SPARC, etc.). Ce nombre de sous-répertoires est important (plus de 25 architectures différentes) et les développeurs ont intérêt à essayer de fusionner au maximum ce qui peut l’être afin de partager le plus de code possible. Comme il existe de nombreuses ressemblances entre les i386 et les x86-64 (essentiellement l’architecture passe de 8 à 16 registres et ces registres passent de 32 à 64 bits) un projet de fusion a vu le jour. Actuellement une correction de bug sur l’une des branches doit être dupliquée sur l’autre. Quand une nouveauté est introduite, il faut l’incorporer à l’autre branche, etc. Ce processus de double maintenance est très lourd et provoque de nombreuses erreurs. La décision a donc été prise de faire comme pour l’architecture PowerPC : les variantes 32 et 64 bits ont fusionné à l’occasion de la sortie du noyau 2.6.15 et, avec le recul, cela s’est avéré être une très bonne décision.
    Thomas Gleixner et Ingo Molnar, dans un mail très argumenté, ont donc proposé un méga patch (près de 2 000 fichiers sont impactés) qui renomme tous les fichiers spécifiques avec le suffixe _32 ou _64 et les déplace dans le nouveau répertoire unifié x86. C’est une sorte de « Big Bang » au niveau des répertoires de arch mais cela ne change rien au niveau du code lui-même. De cette façon le travail d’unification, qui a déjà commencé, peut se faire progressivement (en fusionnant les fichiers toto_32.C et toto_64.c en un unique toto.c) avec chaque nouvelle version du noyau.
    Cette décision a néanmoins provoqué une controverse car Andi Kleen, le mainteneur de la branche x86-64, n’était pas d’accord avec l’unification. Il a défendu son point de vue sur la liste de diffusion :

    Vous connaissez ma position à ce sujet. Je pense que c’est une mauvaise idée car cela signifie que nous ne pourrons jamais plus nous débarrasser des vieilleries. La branche arch/x86_64 est significativement plus propre et plus simple que arch/i386 et je voudrais préserver cela. […] Ce n’est pas vraiment la même plate-forme : l’une est une architecture PC remontant à la nuit des temps et contenant des zillions de bugs, l’autre est une plate-forme PC moderne avec bien moins de bugs et de bizarreries.

    Linus n’était pas de cet avis:

    Je pense qu’il est *bien* plus difficile de gérer ce genre d’héritage dans un vieux répertoire que presque personne n’utilise (ce n’est probablement pas vrai à l’heure actuelle mais, pour la plupart des développeurs, je parie que cela sera vrai dans un an). Spécialement si ce vieux répertoire se contente de dupliquer 99% du boulot. Il n’y a pas tant de vieilleries que ça. Il y a certes des choses bizarres ici et là, mais chaque fois que j’entends l’argument (théorique) selon lequel nous économiserions du temps et des efforts en ayant ce code dupliqué ailleurs je pense à tout le temps que nous perdons réellement en corrigeant le même bug deux fois (et je m’inquiète pour les fois ou nous ne le faisons pas).

    Andi n’a pas été convaincu par Linus et il a décidé de ne pas assurer la maintenance de la nouvelle branche fusionnée x86. Les nouveaux mainteneurs sont donc Thomas Gleixner, Ingo Molnar, et H. Peter Anvin.

  • Un changement concernant les entrées/sorties de type scatter/gather a provoqué quelques soucis dans le nouveau noyau. La technique de scatter/gather permet d’utiliser un seul appel système pour écrire séquentiellement des données depuis plusieurs tampons mémoires ou pour lire des données dans plusieurs tampons mémoires. Ce mécanisme, qu’on pourrait traduire imparfaitement par Rassemblement/Dispersion, élimine l’obligation de copier les données dans un seul gros buffer et permet d’utiliser beaucoup de petits tampons dispersés. Cela permet d’augmenter les performances et d’éviter d’avoir à créer un gros buffer d’une seule pièce (ce qui est parfois difficile). La technique scatter/gather est très efficace et pratique puisqu’une seule instruction permet de faire plusieurs choses simultanément. Cela explique pourquoi cette technique est aussi connue sous le nom d’entrées/sorties vectorielles. La liste des multiples tampons est présente dans un tableau mais celui-ci ne peut pas excéder la taille d’une page mémoire. Afin de faire sauter cette limitation contraignante le noyau 2.6.24 a introduit la possibilité de chaîner ces listes. Le but est d’augmenter encore les performances d’entrées/sorties mais ce changement a été douloureux et a provoqué le dysfonctionnement de plusieurs pilotes. Jonathan Corbet a même indiqué que

    le chaînage des listes scatter/gather a sans doute été le changement le plus problématique du noyau 2.6.24, en dépit du fait qu’il s’agit d’un nombre réduit de lignes de code

    L’API scatter/gather doit aussi encore être améliorée afin de simplifier son utilisation. Deux directions sont envisagées pour inclusion dans le noyau 2.6.25 afin d’avoir une API qui permette d’écrire plus facilement à l’avenir du code haute-performance.

  • Le support de l’espace de noms pour les processus fait son entrée dans le nouveau noyau….De même ce support de l’espace de noms pour les processus est pour l’instant encore marqué comme « expérimental » afin de prévenir les développeurs que l’interface de programmation est susceptible de changer. La finalisation définitive de l’API est prévue pour la version 2.6.25 et elle pourrait bien annoncer le début de la fin pour les patchs externes du type Vserver. Quand tous ces mécanismes de gestion de conteneurs seront inclus dans la branche principale, Linux possédera une solution plus puissante et plus générique que ses concurrents. On peut noter à titre d’exemple que les Zones de Solaris ne possèdent pas d’espace de noms pour le réseau.
  • L’interface Virtio qui permet de proposer aux différentes solutions de virtualisation une couche commune pour gérer les entrées/sorties a été développée par Rusty Russell et le patch a été inclus dans le nouveau noyau Linux. Comme il existe plusieurs solutions de virtualisation utilisables avec Linux (Xen, Lguest, KVM, etc.) il est apparu nécessaire de chercher à mutualiser une partie du code et à proposer une couche d’abstraction pour éviter une divergence des outils. Virtio est une interface virtuelle qui permet de gérer les entrées/sorties et évite ainsi la prolifération anarchique des pilotes virtuels. Interrogé sur l’utilité réelle de Virtio, Rusty a répondu que :

    personne ne veut maintenir cinq pilotes virtuels différents pour le réseau, cinq pilotes virtuels différents en mode bloc, etc. En fait à un moment la communauté du noyau va se rebeller […] Nous pouvons donc au moins simplifier pour chaque technologie de virtualisation le fait d’implémenter le nouveau périphérique XYZZY.

    Virtio reste volontairement simple car la technique de virtualisation des entrées/sorties change rapidement et il ne faut pas que cette nouvelle interface devienne un facteur limitant par la suite…ou comme le dit plus brutalement Rusty:

    Of course, the new interface must not suck.

  • La gestion dynamique des tranches de temps pour l’architecture x86-64 et pour l’architecture PPC fait maintenant partie du code du noyau Linux. Cette technologie est apparue dans le noyau 2.6.21 mais elle était jusqu’à présent réservée aux processeurs i386 et aux SPARC64. Elle permet (quand on utilise l’option CONFIG_NO_HZ) d’éviter d’avoir une fréquence fixe de « réveil » du processeur et donc de le laisser plus longtemps dans des modes d’économie d’énergie. Cela se traduit par moins de chaleur dissipée et plus de durée d’utilisation pour les ordinateurs portables (c’est également intéressant pour la gestion des machines virtuelles). Les nombreux utilisateurs de distributions x86-64 peuvent donc maintenant découvrir les bienfaits d’un noyau « tickless« .
  • le support de la norme Secure Digital Input Output fait son entrée au sein du code permettant de gérer les cartes mémoires MMC et SD. Cette modification autorise le branchement sur un port SD de divers gadgets: Récepteurs GPS, adaptateurs Wi-Fi ou Bluetooth ou Ethernet, Lecteurs de code-barre, Tuners FM ou TV, Appareils photos, etc.
    Pierre Ossman, qui est le mainteneur officiel du sous-système MMC/SD, a annoncé que trois pilotes SDIO étaient déjà inclus dans le noyau et que le travail continue pour inclure de nombreux autres pilotes. Néanmoins il tient à avertir les développeurs que son implémentation de SDIO force à écrire proprement le code des pilotes :

    Cette implémentation oblige à une stricte séparation des couches et masque tous les détails du protocole. Cela pourra en ennuyer certains qui voulaient porter plus facilement les pilotes entre différentes implémentations mais je crois que le résultat final sera un système bien plus robuste au lieu de n’être qu’une collection de hacks et de bidouilles.

  • L’infrastructure Kernel Markers est maintenant en place dans le noyau 2.6.24. Depuis plusieurs mois les développeurs ont entrepris d’améliorer les fonctions de tracing, c’est à dire d’enregistrement d’informations lors de l’exécution de la machinerie interne de Linux. Ce « tracing » est très important pour diagnostiquer d’éventuels problèmes et pour régler finement les performances du noyau. La société Sun propose l’outil Dtrace dans son système d’exploitation Solaris et la sophistication de cet outil a provoqué un très grand intérêt dans le monde informatique au point que le projet FreeBSD a décidé de porter Dtrace vers son propre environnement. La puissance du logiciel de Sun a provoqué un sentiment d’envie chez les développeurs Linux qui, pour revenir à parité, ont accéléré leurs efforts. Le premier résultat est Kernel Markers qui permet d’insérer des points de contrôles statiques dans le noyau. Le fait que ces points soient statiques est important car cela leur permet d’être insensibles aux modifications de code qui les rendraient obsolètes à très court terme et cela rend négligeable leur impact sur les performances. Maintenant que cette infrastructure est en place les outils concurrents de Dtrace (comme SystemTap ou LTTng) vont pouvoir s’appuyer dessus pour devenir compétitifs.
  • Une autre nouveauté de ce noyau est le mécanisme d’autorisation des périphériques USB. Dans un futur proche la nouvelle norme Wireless USB (c’est à dire le branchement des périphériques par ondes radio) va faire son apparition. Cela pose évidemment un problème de sécurité nouveau qu’il faut résoudre dès maintenant. Actuellement quand un utilisateur branche par exemple un disque dur USB le noyau suppose que ce périphérique est autorisé et il est automatiquement configuré et rendu disponible. Avec le WUSB et ses connexions sans fil à distance il faut mettre en place un mécanisme d’authentification similaire au WPA qui existe pour les réseaux Wi-Fi. La spécification WUSB a pris en compte ce problème et le noyau 2.6.24 implémente maintenant ce mécanisme qui permettra d’éviter que votre voisin puisse se connecter sur votre disque dur WUSB tout neuf. Pour entrer un peu plus dans les détails la partie authentification est laissée à un programme en espace utilisateur alors que la partie autorisation relève du noyau. Cela permet de bien séparer les fonctions et d’éviter de faire entrer dans le noyau un grand nombre de lignes de code qui peuvent tout aussi bien rester à l’extérieur. Maintenant chaque périphérique USB a trois flags supplémentaires: wusb, authorized, et authenticated et l’administrateur de la machine peut changer librement la valeur de ces flags. On voit immédiatement le profit pour la gestion des périphériques USB classiques qui peut être tiré de cette infrastructure introduite pour accueillir le Wireless USB. Par exemple maintenant un administrateur peut décider que les souris et les claviers sont autorisés (en leur passant le flag authorized à 1) alors que les imprimantes et les périphériques de stockage sont interdits (valeur 0 dans leur flag). Ce mécanisme d’autorisation introduit donc beaucoup de souplesse dans la gestion fine des périphériques sous Linux.
  • Le patch permettant le réglage intelligent de la vitesse d’écriture a été intégré au noyau. Avant ce patch l’écriture sur un disque se passait de la façon suivante: Une application voulant écrire des données utilise la fonction write() et le noyau copie ces données dans la mémoire vive en mettant un flag « dirty ». Ce flag signifie que ces pages mémoire ne doivent pas être réutilisées tant que le disque dur n’aura pas effectivement écrit toutes les données. Le danger c’est que l’application continue d’écrire dans la mémoire plus rapidement que le disque ne peut absorber. La conséquence c’est que de plus en plus de pages mémoires deviennent « dirty » ce qui peut, dans des cas extrêmes, mettre en danger la stabilité de la machine qui n’aurait plus assez de mémoire vive. Pour éviter cette fâcheuse situation le noyau contrôle en permanence la quantité totale de pages « dirty » et, en cas de besoin, il force le processus à écrire directement sur le disque (ce qui est lent) au lieu d’écrire dans la mémoire. Jusqu’à présent ce mécanisme de contrôle n’était pas intelligent et il forçait tous les processus à ralentir ! Ainsi une clé USB très lente, ne pouvant donc pas absorber assez vite les pages « dirty », va entraîner le déclenchement par le noyau du processus de contrôle ce qui va ralentir tous les processus écrivant sur des périphériques.
    Peter Zijlstra a donc proposé un patch qui permet un contrôle pour chaque disque (et non plus global). Ainsi quand le contrôle de vitesse se déclenche pour le processus écrivant sur la clé USB, les autres processus, ceux qui écrivent sur des disques rapides, peuvent continuer à remplir des pages « dirty » dans la mémoire vive. Bien entendu la partie difficile de cette solution est d’arriver à déterminer le moment exact où doit se déclencher le contrôle autoritaire. Pour bien faire les choses un processus écrivant sur un disque rapide devrait avoir droit à plus de pages « dirty » qu’un autre écrivant sur un périphérique lent et le contrôle ne devrait pas se déclencher avec le même seuil. Pour prendre ces décisions délicates Peter Zijlstra a introduit la bibliothèque « Floating Proportions« . Cette dernière permet de suivre le nombre d’écritures effectives sur chaque disque et d’accorder des quotas de pages « dirty » en fonction de ces résultats. Ce réglage intelligent de la vitesse d’écriture permet ainsi d’améliorer les performances et la robustesse des entrées/sorties sous Linux.
  • Outre les nouveautés décrites ci-dessus, une multitude d’autres nouveautés sont présentes dans ce noyau.
    • De très nombreux pilotes Wi-Fi utilisant la nouvelle pile mac80211 (introduite dans le 2.6.22) entrent enfin dans la branche principale. Cela représente 2,3 Mo de code source ce qui donne une indication du nombre de pilotes. On trouve notamment celui de la carte Intel PRO/Wireless 3945ABG/BG ou encore de la carte Broadcom BCM43xx.
    • Après la correction de quelques problèmes de jeunesse le nouvel allocateur de mémoire SLUB, inclus dans le noyau 2.6.22, a été optimisé par Christoph Lemeter. On observe un gain de 10 à 20% quand l’allocation est de la même taille que la page mémoire et de 50% quand la libération est de la même taille que la page mémoire.
    • Pour des raisons de sécurité il n’est plus possible de charger des modules à chaud par l’intermédiaire de l’interface LSM. Les modules de sécurité devront donc être inclus lors de la compilation du noyau (ce qui va évidemment poser des problèmes aux firmes diaboliques qui utilisaient LSM pour brancher leurs modules propriétaires).
    • Toujours dans le domaine de la sécurité l’algorithme de chiffrement symétrique SEED, très répandu en Corée, est inclus dans le noyau.
    • L’allocation de port pour les protocoles UDP et SCTP se fait maintenant de façon non prévisible comme c’était déjà le cas avec TCP et ce afin de renforcer la sécurité.
    • Les disques SATA utilisent désormais par défaut la gestion de l’économie d’énergie par ACPI (même si le commentaire lapidaire et humoristique du commit laisse craindre le pire 😉
    • Le patch LRO (Large receive offload) permet d’agréger les multiples paquets TCP reçus en un seul gros paquet ce qui permet de réduire le travail de la pile réseau et donc d’augmenter les performances de la machine. Les pilotes réseau seront modifiés progressivement pour tirer partie de cette nouvelle fonction.
    • L’API de la couche d’abstraction des systèmes de fichiers (VFS) a été modifiée afin d’éviter un risque d’interblocage. Les mainteneurs de systèmes de fichiers qui ne sont pas dans la branche principale de Linux vont devoir, à moyen terme, adapter leur code.
    • Le système de fichiers CIFS inclus dans le noyau devient compatible avec les listes de contrôle d’accès (ACL).
    • Il est maintenant possible d’utiliser la fonction de multiplicateurs de ports de la norme SATA. Cela permet à plusieurs disques d’utiliser simultanément le même port SATA.

    La liste détaillant toutes les nouveautés (réseaux, systèmes de fichier, pilotes disques, cartes son, vidéo, Bluetooth, etc.) est disponible sur le site de Kernelnewbies.

Comme c’est devenu l’usage le site Linux Weekly News propose un article résumant les multiples contributions durant ce cycle. On apprend ainsi que le plafond des 10000 patchs a été dépassé (seulement 6200 patchs pour le 2.6.23) et que le nombre de contributeurs a été de 950 contre 860 pour le noyau précédent. Si on regarde le bilan global de l’année 2007 ce sont plus de 1900 développeurs qui sont intervenus sur le noyau en produisant plus de 30000 patchs (ce qui représente 5000 modifications de lignes de code par jour).
De nombreuses autres statistiques très intéressantes sont également présentes dans cet article et la conclusion est rassurante à lire :

L’image qui résulte de tous ces chiffres est celle d’une communauté de développement saine et diversifiée. Le noyau est vraiment une ressource commune avec littéralement des milliers de personnes qui travaillent pour l’améliorer. Et il ne montre aucun signe de ralentissement de sitôt.

Most active 2.6.24 employers
By changesets
(None) 1417 14.1%
(Unknown) 1108 11.1%
Red Hat 1045 10.4%
IBM 819 8.2%
Novell 680 6.8%
Intel 446 4.5%
linutronix 369 3.7%
Oracle 240 2.4%
SWsoft 212 2.1%
CERN 205 2.0%
Movial 190 1.9%
Linux Foundation 190 1.9%
MIPS Technologies 176 1.8%
Renesas Technology 140 1.4%
(Academia) 132 1.3%
Freescale 126 1.3%
MontaVista 122 1.2%
Analog Devices 115 1.1%
(Consultant) 112 1.1%
NetApp 101 1.0%
By lines changed
(None) 140730 18.0%
(Unknown) 121511 15.5%
Intel 114990 14.7%
Red Hat 58858 7.5%
IBM 51777 6.6%
linutronix 47968 6.1%
Novell 29856 3.8%
Movial 19093 2.4%
Freescale 15262 1.9%
Analog Devices 14971 1.9%
MIPS Technologies 11726 1.5%
SWsoft 8331 1.1%
Linux Foundation 7917 1.0%
Oracle 7777 1.0%
Atmel 7125 0.9%
CERN 6618 0.8%
Renesas Technology 6414 0.8%
Google 6373 0.8%
MontaVista 6026 0.8%
NetApp 5620 0.7%
Top contributors in 2007
By developer
Ralf Baechle 507 1.7%
Thomas Gleixner 485 1.6%
David S. Miller 468 1.6%
Adrian Bunk 439 1.5%
Tejun Heo 394 1.3%
Ingo Molnar 351 1.2%
Paul Mundt 351 1.2%
Al Viro 337 1.1%
Bartlomiej Zolnierkiewicz 330 1.1%
Andrew Morton 319 1.1%
Stephen Hemminger 302 1.0%
Patrick McHardy 277 0.9%
Alan Cox 270 0.9%
Takashi Iwai 269 0.9%
Trond Myklebust 256 0.9%
David Brownell 254 0.8%
Avi Kivity 229 0.8%
Jeff Dike 227 0.8%
Jeff Garzik 216 0.7%
Jean Delvare 215 0.7%
By employer
(None) 4881 16.2%
Red Hat 3441 11.4%
(Unknown) 2933 9.7%
IBM 2379 7.9%
Novell 2054 6.8%
Intel 1060 3.5%
Linux Foundation 784 2.6%
Oracle 677 2.2%
(Consultant) 631 2.1%
MIPS Technologies 507 1.7%
linutronix 507 1.7%
Renesas Technology 394 1.3%
(Academia) 392 1.3%
SWsoft 384 1.3%
SGI 368 1.2%
MontaVista 342 1.1%
CERN 330 1.1%
Freescale 291 1.0%
NetApp 279 0.9%
Astaro 277 0.9%

Pour la suite…
En ce qui concerne le futur du noyau Linux on peut se tourner vers la page spécifique maintenue par Jonathan Corbet.

  • L’outil de tracing utrace, qui était pressenti pour faire son entrée dans le 2.6.24, a été retardé mais il devrait être présent dès la prochaine mouture de Linux.
  • Le module de sécurité SMACK (Simplified Mandatory Access Control Kernel), qui est développé par Casey Schaufler, pourrait entrer en mainline et faire concurrence à SELinux en proposant moins de fonctions mais une configuration bien plus simple. Casey propose régulièrement des mises à jour de version qui intègrent la branche de test -mm sans problèmes ce qui est de bon augure pour le futur de ce module.
  • Le système de fichier de nouvelle génération ext4 continue sa phase de développement et il incorpore de nouvelles fonctions. Cette fois-ci c’est UBG (uninitialized block groups) qui est annoncé. Cela consiste à contrôler si un bloc disque a été initialisé ou pas. Si le bloc n’a jamais été utilisé alors le programme fsck n’aura pas besoin de le vérifier lors de son passage suivant. Cela permet potentiellement de gagner beaucoup de temps lors du boot (entre 2 et 20 fois plus rapide) quand on doit procéder à l’examen d’un disque.
  • Le support des bus de données de type CAN (Controller Area Network) est en cours de développement par des ingénieurs de la société Volkswagen. Cette nouvelle infrastructure PF_CAN devrait faire son entrée dans le noyau 2.6.25 ou 2.6.26 et faciliter ainsi l’utilisation de Linux au sein de l’industrie automobile .
  • Enfin le vieux serpent de mer du débogueur interactif intégré au noyau refait surface. Selon les prévisions de Jon Corbet il y a une chance non nulle qu’en dépit de la mauvaise volonté de Linus, qui n’aime pas les débogueurs intégrés (voir le fameux post « because i’m a bastard« ), le patch KGDB puisse faire partie du prochain noyau 2.6.25

Autres sites d’informations sur le noyau Linux:

http://kernelnewbies.org/LinuxChanges (« A comprehensible changelog of the Linux kernel, this page shows a summary of the important changes being added in each Linux kernel release – support for new devices, features, filesystems, and subsystems as well as important internal changes. While this text is aimed to be readable (unlike the full changelog), its primary audience is those who know a fair amount about how a kernel operates. Other places to get news about the Linux kernel are LWN kernel status, LWN driver porting guide, LWN list of API changes in 2.6, or www.lkml.org. If you’re going to add something here look first at LinuxChangesRules!« )

http://lwn.net/Kernel/ (« LWN.net’s coverage of Linux kernel development is detailed, technical, and timely. »)

Posted in Authentification, linux, machines virtuelles, open source, Réseau, Sécurité informatique, système embarqué, Temps réel, virtualisation | Tagué: , , , , , , | Leave a Comment »

Ce qui caractérise les utilisateurs de logiciels libres

Posted by Noam sur janvier 24, 2008

Source: http://framablog.org/index.php/post/2008/01/22/Ce-qui-caracterise-un-utilisateur-de-logiciels-libres (« Alors voilà. Nous y sommes. Le logiciel libre est clairement en train de gagner la bataille du desktop. Quelque soit son système d’exploitation, on trouve désormais des logiciels libres de grande qualité répondant à tous les usages de base (web, bureautique, graphisme, multimédia…). Dans le même temps des distributions GNU/Linux toujours plus conviviales arrivent à maturité et les revendeurs ne s’y trompent pas puisqu’ils commencent à en proposer au grand public dans leurs offres d’ordinateurs neufs. Cependant n’oublions pas la phrase en exergue de ce blog : « …mais ce serait peut-être l’une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d’autre que du code ». En effet, utiliser des logiciels libres c’est non seulement faire des économies, c’est non seulement se retrouver avec plein d’applications qui nous comblent au quotidien mais c’est aussi et surtout adopter certains comportements (et rompre avec d’autres), participer à un mouvement et, osons le mot, faire partie d’une culture. Une culture qui favorise l’écoute, l’indépendance et l’autonomie. Une culture de coopération et non de compétition. Une culture aux antipodes de certaines logiques et structures politico-économiques qui nous demandent avant tout d’être des consommateurs passifs. Il serait non seulement dommage mais fort dommageable que la nouvelle génération d’utilisateurs fraîchement débarqués du monde Windows, et dont Framasoft se réclame, perde cela de vue… La traduction que nous vous proposons aujourd’hui brosse le portrait d’un utilisateur de logiciels libres en soulignant neuf caractéristiques qui le distinguent justement de l’utilisateur de logiciels propriétaires.Parce qu’il en va de la responsabilité de tous que cette précieuse culture ne se dilue pas avec sa démocratisation…« )

Lire la suite sur le blog de Framasoft:  http://framablog.org/index.php/post/2008/01/22/Ce-qui-caracterise-un-utilisateur-de-logiciels-libres

 Voir:

http://fr.wikipedia.org/wiki/Framasoft (« Framasoft est un réseau de sites web collaboratif à géométrie variable dont le dénominateur commun est le logiciel libre et son état d’esprit. Il vise à faire connaître et diffuser le logiciel libre au plus large public. Lieu d’informations, d’actualités, d’échanges et de projets, Framasoft, de par la diversité et le dynamisme de son réseau, est aujourd’hui l’une des portes d’entrée francophones du logiciel libre. Sa communauté accompagne ceux qui souhaitent substituer leurs logiciels propriétaires par des logiciels libres. Elle attache une attention toute particulière au processus de migration du système d’exploitation Microsoft Windows vers GNU/Linux. Framasoft a été créé en novembre 2001 par Alexis Kauffmann, professeur de mathématiques. Le nom dérive de Framanet (pour FRAnçais et MAthématiques en intraNET), projet éducatif dont Framasoft a d’abord été une rubrique logicielle avant de devenir indépendante« )

http://framablog.org/ (« Framablog.org est le blog du réseau Framasoft. Il évoque aussi bien l’actualité du logiciel libre en général que celle du réseau Framasoft en particulier. Il propose souvent des traductions originales d’articles anglophones via le groupe de travail Framalang. »)

Posted in culture, GNU/Linux, logiciel libre, migration vers le libre, open source | Tagué: , | Leave a Comment »

Quelques articles de Linux-Fr: Ruby On Rails, Logiciel libre, Temps réel

Posted by Noam sur décembre 18, 2007

Quelques brèves qui m’intéressent:

  1. la sortie de Ruby On Rails 2. On rappelle qu’une conférence a lieu le mercredi 19 décembre à l’ENSIMAG à 19h30 (voir plus bas).
  2. le logiciel libre, le problème des DRM
  3. le temps réel sous GNU/Linux
  • Ruby/ Ruby On Rails

===============================================
o Développeur: Sortie de Ruby on Rails 2.0
—————————————————————————
Auteur: EppO ( http://www.darox.net ) @ 19:00
Thème: Ruby

Ruby on Rails ( http://fr.wikipedia.org/wiki/Ruby_on_Rails ), le
célèbre framework basé sur le langage Ruby, permettant le développement rapide d’applications web selon le modèle MVC (Modèle, Vue, Contrôleur (
http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur )) sort en version 2.0.

Le développement qui a duré une année a permis l’ajout de nombreuses fonctionnalités, la résolution de beaucoup de bugs, une orientation tournée vers le REST ( http://fr.wikipedia.org/wiki/REST ), et pas mal d’allégements au niveau du core (externalisation de fonctionnalités en greffons).

DHH, le créateur du framework Ruby on Rails, a commenté ces nouveautés lors de Paris on Rails ( http://paris.onrails.info/ ). Pour les absents, des slides et/ou des podcasts des présentations devraient être mis en ligne prochainement.

[en] – Ruby on Rails ( http://linuxfr.org/redirect/54864.html )
[fr] – Architecture REST ( http://linuxfr.org/redirect/54865.html )
[en] – Blog de Ruby on Rails ( http://linuxfr.org/redirect/54866.html )
[en] – Rails 2 Upgrade Notes ( http://linuxfr.org/redirect/54867.html )
[en] – Summary of Major Rails 2 Features ( http://linuxfr.org/redirect/54868.html )
[fr] – Ruby on Rails sur dmoz ( http://linuxfr.org/redirect/54869.html )

===========================================

Conférence: Ruby et Ruby on Rails Mercredi 19 décembre de 19:30 à 21:45, par Laurent Julliard, à l’ENSIMAG, campus de Saint Martin d’Hères, Amphi E

Résumé: La présentation couvrivra dans un premier temps le langage Ruby. Dans un second temps la conférence s’attardera sur Ruby on Rails, un framework de développement Web 2.0 qui a beaucoup fait parler de lui au cours des deux dernières années. ainsi que les diférents outils et bibliothèques qui l’entourent.

Communication: Merci de nous aider en relayant largement l’annonce de cette conférence. Vous pouvez également imprimer et diffuser l’affiche (PDF). Dans ce cas, vous pouvez vous inscrire sur la page wiki pour coordonner les efforts des « colleurs d’affiche ».

============================================

  • Logiciel Libre/DRM

=============================================
Infos Locales : Le consortium QualiPSo organise la première conférence internationale sur la qualité des Logiciels Libres

 

 

Posté par jcspilmont (display_envoyermessageperso(‘jcspilmont’);). Modéré le vendredi 14 décembre. isadmin (‘23461’)

 

Le consortium QualiPSo organise les 16 et 17 janvier 2008 sa première conférence internationale sur le thème: « Développer la confiance dans les Logiciels Libres ».
Organisée à Rome, la conférence QualiPSo 2008 rassemblera des autorités internationales et des experts de l’Open Source. Elle dévoilera les premiers résultats des recherches menées par le consortium et sera un lieu de débat et d’échange sur les moyens d’accroître et de garantir la confiance dans les Logiciels Libres.

Les défis de l’Open Source seront traités au travers de trois angles complémentaires: politique, économique et technologique :

  • Les stratégies et les modèles de business dans l’Open Source
  • Les questions légales et de propriété intellectuelle
  • La confiance dans les Logiciels Libres et leurs processus de développement
  • L’interopérabilité des Logiciels Libres
  • Les réseaux de compétence sur les Logiciels Libres
  • Les forges logicielles de nouvelle génération.

> Lire la dépêche (2 commentaires, moyenne: 2).

============================================

Livre: Le guide pratique d’usage des logiciels libres dans les administrations
—————————————————————————
Auteur: Nÿco ( https://linuxfr.org/~Nyco/ ) @ 07:47
Thème: Communaute

La DGME publie à destination des administrations « Le guide
pratique d’usage des logiciels libres dans les administrations ». Rédigé
par Thierry Aimé, le document de 18 pages prend la forme d’une FAQ (
http://fr.wikipedia.org/wiki/Foire_aux_questions ) et est publié sous
licence Creative commons « paternité – partage à l’identique » (CC by-sa).

Il répond à diverses questions – notamment juridiques – que les
administrations peuvent se poser lorsqu’il s’agit de mettre en place des
Logiciels Libres :

Le document commence par rappeler ce qu’est un logiciel,
comment fonctionne le mécanisme du droit d’auteur, ce qu’est une licence de
logiciel en général et une licence de logiciel libre en particulier.
Des aspects plus pratiques sont ensuite abordés, comme la façon de trouver
un Logiciel Libre, comment vérifier qu’il s’agit bien d’un Logiciel Libre
en fonction de sa licence, etc.
Par la suite, les problématiques spécifiques aux administrations sont
discutées : le passage de marché public pour une mutualisation sous licence
libre (le principe de payer le développement du logiciel qu’une fois pour
qu’il soit libre), la rédaction de cahier de charges pour demander
l’utilisation de composants libres ou de standards ouverts (
http://fr.wikipedia.org/wiki/Format_ouvert ), le procédé pour reverser un
développement, etc.

[fr] – Le guide pratique d’usage des logiciels libres dans les administrations ( http://linuxfr.org/redirect/54882.html )

|> http://linuxfr.org/2007/12/13/23452.html
=====================================================

o Humeur: Un DVD enDRMerdant, prélude aux ennuis numériques au pied du sapin
—————————————————————————
Auteur: Benoît Sibaud ( http://oumph.free.fr ) @ 11:49
Thème: Audiovisuel

Il y a quelques jours, on m’a offert un DVD de courts-métrages (…)
pour mon anniversaire. (…) Donc je mets ma galette de polycarbonate
recouvert d’une fine couche d’aluminium dans mon lecteur de DVD. (…) Et
là le lecteur multimédia Videolan se lance et… rien.
Ainsi commencent les mésaventures d’un utilisateur de « DVD embrouillé »,
l’occasion de rappeler comment lire un tel support emDRMerdé avec du
logiciel libre via libdvdcss, de rappeler que la loi DADVSI est inappliquée
et inapplicable, de montrer que les DRM sont une stupidité technique, de
regrouper quelques témoignages d’utilisateurs légitimes en colère contre
les industries du cinéma et de la musique…

Bref en cette période d’achats de Noël où un boutiquier du numérique veut
développer le flicage et le filtrage sur internet sans réellement supprimer les verrous numériques, où l’on évoque un projet de loi DADVSI 2 pour 2008 et de nouvelles dispositions en préparation sur la responsabilité des hébergeurs, un petit article d’humeur qui regroupe divers liens et informations pour mieux guider les « consommateurs » (parfois connus sous le nom de citoyens ou spectateurs).

[fr] – Texte « Un DVD enDRMerdant » ( http://linuxfr.org/redirect/54854.html )
[fr] – RMS : Le droit de lire ( http://linuxfr.org/redirect/54855.html )
[fr] – April : DADVSI m’était conté ( http://linuxfr.org/redirect/54856.html )
[fr] – StopDRM : On veut un procès : compte-rendu de l’opération des ( http://linuxfr.org/redirect/54857.html )
[fr] – DLFP : concours contre les DRM ( http://linuxfr.org/redirect/54858.html )
[fr] – DLFP : EUCD/DADVSI : des contrefacteurs partout ? ( http://linuxfr.org/redirect/54859.html )

===============================================

Internet : Quelles libertés défend laCommission Nationale Informatique et Libertés ?

Posté par Nicolas Limare (Jabber id, page perso, display_envoyermessageperso(‘nilamer’);). Modéré le lundi 17 décembre à 12:00. isadmin(‘23462’)

Justice

Alors que les annonces se succèdent dans l’actualité à propos de filtrage d’Internet et de surveillance des communications électroniques, il peut être légitime de s’interroger sur la place de la Commission Nationale Informatique et Libertés dans tout cela.

Crée en 1978 par la loi du 6 janvier 1978, cette instance a été crée après le scandale du premier grand projet de fichage informatique par l’État (SAFARI) en 1974. Financée par l’État, avec des commissaires issus en grande partie du gouvernement, son rôle déjà souvent limité à celui de consultation a été encore plus limité par la récente modification de la Loi Informatique et Liberté.

En effet, en 2004, Alex Türk, actuel président de la CNIL, a rendu cette dernière impuissante face aux fichiers concernant la sûreté d’État (Défense, Sécurité Publique) — ce pour quoi elle avait été initialement créée. Depuis cette légalisation de tous les fichiers de police jusque-là hors la loi, la CNIL a par ailleurs déclaré « compatible avec la liberté » des projets comme les fichiers de prescription des assurés médicaux (AXA en 2004, Groupama et SwissLife en 2005), le passeport biométrique, la biométrie faciale « à des fins de recherche » (février 2007), la pose de mouchards éléctroniques par les compagnie d’assurance dans les véhicules des assurés (septembre 2007).

En plus de ses « avis », la CNIL est censé nous permettre de faire respecter nos droits à la connaissance et à la rectification des données personnelles. Mais avec des délais de consultation allant jusqu’à 2 ans pour les 4,7 millions de fiches du fichier de police STIC et l’explosion générale du nombre de fichiers informatiques nominatifs, ce droit n’existe quasiment plus que sur le papier.

Afin de relancer un nouveau débat, plusieurs collectifs ont décidés de prononcer le matin du 14 décembre la dissolution de la CNIL et ont appelé toute personne souhaitant discuter informatique et liberté à venir au 8 rue Vivienne, à Paris (métro Bourse ou Pyramides).

> Lire la dépêche (12 commentaires, moyenne: 1,7).  

===============================================
o Infos Locales: Les logiciels libres dans le Vercors
—————————————————————————
Auteur: Frederic Ollivier @ 12:44
Thème: Lug

Le Parc Naturel Régional du Vercors organise dans la Salle Communale de
SAINT JULIEN EN QUINT, le 15 Décembre 2007 à 14H avec la participation de la Guilde des Utilisateurs d’Informatique Libre, une séance d’information
sur les Logiciels Libres ainsi que des travaux pratiques.

Participeront également à cette séance qui est gratuite la Commission du
Haut Débit de Saint Julien en Quint et l’Association E-mage. Après un
exposé sur l’intérêt de ces logiciels, il sera répondu aux questions de
l’assistance.

L’accent sera mis Sur les moyens d’ouvrir sous Linux les documents
existants sous d’autres logiciels ;
Sur l’utilisation de passerelles entre les systèmes PC, MAC, LINUX.
Des travaux pratiques auront lieu sur quelques ordinateurs. Il sera
également présenté une solution de virtualisation, virtualbox, pour faire fonctionner sous Linux des logiciels techniques conçus pour fonctionner sous Windows
.

[fr] – GUILDE ( http://linuxfr.org/redirect/54870.html )
[en] – Virtualbox ( http://linuxfr.org/redirect/54871.html )
[fr] – Saint Julien en Quint ( http://linuxfr.org/redirect/54872.html )
[fr] – Annonce sur l’AdL ( http://linuxfr.org/redirect/54877.html )

============================================

  • Le temps réel sous Linux

o Articles: La guerre du temps réel
—————————————————————————
Auteur: patrick_g ( http://patrickguignot.free.fr/ ) @ 10:33
Thème: Linux

Les deux grandes distributions commerciales, Novell et Red Hat, ont
récemment annoncé la sortie d’une version dédiée spécialement au temps réel
( http://en.wikipedia.org/wiki/Real-time_operating_system ) et la
compétition s’annonce âpre dans ce secteur stratégique. Novell a ouvert le
feu le 27 novembre avec SUSE Linux Enterprise Real Time 10 (
http://www.novell.com/news/press/novell-ships-suse-linux-enterprise-real-time-10 ) et Red Hat a immédiatement répliqué le 4 décembre avec Red Hat
Enterprise MRG ( http://www.redhat.com/about/news/prarchive/2007/mrg.html (Messaging, Realtime et Grid Technologies).
)

Cette volonté de ne pas laisser un concurrent en position de monopole sur
ce secteur, même pour une durée infime, s’explique aisément. En effet de
plus en plus les entreprises reposent sur l’automatisation poussée de leurs
processus afin de gagner en réactivité. On se rappelle, lors du sommet
Linux 2007 ( /2007/09/20/23087.html ), le témoignage du représentant du
Crédit Suisse qui indiquait qu’un noyau patché pour le temps réel aidait à
maintenir les profits lors d’une transaction financière.

La prédictibilité des temps de réponse est donc un enjeu crucial et les
distributeurs commerciaux de Linux sont en compétition pour couvrir ce
marché au point, comme nous allons le voir, de déclencher une véritable
guerre des communiqués.

[en] – LWN : La compétition autour du temps réel (http://linuxfr.org/redirect/54860.html )
[en] – Description de la solution Novell ( http://linuxfr.org/redirect/54861.html )
[en] – Description de la solution Red Hat ( http://linuxfr.org/redirect/54862.html
[en] – Les patchs RT du noyau ( http://linuxfr.org/redirect/54863.html )
)

|> http://linuxfr.org/2007/12/13/23447.html

Posted in 2007, GNU/Linux, Guilde, linux, logiciel libre, migration vers le libre, open source, ruby, Temps réel, Web Frameworks, web2.0 | Tagué: , , | Leave a Comment »

Les nouveautés dans ASP.NET Extensions: ASP.NET MVC et ASP.NET AJAX

Posted by Noam sur décembre 15, 2007

Comme le précise ce billet http://dosimple.ch/articles/MVC-ASP.NET/ écrit le 2 mai 2006 et celui-ci écrit le 13 mars 2007, le framework ASP.NET n’incite pas particulièrement à la séparation stricte de type Modèle, Vue, Contrôleur. On a vu que Monorail, projet open source, implémente le modèle MVC. Microsoft emboite le pas avec un grand retard en introduisant ASP.NET MVC: voir le billet suivant: http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx (« One of the things that many people have asked for over the years with ASP.NET is built-in support for developing web applications using a model-view-controller (MVC) based architecture. Last weekend at the Alt.NET conference in Austin I gave the first public demonstration of a new ASP.NET MVC framework that my team has been working on. You can watch a video of my presentation about it on Scott Hanselman’s blog here.

What is a Model View Controller (MVC) Framework?

MVC is a framework methodology that divides an application’s implementation into three component roles: models, views, and controllers.

  • « Models » in a MVC based application are the components of the application that are responsible for maintaining state. Often this state is persisted inside a database (for example: we might have a Product class that is used to represent order data from the Products table inside SQL).

  • « Views » in a MVC based application are the components responsible for displaying the application’s user interface. Typically this UI is created off of the model data (for example: we might create an Product « Edit » view that surfaces textboxes, dropdowns and checkboxes based on the current state of a Product object).

  • « Controllers » in a MVC based application are the components responsible for handling end user interaction, manipulating the model, and ultimately choosing a view to render to display UI. In a MVC application the view is only about displaying information – it is the controller that handles and responds to user input and interaction.

One of the benefits of using a MVC methodology is that it helps enforce a clean separation of concerns between the models, views and controllers within an application. Maintaining a clean separation of concerns makes the testing of applications much easier, since the contract between different application components are more clearly defined and articulated.

The MVC pattern can also help enable red/green test driven development (TDD) – where you implement automated unit tests, which define and verify the requirements of new code, first before you actually write the code itself.

A few quick details about the ASP.NET MVC Framework

I’ll be doing some in-depth tutorial posts about the new ASP.NET MVC framework in a few weeks once the bits are available for download (in the meantime the best way to learn more is to watch the video of my Alt.net presentation).

A few quick details to share in the meantime about the ASP.NET MVC framework:

  • It enables clean separation of concerns, testability, and TDD by default. All core contracts within the MVC framework are interface based and easily mockable (it includes interface based IHttpRequest/IHttpResponse intrinsics). You can unit test the application without having to run the Controllers within an ASP.NET process (making unit testing fast). You can use any unit testing framework you want to-do this testing (including NUnit, MBUnit, MS Test, etc).

  • It is highly extensible and pluggable. Everything in the MVC framework is designed so that it can be easily replaced/customized (for example: you can optionally plug-in your own view engine, routing policy, parameter serialization, etc). It also supports using existing dependency injection and IOC container models (Windsor, Spring.Net, NHibernate, etc).

  • It includes a very powerful URL mapping component that enables you to build applications with clean URLs. URLs do not need to have extensions within them, and are designed to easily support SEO and REST-friendly naming patterns. For example, I could easily map the /products/edit/4 URL to the « Edit » action of the ProductsController class in my project above, or map the /Blogs/scottgu/10-10-2007/SomeTopic/ URL to a « DisplayPost » action of a BlogEngineController class.

  • The MVC framework supports using the existing ASP.NET .ASPX, .ASCX, and .Master markup files as « view templates » (meaning you can easily use existing ASP.NET features like nested master pages, <%= %> snippets, declarative server controls, templates, data-binding, localization, etc). It does not, however, use the existing post-back model for interactions back to the server. Instead, you’ll route all end-user interactions to a Controller class instead – which helps ensure clean separation of concerns and testability (it also means no viewstate or page lifecycle with MVC based views).

  • The ASP.NET MVC framework fully supports existing ASP.NET features like forms/windows authentication, URL authorization, membership/roles, output and data caching, session/profile state management, health monitoring, configuration system, the provider architecture, etc. »)

A voir:

  • https://pvergain.wordpress.com/2007/03/13/critique-de-larchitecture-aspnet/ (« Le problème avec ASP. Net est qu’il n’y a qu’un objet qui traite les demandes http, c’est l’objet PAGE. C’est lui qui a le contrôle de tout, et donc il mélange le code dit de «contrôle», et le code qui pilote la «visualisation» des éléments en html. Et bien souvent, on mélange aussi le code qui pilote le «Modèle» c’est à dire l’obtention des données directement depuis la base de données avec Ado.Net (c’est ce qu’on obtient lorsqu’on fait du WYSIWYG dans Visual Studio en choisissant les Sql Data Source et les glissant-déposant sur l’ihm). Cet anti-modèle (ou anti–pattern) a été souvent pointé du doigt par les architectes et développeurs, car en plus de faire produire du code spaghetti (bien que orienté objet), il rend impossible les tests systématisés (automatisés).« )
  • http://dosimple.ch/articles/MVC-ASP.NET/ (« Dans le framework ASP.NET la vue est un fichier HTML agrémenté de balises ASP. Le contrôleur et le modèle sont en général mélangés dans un objet qui dérive de la classe System.Web.UI.Page. »)
  • http://www.castleproject.org/monorail/index.html (« MonoRail is a MVC Web Framework inspired by Action Pack. MonoRail differs from the standard WebForms way of development as it enforces separation of concerns; controllers just handle application flow, models represent the data, and the view is just concerned about presentation logic. Consequently, you write less code and end up with a more maintainable application. Although the project name is MonoRail, we do not have any affiliation with the Mono project. MonoRail runs on Microsoft .Net 1.1, 2.0 and Mono.« )
  • http://en.wikipedia.org/wiki/ASP.NET_MVC_Framework (« ASP.NET MVC Framework is a Model-view-controller framework which Microsoft is adding to ASP.NET. It allows an application to be built as a composition of three roles: Model, View and Controller. A Model represents the state of a particular aspect in the application. Frequently, a model maps to a database table, with the entries in the table representing the state of the table. A Controller handles interactions and updates the model to reflect a change in state of the application. A View ASP.NET MVC Framework couples the models, views and controllers using interface-based contracts, thereby allowing each component to be easily tested independently. The view engine in the MVC framework uses regular .aspx pages to design the layout of the UI pages onto which the data is composed; however any interactions are routed to the controllers rather than using the postback mechanism. Views can be mapped to REST-friendly URLs. ASP.NET MVC Framework has been launched as a Community Technology Preview on December 10, 2007 extracts necessary information from a model and renders a UI to display that.. »)
  • http://www.hanselman.com/blog/ScottGuMVCPresentationAndScottHaScreencastFromALTNETConference.aspx ( » I attended the ALT.NET Conference last weekend in Austin, TX. I personally find the name « Alt » as in « Alternative » too polarizing and prefer terms like « Pragmatic.NET » or « Agile.NET. » At the conference I suggested, partially in jest, that we call it « NIH.NET » as in « Not Invented Here.NET. » 😉 Ultimately this is a group that believes in:
    • Continuous Learning
    • Being Open to Open Source Solutions
    • Challenging the Status Quo
    • Good Software Practices
    • DRY (Don’t Repeat Yourself)
    • Common Sense when possible.

    ScottGu gave an hour long presentation on the upcoming MVC Framework and I took some guerilla video. ScottGu’s presentation is here in Silverlight and it’s about 60 minutes long. Considering it’s so long, the video squished nicely. This was the first time the MVC Framework was shown publicly. Note that this was a Prototype, not the Production code and both ScottGu and I make that point a number of times to drive home that it’s early. Some of the code was written on a plane, just to give you an idea. After The Gu did his piece on the MVC Framework, I showed some prototype hacking that I’d done over the previous few days along with some work Phil Haack did. My presentation is here as Silverlight and it’s about 30 minutes long. I showed the Model View Controller with Controllers in IronPython and an IronPython view using a WebFormViewEngine. Then I talked about the possibilities of alternate ViewEngines and showed Phil Haack’s prototype RubyViewEngine. »)

  • http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx ( » ASP.NET MVC Framework (Part 1) I’m going to use a simple e-commerce store application to help illustrate how the ASP.NET MVC Framework works. For today’s post I’ll be implementing a product listing/browsing scenario in it. Specifically, we are going to build a store-front that enables end-users to browse a list of product categories when they visit the /Products/Categories URL on the site>>Since it adds a testing project, does this require Team System? No – the good news is that Test Projects with VS 2008 are now supported with the VS 2008 Professional edition – and no longer require team system. You will also be able to use the VS Express and Standard edition products as well, and then use NUnit, MBUnit or some other testing framework with them (we’ll ship project templates for these as well…>> 2. Is it also possible to have this URL mapped: /Products/Beverages/3 instead of /Products/Beverages?page=3 or does it _need_ the parameter name? Yes – this is totally supported. Just set a route rule for /Products/Beverages with the format /Products/<Category>/<Page> – they’ll then get passed in as arguments to the action method:public List(string category, int? page) {}>>Also, some ideas and general remarks: 1. I’d love to see more helper methods for use in the views, I like how Ruby on Rails has many shortcuts for creating forms and formfields etc. Yes – we’ll have a rich library of helper methods for the views. They’ll include helpers to create all the standard forms, formfields and more.

>>2. Migrations! Not a part of MVC but from my experience with Ruby on Rails I would love to see support for this somewhere, anywhere! It would fit perfectly with the more agile way of developing that is possible with ASP.NET MVC. Rob Conery is building .NET Migrations support as part of the SubSonic project, and recently joined Microsoft. You’ll be able to use this with ASP.NET MVC

>>I’m also very keen to get my hands on the CTP. Scott, you mention, using Inversion of Control containers with the MVC framework. I’d be very interested in seeing a blog post on this subject. Also, will there be a sample application (with tests and IoC) available alonside the CTP? We have a IControllerFactory extensiblity point that owns creating Controller instances. You can use this with a IOC container to customize any Controller instance prior to it being called by the MVC framework. We’ll be posting samples of how to use this with ObjectBuilder and Windsor with the first CTP I believe

>> Very cool! One thing I’d like to see guidance on is developing MVC apps with multiple UIs. You say here that it’s best to put your models and controllers in the web app, but say we want a Winforms, WPF, Silverlight, and Web UI all doing similar things. Or a Mobile Web UI and Desktop Web UI… Would these still each need their own Models and Controllers, or does it make sense to have one library that they all share? If so, how is that supported? I’m still new to MVC, so if I’m missing something conceptually here, tell me! That is a good question, and one we’ll need to provide more guidance on in the future. In general it is often hard to share the same controller across both client and web UI, since the way you do data access and the stateful/stateless boundaries end up being very different. It is possible – but some guidance here would ceretainly be useful. My team should hopefully be coming out with this in the future

>>I really appreciate this material. Do you support the MVC pattern over the MVP pattern? Or are there just better scenarios for using each? The above approach I showed uses a MVC based pattern – where the Controller and the View tend to be more separate and more loosly coupled. In a MVP pattern you typically drive the UI via interfaces. This works well with a controls model, and makes a lot of sense with both WinForms and WebForms where you are using a postback model. Both MVC and MVP are perfectly fine approaches to use. We are coming out with the MVC approach for ASP.NET partly because we’ve seen more demand for it recently for web scenarios…

>> When can we expect a similar chapter with SubSonic as the DAL and scaffolding provider? (see http://oakleafblog.blogspot.com/2007/11subsonic-will-be-toolset-for-microsofts.html I’ll be covering scaffolding in a future blog post. LINQ to SQL scaffolding is built-in with ASP.NET MVC and doesn’t require SubSonic. SubSonic will also obviously be adding new ASP.NET MVC features as well.

>> My applications in .NET works with « 3 layers » pattern (business logic and data access in your own dll). How can i use this wonderfull MVC with my Models (data access) and Controllers (B.Logic)?? Because if i’m not reuse this, i’ve repeat code in every layer; then this MVC is not DRY (don’t repeat yourself) and the community don’t accept. There is no need to put your business and data logic in the same assembly as your controllers. You can split them up across multiple class library projects if you prefer

>> Does this mean that with MVC, we no longer use LinqDatasource in the View section? While the LinqDataSource control will technically work in MVC Views, if you are using a MVC model you wouldn’t want to place it there. Instead you want to perform all of your data and application logic in the Controller layer – and then pass the needed data to the view.

>> Perhaps I missed it somehow, but can you explain on which version of asp.net will this ctp run? The MVC framework builds on top of .NET 3.5

>> Scott, this is amazing timing! The URL mapping features inherit in an MVC application are PERFECT for the upgrade to ASP.NET 3.5 I’m making to my spelldamage.com site. Hosting question, will hosts simply need to support the ASP.NET 3.5 framework to allow us to run ASP.NET MVC applications? Your hoster will need to support .NET 3.5 for the MVC support.

>> Is’nt the MVC framework, in fact the Controller, implementation of the Front Controller pattern? Yes – the ASP.NET MVC framework uses a front-controller pattern. »)

  • http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx (« Last month I blogged the first in a series of posts I’m going to write that cover the new ASP.NET MVC Framework we are working on. The first post in this series built a simple e-commerce product listing/browsing scenario. It covered the high-level concepts behind MVC, and demonstrated how to create a new ASP.NET MVC project from scratch to implement and test this e-commerce product listing functionality. In today’s blog post I’m going to drill deeper into the routing architecture of the ASP.NET MVC Framework, and discuss some of the cool ways you can use it for more advanced scenarios in your application… What does the ASP.NET MVC URL Routing System do? The ASP.NET MVC framework includes a flexible URL routing system that enables you to define URL mapping rules within your applications. The routing system has two main purposes:
    • Map incoming URLs to the application and route them so that the right Controller and Action method executes to process them
    • Construct outgoing URLs that can be used to call back to Controllers/Actions (for example: form posts, <a href= » »> links, and AJAX calls)

Having the ability to use URL mapping rules to handle both incoming and outgoing URL scenarios adds a lot of flexibility to application code. It means that if we want to later change the URL structure of our application (for example: rename /Products to /Catalog), we could do so by modifying one set of mapping rules at the application level – and not require changing any code within our Controllers or View templates.

>> BTW, can you explain in short about the Active Record Type support in our MVC.

.NET 3.5 has LINQ to SQL built-in – which is a great ORM. LINQ to Entities will also be built-into .NET 3.5 in the future (it also ships with the MVC setup). The MVC framework doesn’t require LINQ to SQL or LINQ to Entities as the data model – it also works with NHibernate, LLBLGen, SubSonic, DataSets, DataReaders, and/or any other data model with .NET. We will, though, provide out of the box scaffolding support for LINQ to SQL and LINQ to Entities that delivers nice integration with the MVC support.

>> Question : What is this MockHttpContext in the UnitTest class? I mean, i can guess what it is .. but is it new in .NET 3.5 or the MVC framework? The MockHttpContext is an example mock object. It isn’t currently built-in with the MVC framework (with the first preview you’d need to create this yourself). I’m hoping that before the MVC framework ships, though, that there are a built-in set of mock objects and test helpers that you can use out of the box (without having to mock them yourself). Note that all core contracts and types with the MVC framework are mockable (non-sealed and interfaces). So you can also use any existing Mock framework to test it (RhinoMocks, TypeMock, etc).

>> 1) Is it possible to use routes with a file extension if I don’t want to enable wildcard script mappings? For example, /Products/List/Beverages.rails or /Products/Detail/34.rails ? Yes – this is fully supported. We recommend changing your route rule to /[controller].mvc/[action]/[id]. When you install the ASP.NET MVC Framework we automatically register this .mvc extension – although you are free to use any other one you want.

>> Hypothetically, do you think it would be possible to customise the route creation process so that route data could be gathered from attributes on actions? We don’t currently support this built-in, but hypothetically you could load all the controllers at app-startup and use reflection on them to calculate the route rules. This would enable the scenario you are after.

>> Is it possible to use IronRuby as the coding language to target the MVC framework?? Yes – we’ll support both IronRuby and IronPython with the ASP.NET MVC Framework.

>> I am liking this more and more. I can see how the routing configuration code in global.asax.cs could become quite large. In my application, I can see dozens, maybe hundreds of unique routing rules. Is there any way this configuration can be put in a file somewhere? That file would be read on Application start. Seems like that would make deployment of routing changes easier, too. We don’t currently have a pre-built file format for reading in mapping rules. But it should be relatively easy to build (you could even use LINQ to XML to read in and construct the rules).

>> Just out of curiosity where in the HttpApplication cycle are the routing rules evaluated and are they exposed in any way to the rest of the HttpApplication cycle? My current security system grants permissions at what would become the controller-action level so if the route determination is made early enough I’d really like to drive my authorization off of it.
The routing rules are resolved after the OnPostMapRequestRequestHandler event. This means that it will happen *after* your authorization rules evaluate. The good news is that this means you should be able to re-use your existing security system as-is.

>> Will there be any way to use an XML document to create the routing rules outside of the Global.asax code? Yep – this scenario will be supported.

>> I noticed that in Django, you have to repeat yourself kind of often when you have a deep nested hierarchy of pages. Your search & search-results pages seem to be continuing that trend. I’m sure I could come up with some hierarchical data structure which can be serialized into Route objects, but is the ASP.NET team planning anything along those lines that would come stock?

With our first preview the Route type is not extensible (you can’t subclass it) – which means you sometimes need to register multiple routes for a series of things. For the next preview we are looking at enabling Route to be sub-classed – in which case you could easily encapsulate multiple URL mappings into a single registration.

>> Have you thought about being able to define a regular expression for url matching and using backreferences or named captures as the tokenized url? I think this would allow for much more flexibility while keeping the list of routing rules down to a minimum.

Yes – this is something we are looking at. The challange with regular expressions is that only a subset of people really understand them (and importantly – understand how to optimize them). But I agree that having this as an option would be super flexible.

>> I must say that i am still worried about having to leave all the knowledge that we ave until now with webforms and start a new technology and still think that we would need some kind of a bridge to close the gap between today solution of webforms and tomorrow solution of MVC. Although the way you structure application flow will be different, I think you’ll be pleasantly surprised by the amount of knowledge overlap that exists. Authentication, Authorization, Caching, Configuration, Compilation, Session State, Profile Management, Health Monitoring, Administration, Deployment, and many, many other things are exactly the same. MVC views are also .aspx pages (that use .ascx user controls and .master files). So the concept re-use is quite heavy there as well. »)

  • http://weblogs.asp.net/scottgu/archive/2007/12/06/asp-net-mvc-framework-part-3-passing-viewdata-from-controllers-to-views.aspx (« The last few weeks I have been working on a series of blog posts that cover the new ASP.NET MVC Framework we are working on. The ASP.NET MVC Framework is an optional approach you can use to structure your ASP.NET web applications to have a clear separation of concerns, and make it easier to unit test your code and support a TDD workflow. The first post in this series built a simple e-commerce product listing/browsing site. It covered the high-level concepts behind MVC, and demonstrated how to create a new ASP.NET MVC project from scratch to implement and test this e-commerce product listing functionality. The second post in this series drilled deep into the URL routing architecture of the ASP.NET MVC framework, and discussed both how it worked as well as how you can handle more advanced URL routing scenarios with it. In today’s blog post I’m going to discuss how Controllers interact with Views, and specifically cover ways you can pass data from a Controller to a View in order to render a response back to a client. In Part 1 of this series, we created an e-commerce site that implemented basic product listing/browsing support. We implemented this site using the ASP.NET MVC Framework, which led us to naturally structure the code into distinct controller, model and view components. When a browser sends a HTTP request to our web site, the ASP.NET MVC Framework will use its URL routing engine to map the incoming request to an action method on a controller class to process it. Controllers in a MVC based application are responsible for processing incoming requests, handling user input and interactions, and executing application logic based on them (retrieving and updating model data stored in a database, etc). When it comes time to render an HTML response back to the client, controllers typically work with « view » components – which are implemented as separate classes/templates from the controllers, and are intended to be focused entirely on encapsulating presentation logic. Views should not contain any application logic or database retrieval code, instead all application/data logic should only be handled by the controller class. The motivation behind this partitioning is to help enforce a clear separation of your application/data logic from your UI generation code. This makes it easier to unit test your application/data logic in isolation from your UI rendering logic.Views should only render their output using the view-specific data passed to it by the Controller class. In the ASP.NET MVC Framework we call this view-specific data « ViewData ». The rest of this blog post is going to cover some of the different approaches you can use to pass this « ViewData » from the Controller to the View to render.

>> One question Scott: Let say i’m jumpng on MS MVC bandwagon, do i have to abandon asp.net Page Life cycle godddies, should i set up my mind to different approach. When you use the ASP.NET MVC approach you’ll want to have all post in your site go to your Controller. This helps ensure that the application can be easily tested and preserves the separation of concerns. This is different from using ASP.NET server controls which postback to themselves (which is very powerful too – but means that it can sometimes be slightly harder to test). What doesn’t change is that all of other ASP.NET pieces (forms authentication, role management, session state, caching, profiles, configuration, compilation, httprequest/response, health monitoring, etc, etc) works with both web forms based pages and MVC based pages. MVC UI are also built with .aspx, .master, and .ascx files – so there is a high level of skill re-use there as well.

>> Some asp.net controls require <form runat=server>. If we use a asp:dropdownlist for example, we have to place in the asp:form. And this means viewstate comes back! Is there any way to get rid of hidden form fields? Or you suggest that we do must use classic HTML controls ? I’ll cover this more in my next blog in this series. We have helpers that can automate generating things like dropdownlists, etc. Think of them as controls for MVC. These don’t use viewstate and give you a little more control over the output of your HTML.

>> It would be nice if you can just compare a bit our MVC with ROR. Within ROR, we can create tables, Columns and Rows with Ruby, without using a single line of SQL, and all its done through ActiveRecord. In short all CRUD advantages.

>> SubSonic is almost in this line. Can you explain more in this line or how SubSonic can be used to take ActiveRecord Type advantages.

RoR is made up of several components.

« Action Controller » is the name of the MVC framework that Rails uses. That is the closest analogy to the ASP.NET MVC Framework – and at a high-level the ASP.NET MVC framework uses many of the same core concepts (URLs map to controller actions). The ASP.NET MVC Framework has a few additional features (like the ability to map incoming parameters directly to action method parameters). It is also more explicit about calling RenderView within the request.

« Active View » is the name of the View engine that Rails uses. This is analagous to the .aspx/.master/.ascx infrastructure ASP.NET has. Our view engine is IMO a little richer, and supports several additional features (declarative controls/components, templating, multiple regions for nested master pages, WYSIWYG designer, strongly typed ViewData access, pluggable storage provider, declarative localization, etc).

« Active Record » is the name of the ORM (object relational mapper) that RoR uses. This is analagous to an ORM in the .NET world – whether it is LINQ to SQL, LINQ to Entities, LLBLGen, SubSonic, NHibernate, ActiveRecord (the .NET version), etc. All of these ORMs have ways to map rows and columns in a database to objects that a developer then manipulates and works against (and can save changes back). The LINQ to SQL ORM is built-in to .NET 3.5 today, and LINQ to Entities will be built-in with .NET 3.5 SP1.

I think from your follow-up question above you are referring specifically to the « migrations » feature in RoR – which allows you to define table schemas using code, and version the schemas forward/backward. There isn’t a built-in version of this in the core .NET Framework today – although the SubSonic project has recently released a version that allows you to-do this using .NET. You can find out more about it here: www.subsonicproject.com.

>> Superb, …but I still longing for the IOC integration (Spring.NET, Windsor, StructureMap)…maybe in the next post ? I am planning on posting about IOC and dependency injection in the future (the ASP.NET MVC framework fully supports it and can be used with Spring.NET, Windsor, StructureMap, etc). I have a few other more basic MVC tutorials I need to get out of the way first – but testing and dependency injection are on the list for the future.

>> Nice series, eagerly waiting to see AJAX approach in the new ASP.NET MVC Framework, so when shall we expext that.
We will have ASP.NET AJAX support with the ASP.NET MVC Framework. I’ll talk more about this in a future tutorial series post.

>> This is coming together nicely. I was just hoping you might explain why there are 3 different ways to pass the ViewData? Does each method offer something that the others don’t? If not, surely it would be best to choose one method and force all developers to follow the same practice? Conceptually there are two ways to pass viewdata – either as a dictionary, or as a strongly typed object. In general I recommend using the strongly typed dictionary approach – since this gives you better compilation checking, intellisense, and refactoring support. There are, however, some times when having a more latebound dictionary approach ends up being flexible for more dynamic scenarios« )

  • http://blog.wekeroad.com/2007/10/26/microsoft-subsonic-and-me/ (« Rather than try and come up with some lame metaphors and trite pop-culture references, I’ve decided to use some advice from English 101 Professor:

    “Whatever the hell you’re trying to say, just say it”

    So I will: I’m going to work for Microsoft. I just signed the offer letter. I’ll be working with the ASP.NET guys on the new MVC platform as well as some other groovy things like Silverlight. I get to work “across the hall” from one of my very good friends – Phil Haack. I think it’s worth pointing out that SubSonic hasn’t been “bought”. Some might smell a conspiracy here, but I’ll leave that to the X-Files and Cap’n Crunch crowd to drum up all the evil reasons why the mothership has “beamed me up”. SubSonic will remain under the same MPL 1.1 license it always has, and will remain as completely Open Source as it always has – nothing will change at all. I’m just getting paid, essentially, to work on it 🙂...This is crucial to me. I decided to be direct with him and make sure we both understood these important points:

    “I want to be sure I have complete creative control over SubSonic, and that you don’t censor my blog… is that cool?”

    Shawn’s response is why I took the job:

    “Well Duh…” (he added some more things that were a bit more eloquent than “duh” – but I don’t think I was listening).

    I can make jokes about the UAC on my blog? And make up fictional Matrix converstations with ScottGu? Sign me up! I start on November 12th, right after DevConnections in Vegas (come on by if you’re out that way at the DNN Open Force« )

  • http://www.subsonicproject.com/ (« A Super High-fidelity Batman Utility Belt. SubSonic works up your DAL for you, throws in some much-needed utility functions, and generally speeds along your dev cycle. Why SubSonic ? Because you need to spend more time with your friends, family, dog, bird, cat… whatever. You work too much. Coding doesn’t need to be complicated and time-consuming. »)
  • http://en.wikipedia.org/wiki/Test-driven_development (« Test-Driven Development (TDD) is a software development technique consisting of short iterations where new test cases covering the desired improvement or new functionality are written first, then the production code necessary to pass the tests is implemented, and finally the software is refactored to accommodate changes. The availability of tests before actual development ensures rapid feedback after any change. Practitioners emphasize that test-driven development is a method of designing software, not merely a method of testing. Test-Driven Development began to receive publicity in the early twenty-first century as an aspect of Extreme Programming, but more recently is creating more general interest in its own right. Along with other techniques, the concept can also be applied to the improvement and removal of software defects from legacy code that was not developed in this way . »)
  • ss
  • http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-mvc-framework-part-4-handling-form-edit-and-post-scenarios.aspx
  • (« ASP.NET MVC Framework (Part 4): Handling Form Edit and Post Scenarios   The last few weeks I have been working on a series of blog posts that cover the new ASP.NET MVC Framework we are working on.  The ASP.NET MVC Framework is an optional approach you can use to structure your ASP.NET web applications to have a clear separation of concerns, and make it easier to unit test your code and support a TDD workflow. The first post in this series built a simple e-commerce product listing/browsing site.  It covered the high-level concepts behind MVC, and demonstrated how to create a new ASP.NET MVC project from scratch to implement and test this e-commerce product listing functionality.  The second post drilled deep into the URL routing architecture of the ASP.NET MVC framework, and discussed both how it worked as well asthird post discussed how Controllers interact with Views, and specifically covered ways you can pass view data from a Controller to a View in order to render a response back to a client.  In today’s blog post I’m going to discuss approaches you can use to handle form input and post scenarios using the MVC framework, as well as talk about some of the HTML Helper extension methods you can use with it to make data editing scenarios easierClick here to download the source code for the completed application we are going to build below to explain these concepts… Our Data Model. We are going to use the SQL Server Northwind Sample Database to store our data.  We’ll then use the LINQ to SQL object relational mapper (ORM) built-into .NET 3.5 to model the Product, Category, and Supplier objects that represent rows in our database tables. We’ll begin by right-clicking on our /Models sub-folder in our ASP.NET MVC project, and select « Add New Item » -> « LINQ to SQL Classes » to bring up the LINQ to SQL ORM designer and model our data objects…To learn more about LINQ and LINQ to SQL, please check out my LINQ to SQL series here The HtmlHelper object (as well as the AjaxHelper object – which we’ll talk about in a later tutorial) have been specifically designed to be easily extended using « Extension Methods » – which is a new language feature of VB and C# in the VS 2008 release.  What this means is that anyone can create their own custom helper methods for these how you can handle more advanced URL routing scenarios with it.  The objects and share them for you to use. We’ll have dozens of built-in HTML and AJAX helper methods in future previews of the ASP.NET MVC Framework.  In the first preview release only the « ActionLink » method is built-into System.Web.Extensions (the assembly where the core ASP.NET MVC framework is currently implemented).  We do, though, also have a separate « MVCToolkit » download that you can add to your project to obtain dozens more helper methods that you can use with the first preview release.
  • >> This is nice. But do you handle subcomponents? subviews? Is view reuse possible inside other view? This is very important for even for modest sized applications? How would you handle posts correcly inside of subviews 😉 ?The first public MVC preview doesn’t have the concept of SubControllers yet (where you can attach them for regions of a larger view).  That is something we have planned for to tackle soon though.

    >> However, liviu raises good questions about Sub-Controllers, Composite Views and AJAX scenarios. How Will the MVC framework address the complex wiring of different parts of a page to different controllers for async updates?? My brain hurts thinking about it, yet I have implement these portal pages all the time cos our customers demand it. The first ASP.NET MVC Preview allows you to call RenderView (for example: RenderView(« Edit »)) and have it apply to either a .aspx viewpage or a .ascx viewusercontrol.  This ends up being really useful for scenarios where you are doing AJAX callbacks and want to refresh a portion of a page.  These callbacks could either be to the same Controller that rendered the origional page, or to another Controller in the project. We don’t have all the AJAX helper methods yet for this – but you could roll them yourself today.  We’ll obviously be releasing an update that does include them in the future.

  • >> Can you provide an example of how we might use a server side control to generate the drop down list or a textbox (a la WebForms) along with the pro’s and con’s of each approach? Personally, I do not like the old ASP <%= … %> syntax; but if there is a good reason to use it then I am willing to change that opinion. The main reason I showed the <% %> syntax in this post was that we don’t have the server-side MVC control equivalents available yet for this dropdown and text scenario.  That is on our roadmap to-do though – at which point you don’t need to necessarily use the <% %> syntax. In general what we’ve found is that some developers hate the <% %> syntax, while others prefer it (and feel that controls get in the way).  We want to make both sets of developers happy, and will have options for both. 🙂
  • >> Great work on the MVC model, it is a clean and intuitive model that appears to scale well. My only recommendation is that your actions (verbs) appear after the ids (nouns), e.g. [Controller]/[Id]/[Action]/  That would keep the architecture noun focused, opposed to verb focused. With this approach you can easily build an administrative interface on a public read-only site by adding verbs such as /edit/ or /delete/ at the end of your URL. A simple security rule can be added to the Controller that says ignore all Verbs after a noun, such as category or product, if user is not part of an administrative group. Thanks for the suggestion Josh.  You can do this today by creating your own custom route registration.  In the next preview I believe Route will be extensible so that you could also create a single resource route that supports these semantics.>> I was wondering if we could get an idea of the official « roadmap » for asp.net mvc?  Specifically, I’d like to know what features the team plans to release on what dates … ultimately, when this thing will RTM.  As I’ll be evaluating mvc and monorail for an upcoming app, this kind of information would really be helpful in determining which direction to go. We don’t have a formally published roadmap just yet – we will hopefully publish one early next year though.« )
  • http://en.wikipedia.org/wiki/ASP.NET_AJAX (« ASP.NET AJAX, formerly code-named Atlas, is a set of extensions to ASP.NET developed by Microsoft for implementing Ajax functionality. Including both client-side and server-side components, ASP.NET AJAX allows the developer to create web applications in ASP.NET 2.0 (and to a limited extent in other environments) which can update data on the web page without a complete reload of the page. The key technology which enables this functionality is the XMLHttpRequest object, along with Javascript and DHTML. ASP.NET AJAX was released as a standalone extension to ASP.NET in January 2007 after a lengthy period of beta-testing. It was subsequently included with version 3.5 of the .NET Framework, which was released alongside Visual Studio 2008 in November 2007.« )

Posted in 2007, Acces aux données, active record, AJAX, Architecture logicielle, ASP.NET, Développement logiciel, design pattern, DotNet, IDE-GUI, Ironpython, javascript, open source, ORM, RIA, ruby, tests, Web Frameworks | Tagué: , , , , , , , | Leave a Comment »

KDE veut changer de licence GPLv2 Only-> GPLv2 or later

Posted by Noam sur novembre 30, 2007

Source: http://linuxfr.org/2007/11/26/23404.html

Développeur: KDE veut changer de licence

Auteur: Plop @ 12:52
Thème: KDE

Alors que le travail pour KDE4.0 continue d’arrache-pied, KDE se lance dans un projet pour changer la licence de son code. Actuellement, certains fichiers sont en « GPLv2 Only », il a été demandé de modifier cette licence en « GPLv2 or later » ou en double licence « GPLv2 et GPLv3 ». Le changement est devenu nécessaire parce que certaines applications ou bibliothèques ont déjà migrés vers la « GPLv3« . Comme cette dernière est incompatible avec la « GPLv2 only », il devient impossible de faire l’édition de lien tout en respectant ces licences.

Actuellement, il y a 80 développeurs qui ont donné leur accord pour ce changement, mais il y a aujourd’hui 1700 développeurs inscrits sur le dépôt SVN.

NdM : voir aussi site de Palamida qui recense des informations sur les migrations vers la GPLv3 et la LGPLv3 pour de nombreux projets libres.

[en] – Page du projet ( http://linuxfr.org/redirect/54705.html )
[en] – L’appel à contribution 1 ( http://linuxfr.org/redirect/54706.html )
[en] – L’appel à contribution 2 ( http://linuxfr.org/redirect/54707.html )
[en] – Vérification des fichiers concernés par module / développeur ( http://linuxfr.org/redirect/54708.html )
[en] – Le texte de la GPL v3 ( http://linuxfr.org/redirect/54709.html )

Posted in Développement logiciel, FSF, licence libre, logiciel libre, open source | Tagué: , , , | Leave a Comment »