OpenFormula
   HOME

TheInfoList



OR:

OpenFormula is an
open standard An open standard is a standard that is openly accessible and usable by anyone. It is also a common prerequisite that open standards use an open license that provides for extensibility. Typically, anybody can participate in their development due to ...
for exchanging recalculated formulae in
spreadsheet A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in c ...
s. OpenFormula is included in version 1.2 of the
OpenDocument The Open Document Format for Office Applications (ODF), also known as OpenDocument, standardized as ISO 26300, is an open file format for word processor, word processing documents, spreadsheets, Presentation program, presentations and ...
standard. OpenFormula was initially proposed and drafted by David A. Wheeler.


History


Discussion of need

OpenDocument 1.0 is a
specification A specification often refers to a set of documented requirements to be satisfied by a material, design, product, or service. A specification is often a type of technical standard. There are different types of technical or engineering specificati ...
for the exchange of office documents, and is capable of describing mathematical
formula In science, a formula is a concise way of expressing information symbolically, as in a mathematical formula or a ''chemical formula''. The informal use of the term ''formula'' in science refers to the general construct of a relationship betwe ...
s that are displayed on the screen (through its reuse of the
MathML Mathematical Markup Language (MathML) is a pair of mathematical markup languages, an application of XML for describing mathematical notations and capturing both its structure and content. Its aim is to natively integrate mathematical formulae ...
standard). It's also capable of exchanging
spreadsheet A spreadsheet is a computer application for computation, organization, analysis and storage of data in tabular form. Spreadsheets were developed as computerized analogs of paper accounting worksheets. The program operates on data entered in c ...
data, formats, pivot tables, and other information typically included in a spreadsheet. OpenDocument can exchange spreadsheet formulae (formulae that are recalculated in the spreadsheet); formulae are exchanged as values of the attribute table: formula. Open Formula resulted from the belief by some users that the
syntax In linguistics, syntax ( ) is the study of how words and morphemes combine to form larger units such as phrases and sentences. Central concerns of syntax include word order, grammatical relations, hierarchical sentence structure (constituenc ...
and
semantics Semantics is the study of linguistic Meaning (philosophy), meaning. It examines what meaning is, how words get their meaning, and how the meaning of a complex expression depends on its parts. Part of this process involves the distinction betwee ...
of table formulas were not defined in sufficient detail. Version 1.0 of the specification defined spreadsheet formulae using a set of simple examples which show, for example, how to specify ranges and th
SUM()
function. Some critics argued that a more detailed, precise specification for spreadsheet functions, including syntax and semantics, was needed. The OpenDocument committee argued that this was outside their scope at that time. Others have argued that, while the specification is less specific than one might like, the intent is fairly clear (especially since formulae tend to follow decades-long traditions), and also because the vast majority of spreadsheets only use a small set of functions (such as SUM) which are universally supported by all spreadsheet implementations.


OpenFormula Project

One of the external commentators on OpenDocument, David A. Wheeler, released a first draft of a specification for formulae in February 2005. This began a process of discussion with various spreadsheet implementors and developers. In October 2005, Wheeler publicly began an informal project, backed by the OpenDocument Fellowship, to create a draft formula specification based on the initial draft and on discussions since that time with various implementors. By January 2006, the group had developed a lengthy specification, and implementors had begun changing their implementations to meet the draft specification.


OASIS Formula subcommittee

In February 2006,
OASIS In ecology, an oasis (; : oases ) is a fertile area of a desert or semi-desert environmentMicrosoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
's Brian Jones noted that OpenDocument did not define spreadsheet formulae in detail. However, at the time, Microsoft's competing proprietary
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
format also did not include this kind of detailed specification for formulae. Microsoft continued to protest that OpenDocument could not be used because it did not define a format for spreadsheet formulae, while its own specification continued to omit any specification about formulae until April 2006. In May 2006, Microsoft also began defining formulae in its XML format, 15 months after the first version of OpenFormula and three months after OASIS posted its first official draft of its specification. The
Office Open XML Office Open XML (also informally known as OOXML) is a zipped, XML-based file format developed by Microsoft for representing spreadsheets, charts, presentations and word processing documents. Ecma International standardized the initial version ...
spreadsheet formula language is now part of the
international standard An international standard is a technical standard developed by one or more international standards organizations. International standards are available for consideration and use worldwide. The most prominent such organization is the International O ...
ISO/IEC IS 29500:2008.
Microsoft Office 2007 Microsoft Office 2007 (codenamed Office 12) is an office suite for Windows, developed and published by Microsoft. It was officially revealed on March 9, 2006 and was the 12th version of Microsoft Office. It was released to manufacturing on Novemb ...
SP2 uses the formula language defined in ISO/IEC IS 29500:2008 for OpenDocument spreadsheets. Microsoft stated that they are considering adding support for an official ODF formula language (OpenFormula) once a future version of the OpenDocument (ISO/IEC 26300) standard specification includes one.


Completion of the effort

In June 2007, it was announced that four tasks remained before submission to the quality assurance review. Further delays were incurred, but many implementors implemented the specification while it was being written, modifying their applications where necessary to comply with the draft standard. Finally, the OpenFormula specification was issued on 29 September 2011 as Part 2 of Version 1.2 of the Open Document Format (http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2-part2.html).


OpenFormula attributes

Key attributes of the OpenFormula specification and development process are:About OpenFormula
/ref> * Fully open standard:The specification meets all widely accepted definitions of being an "open standard," including those by
Bruce Perens Bruce Perens (born around 1958) is an American computer programmer and advocate in the free software movement. He created ''The Open Source Definition'' and published the first formal announcement and manifesto of open source. He co-founded the ...
and the
European Union The European Union (EU) is a supranational union, supranational political union, political and economic union of Member state of the European Union, member states that are Geography of the European Union, located primarily in Europe. The u ...
. For example, (1) both open-source software and proprietary software can implement it, and (2) the work is based on consensus, not domination by any single supplier. * Developed by many different implementors: OpenFormula was developed by representatives from many different implementors, working together, including
OpenOffice.org OpenOffice.org (OOo), commonly known as OpenOffice, is a discontinued open-source office suite. Active successor projects include LibreOffice (the most actively developed) and Collabora Online, with Apache OpenOffice being considered mostly d ...
and Sun
StarOffice StarOffice is a discontinued proprietary software, proprietary office suite. Its source code continues today in derived open-source office suites Collabora Online and LibreOffice. StarOffice supported the OpenOffice.org XML file format, as well ...
(Eike Rathke), KDE
Calligra Suite Calligra Suite is a Graphic art software, graphic art and office suite by KDE. It is available for Desktop computer, desktop PCs, tablet computers, and smartphones. It contains applications for word processor, word processing, spreadsheets, prese ...
(formerly
KOffice KOffice was a free and open source office and graphics suite developed by KDE for Unix-like and Windows systems. KOffice contains a word processor ( KWord), a spreadsheet ( KSpread), a presentation program ( KPresenter), and a number of other co ...
) (David Faure and Tomas Mecir),
Gnumeric Gnumeric is a spreadsheet program that is part of the GNOME Free Software Desktop Project. Gnumeric version 1.0 was released on 31 December 2001. Gnumeric is distributed as free software under the GNU General Public License; it is intended to ...
(Dr. Andreas J. Guelzow and Jody Goldberg), IBM/
Lotus 1-2-3 Lotus 1-2-3 is a discontinued spreadsheet program from Lotus Software (later part of IBM). It was the first killer application of the IBM PC, was hugely popular in the 1980s, and significantly contributed to the success of IBM PC-compatibles ...
(Rob Weir), and wikiCalc (
Dan Bricklin Daniel Singer Bricklin (born July 16, 1951) is an American businessman and engineer who is the co-creator, with Bob Frankston, of VisiCalc, the first spreadsheet program. He also founded Software Garden, Inc., of which he is currently president, ...
, co-creator of the spreadsheet).Excel Help
/ref> * Developed with experienced users: Many experienced users (such as Tom Metcalf, a scientist specializing in the
astrophysics Astrophysics is a science that employs the methods and principles of physics and chemistry in the study of astronomical objects and phenomena. As one of the founders of the discipline, James Keeler, said, astrophysics "seeks to ascertain the ...
of the
Sun The Sun is the star at the centre of the Solar System. It is a massive, nearly perfect sphere of hot plasma, heated to incandescence by nuclear fusion reactions in its core, radiating the energy from its surface mainly as visible light a ...
) took part. The group includes several mathematicians, both as users and developers. * Focused development: A subcommittee is a large group focused specifically on spreadsheet formulae and nothing else. * Not rushed: OpenFormula is based on specification work that was first released on 2005-02-26, as well as a large body of research into different applications. * Future-proofed format: The syntax has been carefully designed to work indefinitely into the future. For example, it allows an arbitrary number of columns while also allowing arbitrary names of values. * Embedded test cases: OpenFormula includes a large number of test cases, ones that test and demonstrate the specification, including edge cases that people often forget. More importantly, they are specially formatted so they can be automatically extracted and placed in a test spreadsheet to test applications. * Rigorous definitions: The test cases (noted previously) help it be far more rigorous. In addition, OpenFormula defines the types for each function (as prototypes of each function). Function definitions are examined deeply, e.g., YEARFRAC() has subtle behavior in the leap years, which were carefully examined and defined. * Doesn't mandate mistakes: The specification is carefully written to ''not'' require certain bugs, just because someone has a bug. For example, Excel incorrectly believes that 1900 was a leap year, and at least draft version 1.3 of the Excel specification claims that compatible applications ''must'' make the same mistake, and requires that applications cannot be more capable than Excel by supporting dates before 1900. By comparing many different independent implementations, the OpenFormula group can often detect when an application makes a mistake, and ensure that applications are not overly restricted. * Innovations from many sources: OpenFormula covers the functions of Excel and OpenOffice.org, plus important functions not found in either one but instead found in other spreadsheet applications, such as Gnumeric and KSpread. For example, the specification includes the functions DECIMAL and BASE, which are much better ways to handle different bases than the old BIN2DEC (etc.) functions. It also includes bit operations like BITAND. These sources include Excel, OpenOffice.org Calc, Sun StarOffice Calc, KDE Calligra Sheets, GNOME Gnumeric, IBM/Lotus 1-2-3, Corel Word Perfect Suite Quattro Pro, wikiCalc, and DocumentToGo's SheetToGo. The subcommittee argues that by including innovations from around the world of many different independent applications, they produce a better result that is far more inclusive. * Room for innovation by anyone: Application-specific "namespaces" are defined for functions. This allows spreadsheet applications to add new functions, without interfering with current standard functions, future standard functions, or functions defined by other applications. As a result, different applications can add new functions without interfering with others; once a consensus arises about the new function, it can be standardized. The namespace is based on the Internet's naming service (reversed domain names), so ORG.OPENOFFICE.STYLE would be an OpenOffice.org-unique function. * Internationalization: The specification does not assume that everyone uses "." as the decimal point, and indeed does not constrain user interfaces at all. Named expressions can have names in local character sets. * Subset support: Applications can implement a subset or superset. To prevent user confusion, various "groups" are defined so that users can request specific sets of capabilities.


OpenFormula groups

One important aspect of OpenFormula is that it provides a predefined set of "groups"; the most important of these groups are small, medium, and large: * The small group includes a little over 100 functions, including functions for trigonometry, database, finance, and statistics. The vast majority of spreadsheet documents are ably handled by applications that implement the "small" group. At least one PDA application (SheetToGo) has this level of capability, and wikiCalc added the functions in the small group specifically to meet the set defined by OpenFormula. * The medium group includes all the capabilities of the small group, and adds about 100 more functions. * The large group includes all the capabilities of the medium group, adding around 130 more functions, as well as capabilities such as complex numbers. It is expected that users will often request implementations that meet a particular group, based on their needs.


References

{{Reflist, 2


External links


OpenFormula specification
published as OASIS OpenDocument v1.2, part 2
OASIS OpenDocument Formula subcommittee
website of the subcommittee developing the specification Computer file formats OpenDocument