Version 1.1 of the definition has been released. Please help updating it, contribute translations, and help us with the design of logos and buttons to identify free cultural works and licenses!

Source Code

From Definition of Free Cultural Works
Jump to navigation Jump to search

Definition[edit]

Source code is a delicate question to tackle in the broad context of free contents. For example, the GNU GPL defines it as "the preferred form of the work for making modifications to [the work]". Indeed, source code is of primary importance for many kinds of works (especially software).

But there are also situations where the idea of source code appears irrelevant or even meaningless. Consider a digital recording of a modern rock concert. How do we define "source code" ? No symbolic or textual transcription of the concert will be able to describe exactly (so as to reproduce accurately) the manner in which the guitarist picked the strings of his instruments, the slight variations in pitch or tempo of the singer, etc.

Even if no "source code" can be made available for such a work, it would be counter-productive to qualify it as "non-free" if it satisfies to the other freedoms of free content.

Thus, let's define a criterion for knowing when source code is mandatory:

  • When the work or part of it is generated by computation from a modifiable structured form (e.g. textual), this modifiable structured form is called source code. It must be made available to recipients of the work.

Discussion of terms[edit]

  • structured: which gives access to the structure of the work (for example, an OpenDocument file gives access to the structure of the document, whereas a PDF file doesn't)
  • modifiable: whose format allows easy modification (including modification of structure)
  • computation: which does not involve any creative act from a human being

Transitivity[edit]

Of course, the source code must satisfy the freedoms of free content as well. Therefore, by recursion, our definition is not weaker than the one in the GNU GPL

Examples[edit]

  • software source code
  • editable text (raw text, XML, word processor files...)
  • vector graphics files
  • tablatures, lyrics
  • multitracks from an audio recording
  • multitracks from any video recording