# OpenFormula

OpenFormula est un projet de standard ouvert pour l'échange de formules de calcul feuilles de calcul, ainsi que le projet pour affiner cette spécification. C'est un projet du standard OpenDocument (ISO / CEI 26300). Il a été proposé et rédigé initialement par David A. Wheeler.

## Histoire
### Discussion sur ODF

OpenDocument 1.0 est une spécification pour l'échange des documents de bureau et est tout à fait capable de décrire des formules mathématiques qui sont affichés sur l'écran (par l'intermédiaire de sa réutilisation du standard MathML). Il permet d'échanger à travers une feuille de calcul des données, des formats, des tables pivot, et d'autres informations qui y sont généralement inclus dans une feuille de calcul. ODF permet aussi de créer des formules de feuille de calcul (les formules ne sont recalculées que dans la feuille de calcul), formules échangées sous forme de valeurs de l'attribut table: formule.
Toutefois, de nombreuses personnes estiment que la syntaxe et la sémantique de la table : la formule n'est pas définie avec suffisamment de précision. La spécification ODF 1.0 définit pour la feuille de calcul des formules utilisant une série d'exemples simples qui montrent, par exemple, comment préciser les gammes et la somme. Certaines critiques font valoir qu'une version plus détaillée (ODF 1.2), précisant la spécification pour les fonctions de feuille de calcul, y compris la syntaxe et la sémantique, devrait être créée pour étoffer ces exemples$^,$$^,$$^,$.
Le comité OpenDocument a fait valoir que c'était hors de leur portée à ce moment-là. Ils ont déclaré : « Un commentaire a été soumis concernant la (l'inclusion) de grammaire pour une feuille de calcul conforme, formules qui devraient soutenir la mise en œuvre. Alors que nous pensons que le fait d'avoir l'interopérabilité à ce niveau serait d'une grande utilité pour les utilisateurs, nous ne croyons pas [sic] que cela est dans le cadre de la spécification, d'autant plus que cela n'est pas spécifiquement lié à la réalité format XML décrit dans le cahier des charges. Le TC travaillera sur une solution concernant la documentation de l'interopérabilité des normes qui vont au-delà de ce qui est défini dans le cahier des charges ».
D'autres personnes ont fait valoir que si la spécification est moins spécifique que l'on pourrait le souhaiter, l'objectif est assez clair (d'autant plus que les formules ont tendance à suivre depuis des décennies une longue tradition), et aussi parce que la grande majorité des feuilles de calcul utilise seulement un petit ensemble de fonctions (telles que SOMME), qui sont universellement soutenues par toutes les implémentations de feuilles de calcul. Dans la pratique, de nombreux développeurs se tournent vers OpenOffice.org comme une "mise en œuvre canonique". De plus, son code étant public n'importe qui peut le passer en revue et sa sortie XML peut être inspectée, permettant de répondre à de nombreuses questions.

### Projet OpenFormula

L'un des commentateurs externes sur OpenDocument, David A. Wheeler, a commencé la rédaction d'un cahier des charges de formules, de son premier projet a été publié en février 2005. Cela a commencé par un processus de discussion avec différents réalisateurs feuille de calcul et les développeurs.
En octobre 2005 Wheeler a commencé un projet informel, en s'appuyant sur OpenDocument afin de créer un projet de spécification formule, en se fondant sur le projet initial et des discussions depuis ce moment-là avec différents réalisateurs. En janvier 2006, le groupe a développé une ébauche d'OpenFormula et a commencé à modifier sa mise en œuvre pour satisfaire le projet de cahier des charges.

### Sous-Comité Formule OASIS

En février 2006, l'OASIS a officiellement créé le sous-comité OpenFormula, Wheeler a été nommé président du sous-comité. Après un débat, le Sous-Comité a décidé d'utiliser le projet OpenFormula comme document de base. Ainsi, en février 2006, L'OASIS a formulé un projet de spécification avec un cadre détaillé et plus de 100 fonctions définies.

### Réponse de Microsoft

En 2005, Brian Jones de Microsoft a noté que OpenDocument ne spécifiait pas les formules de feuille de calcul, une formule n'étant vue que comme une chaîne de caractères comme une autre. Pourtant, le format OpenXML ne comprenait pas non plus ce type de spécification détaillée des formules.
Microsoft a continué de soutenir que OpenDocument ne pouvait être utilisé car il ne définissait pas de format pour les formules de feuille de calcul, alors même que sa propre spécification (OpenXML) n'en définissait aucune jusqu'en avril 2006. En mai 2006, Microsoft a commencé à spécifier les formules dans OpenXML, quinze mois après la première version de OpenFormula et trois mois après la publication par OASIS de sa première ébauche de spécification.

## Caractéristiques

Les principales caractéristiques du processus de développement de la spécification d'OpenFormula, dont bon nombre sont uniques (comme par exemple un format de formule recalculée) sont les suivants :
* 'Développée par de nombreux réalisateurs.' OpenFormula est en cours d'élaboration par des représentants de différents réalisateurs, travaillant ensemble, y compris OpenOffice.org et Sun StarOffice (Eike Rathke), KDE KOffice (David Faure et Tomas Mecir), Gnumeric (Dr. Andreas J. Guelzow et Jody Goldberg), IBM / Lotus 1-2-3 (Rob Weir), et wikiCalc (Dan Bricklin, cocréateur de la feuille de calcul).
* 'Développé avec des utilisateurs expérimentés.' De nombreux utilisateurs expérimentés (comme Tom Metcalf, une scientifique spécialisée dans l'astrophysique du Soleil) de prendre parti. Le groupe comprend plusieurs mathématiciens, à la fois les utilisateurs et les développeurs.
* 'Ouvrir le développement.' Les discussions du groupe, projets et hebdomadaires, sont disponibles au public.
* ' Standard entièrement ouvert' La spécification satisfait largement à toutes les définitions acceptées d'être un "standard ouvert", y compris celles de Bruce Perens et Union européenne. Par exemple, (1) les deux logiciels libres et logiciels propriétaires peuvent mettre en œuvre, et (2) le travail est basé sur le consensus et non par la domination d'un seul fournisseur.
* 'Les Implémenteurs sont déjà mis en œuvre. Les Implementors' ont déjà apporté des modifications à leurs applications grâce au travail de cet organe, comme le changement de manière de traiter les valeurs signé en MOD, l'association de puissance, et même mise en place de nouvelles fonctions pour les rendre conformes au projet de norme.
* 'Axé sur le développement.' Le sous-comité est un grand groupe s'est concentré spécifiquement sur la feuille de calcul des formules, et rien d'autre.
* 'Sans précipitation.' OpenFormula est basée sur la spécification travail qui a été publié le 26/02/2005, ainsi qu'un grand organisme de recherche dans différentes applications.
* 'Avenir du format' La syntaxe a été soigneusement conçue pour fonctionner indéfiniment dans l'avenir. Par exemple, il permet un' nombre de colonnes arbitraires, tout en permettant' des noms de valeurs arbitraires.
* 'Test.' OpenFormula comprend un grand nombre de cas de test, ceux qui tester et démontrer l'indication "pointe cas" que les gens oublient souvent. Plus important encore, ils sont spécialement formatés pour qu'elles puissent être extraites automatiquement et placés dans une feuille de calcul pour les applications de test. Rob Weir indique que "Cela nous donne une auto-tests de spécification, un grand travail, ainsi qu'une démonstration des nouvelles choses que vous pouvez faire avec ODF (OpenDocument Format)".

## OpenFormula Groupes

Un aspect important de OpenFormula est qu'il fournit un ensemble prédéfini de "groupes", dont les plus importants sont les groupes petit, moyen et grand:
* Le groupe restreint comprend un peu plus de 100 fonctions, y compris les fonctions de trigonométrie, base de données, des finances et les statistiques. La grande majorité des documents de feuille de calcul sont bien traités par les applications qui mettent en œuvre le "petit" groupe. Au moins une application PDA (SheetToGo) a ce niveau de capacité, et wikiCalc a ajouté les fonctions provenant du groupe restreint pour répondre au jeu de tests défini par OpenFormula.
* Le groupe moyen comprend toutes les capacités du groupe restreint, et ajoute environ 100 autres fonctions.
* Le grand groupe comprend toutes les capacités du groupe moyen, en ajoutant près de 130 autres fonctions, ainsi que des capacités telles que les nombres complexes.
Il est prévu que les utilisateurs demandent souvent la mise en œuvre qui répondent à un groupe particulier, en fonction de leurs besoins.