Journal : Google offre un format de donnée sous licence Apache

Posté par Snarky (Jabber id, page perso, ) le 10 juillet 2008
0
Bonjour,

Voilà que Google donne sous licence Apache 2.0 un de ses formats d'échanges données nommé « Protocol Buffers ».

C'est un format dit « alternatif » aux actuels XML, qui, selon eux, n'est pas vraiment adapté aux échanges en masses. Son avantage principale face aux XML est sa compacité (de l'ordre de 10), mais elle garde tout de même l'intérêt du XML qui est d'avoir des fichiers humainement lisible et modifiable.

Ce format se base sur un fichier .proto, qui définit la structure des données des fichiers (type de donnée / répétabilité / valeur par défaut / ect...). Ce fichier doit être compilé avec un petit outils à eux, pour fournir des fichier .h .cc ou .java selon le langage.
Voici un exemple du fichier proto :
message Person {
required string name = 1;
optional string email = 3;
}


Ensuite, il suffit d'écrire les fichiers sous ce format qui seront parser avec les types reconnu automatiquement :
person {
name: "John Doe"
email: "jdoe@example.com"
}


Et on accède au contenu parsé à l'aide d'un classe spécifiquement crée à l'aide de getteur et setteur :
Person person;
cout << "name: " << person.name() << endl;
if (person.has_email()) {
cout << "e-mail: " << person.email() << endl;
}

ou :
Person person;
person.set_name("Bob");
person.set_email("bob@example.com");



Je voudrais savoir ce que vous pensez de ce format en particulier, car je ne vois pas vraiment de gros soucis face à l'XML. Au contraire même, avec leurs outils, c'est presque plus facile à mettre en place.


Page du protocole avec exemples & sources :
http://code.google.com/p/protobuf/

Source de l'information :
http://www.silicon.fr/fr/news/2008/07/09/google_livre_un_for(...)

> Lire le journal (49 commentaires, moyenne: 3,3).  

Vous avez demandé le commentaire #951147.

bon, ça a l'air bien mieux que JSON

Posté par ptifeth (page perso, ) le 10/07/2008 à 10:25. (lien). Évalué à 6.

Merci pour un journal informatif et sourcé, d'abord.

Ensuite, moi aussi j'adore les get-setteurs, ils parlent un mixed franglish tout à fait fashion :)

Pour finir, ce sont les implémentations qui sont en Apache, parce qu'un format de données n'a pas de licence en soi. Un brevet, pourquoi pas, mais pas de licence.

  • [^]Re: bon, ça a l'air bien mieux que JSON

    Posté par benoar (Jabber id, ) le 10/07/2008 à 13:39. (lien). Évalué à 4.

    un format de données n'a pas de licence en soi
    Va dire ça à Adobe et les "conditions d'utilisation" du format Flash, ou alors à MS et son "Open promise" ....

    • [^]Re: bon, ça a l'air bien mieux que JSON

      Posté par Boa Treize (page perso, ) le 11/07/2008 à 18:19. (lien). Évalué à 4.

      C'est la documentation du format qui est sous license. Si tu arrives à respecter le format sans la documentation, ils n'ont rien à dire, à moins d'avoir un brevet sur le format.

      Le truc typique ensuite, c'est bien sûr de n'autoriser à utiliser la trademark que les personnes qui ont correctement implémenté le format, c'est à dire entre autres payé la doc (et probablement les tests de certification).

      • [^]Re: bon, ça a l'air bien mieux que JSON

        Posté par benoar (Jabber id, ) le 19/07/2008 à 16:42. (lien). Évalué à 2.

        (désolé de répondre si tard, mais le sujet est intéressant, et j'avais laissé passer ce commentaire)

        Qu'il y ait une licence sur la documentation elle-même (genre comme la GFDL), d'accord, je comprend tout à fait que c'est leur travail, et qu'ils y mettent la licence qu'ils veulent : cela concerne donc la distribution/recopie de la doc elle-même.

        Par contre, obliger quelqu'un à faire quelque chose (genre respecter à 100% leur doc) ou même l'en empêcher (ne pas coder de lecteur !) s'il se base sur cette documentation, je trouve ça complètement aberrant. Le travail n'est pas le leur, comment peuvent-ils dirent "vous n'avez pas le droit de faire ci ou ça" ?! Quant à vouloir dire (j'anticipe un peu) que c'est un travail dérivé si on a lu la licence, je trouverai ça très tiré par les cheuveux.