1

I have heard someone saying that the concepts "open source" and "open format" (in the context of file formats) should be distinguished.

By file formats (extensions) I meant for example to ODT, RTF and so forth.

I always thought that open formats are part of open source.

What is the essence of difference between the two concepts?

Knowing this could help me understand if the statement is correct.

  • 2
    You recently added a bounty. Could you explain more clearly what kind of answer you are looking for, in particular what is missing from curiousdanii's existing answer? Your edit to the question just seems to have rephrased some sentences. – amon Sep 15 '18 at 18:56
  • 2
    @amon I recall that at the time I didn't quite understand the answer. I added a bounty hoping some more answers will be added and I could understand the general difference better and also the first answer itself. – JohnDoea Sep 15 '18 at 20:48
  • Could have just asked me to clarify! I would've been happy to if I knew you wanted that. :) – curiousdannii Sep 18 '18 at 14:11
3
+100

Open source software describes software that can be used freely. What this means in detail is e.g. written down in the Open Source Definition (OSD) or in the Free Software Definition (FSD). The “four freedoms” of the FSD are short enough to be shown here:

  • The freedom to run the program as you wish, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help others (freedom 2).
  • The freedom to distribute copies of your modified versions to others (freedom 3). […] Access to the source code is a precondition for this.

“Open formats” have no similar widely accepted definition or underlying philosophy. The term is used (similarly to open source software) to file formats that can be used freely. In particular, this means that an open format can be implemented freely, whether as proprietary or open source software. Most definitions of open formats include at least two preconditions:

  • An open format must have some standard/specification. E.g. if a file format is defined as “whatever this existing program can read/write” that is NOT an open format.

  • That standard must not be restricted by patents. There is some debate what this means precisely.

    E.g. some would argue that a patent-encumbered format can be open if those patents are offered under FRAND terms, which means that everyone can buy a license under “reasonable” terms. However, that effectively excludes open source software from implementing that standard.

    So for an open format that is intended to be implemented by open source software, the format must either be completely free from patents, or a royalty-free patent license must be available. Some open source licenses have clauses that imply a patent license from contributors, e.g. Apache 2 and GPLv3.

As an example of non-open and open formats, consider various media formats. When the GIF format was published there was a patent on the used compression algorithm, therefore GIFs were not an open format. As a reaction the PNG format was created. Since the GIF-related patents have expired, GIF is a free format as well. Other media formats have similar stories, e.g. the audio codecs MP3 vs. Ogg Vorbis, or the video codecs MP4/HEVC versus WebM/VP9.

6

Free/Libre Software and Open Source refer to the actual implementation of a software project.

Open Format refers to the specification of a file format which has been licensed freely so that anyone can make their own software which understands or produces the format.

You can have FLOSS software which produces a non-open format. Often software that implements someone else's format is highly unreliable (compared to the original producer of the format), or only able to read/write a subset of the format. You can also have FLOSS software which is the original producer of a format, but the code is so convoluted that it's very difficult to understand the format, making it hard to re-implement in another language.

You can also have non-FLOSS software which produces an open format, such as Microsoft Word. If you get into trouble when you implement the format, it's hard to know if it's a bug in your code, or an error in the specification, because we can't compare our software to the reference implementation.

You could also publish an open file format without any implementation at all. But without any software that uses it no one will care about your file format.

  • Unless your proposed format has such huge advantages that there is an immediate race to implement it. For example some standards bodies publish Open Format specifications without necessarily providing, in the early days, a reference implementation. I am thinking of bodies such as the Joint Photographic Experts group, ISO bodies, etc. – Steve Barnes Nov 2 '17 at 7:20
  • @SteveBarnes Yeah that's fair. Such organisations are relying on previously earned reputation. But even then, it's no guarantee the new format will be successful, though neither would providing a reference implementation. – curiousdannii Nov 2 '17 at 7:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.