summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--practical-modifiability-of-free-culture-binary-data.md60
1 files changed, 35 insertions, 25 deletions
diff --git a/practical-modifiability-of-free-culture-binary-data.md b/practical-modifiability-of-free-culture-binary-data.md
index d7c2b51..df57ea3 100644
--- a/practical-modifiability-of-free-culture-binary-data.md
+++ b/practical-modifiability-of-free-culture-binary-data.md
@@ -1,21 +1,36 @@
-Proponents of "Free Culture" present the concept as the multimedia equivalent of "Free Software" in attempt to distinguish it from "Open Culture"; but the reality for end-users is far from the same level of freedom that is the norm for software, and required by the GPL. Practically speaking, the terms: "Free Culture" and "Open Culture" are quite indistinguishable. Both of which are nearly synonymous with: "Creative Commons licensed multimedia". The vast majority of the multimedia labeled as either are individual images or sounds clips; binary blobs by definition, without any reference to the source "layers" that composed the work. This is natural, of course, if the work is very simple (or "flat") such as 2D gaming tiles, textures, and logos; but that is rarely the case for anything elaborate.
+Proponents of "Free Culture" present the concept as the multimedia equivalent of "Free Software" in attempt to distinguish it from "Open Culture"; but the reality for end-users is far from the same level of freedom that is the norm for software, and required by the GPL. Practically speaking, the terms: "Free Culture" and "Open Culture" are quite indistinguishable. Both of which are nearly synonymous with: "Creative Commons licensed multimedia". The vast majority of the multimedia labeled as either are individual images or sounds clips; blobs by definition, without any reference to the source "layers" that composed the work. This is natural, of course, if the work is very simple (or "flat") such as 2D gaming tiles, textures, and logos; but that is rarely the case for anything elaborate.
-The "Free Culture" concept is generally presented as the superset, of which "Free Software" is one subset; but there is a crucial disjunct, in that the licenses mainly recommended and usually used for artistic works by "Free Culture" and "Open Culture" proponents alike, are non-copyleft licenses. People who walk beneath the banner of "Free Software" generally prefer to advocate copyleft licenses; whereas those who would recommend non-copyleft licenses license are more appropriately said to be in the broader "OpenSource" camp. Practically speaking, these are much the same; with the main distinction being philisphical in nature. That philisphical distinct and the practical differences between the GPL and other licenses, is not as significant for software; because the software is conventionally distributed in source code form. However, multimedia is rarely distributed in source form; which impedes practical modifiability greatly, for all but the simplest works.
+The "Free Culture" concept is generally presented as the super-set, of which "Free Software" is one subset; but there is a crucial disjunct, in that the licenses mainly recommended and usually used for artistic works by "Free Culture" and "Open Culture" proponents alike, are non-copyleft licenses. People who walk beneath the banner of "Free Software" generally prefer to advocate copyleft licenses; whereas those who would recommend non-copyleft licenses license are more appropriately said to be in the broader "OpenSource" camp. Practically speaking, these are much the same; with the main distinction being philosophical in nature. That philosophical distinction and the practical differences between the GPL and other licenses, is not as obvious or significant for software; because the software is conventionally distributed in source code form. If that was not the conventional expected norm, and permissively licensed software was instead, usually distributed only in binary form, i seriously doubt that the FSF would qualify permissive licenses within the "Free Software Definition". It could only qualify for a "Free Blobs Definition". However, this is the accepted norm for artworks, animations, video, and audio. Multimedia is rarely distributed in source form; which impedes practical modifiability greatly, for all but the simplest works.
This article is an attempt to truly unify the philosophy of "Free Culture" with that of "Free Software" and thereby, to distinguish "Free Culture" from "Open Culture" by embracing copyleft as a core principle of "Free Culture".
+== The Free Culture Definition ==
+
+The Free Culture Definition is unfortunately not precise enough to "define" itself adequately. It is worded such that the sources of the work must be available in order for the work to be called a "Free Culture work". The GPL is the only licenses that actually provides that stipulation. Yet, the section preceding that statement, which defines the "Free Culture Licenses" does not include that stipulation. So practically speaking, taken as a whole, what that document is actually suggesting (and it is expressed literally), is that a "Free Culture License" does not qualify the work to be a "Free Culture Work"; and it fails to mention that only the GPL would satisfy the latter. This raises the crucial question: which do they consider to be "the definition" of "Free Culture". If it is the former, then any work using a "Free
+Culture License" can call itself "Free Culture"; but most such works are definitively not "Free Culture Works"; which is of course, double-talking nonsense.
+
+It quite appears that the Free Culture Definition was intentionally worded in such a wishy-washy way; as to satisfy both the "open" and "libre" camps; so that anyone is free to choose either interpretation. For example, the list of "Free Culture Licenses" has a categorization of "practical modifiability", which is described as:
+
+ "The licenses which require practical modifiability usually define a notion of source code, source data or similar."
+
+Yet, it denotes the "MIT" license as having this characteristic, which it is not. The license text itself explicitly excludes it's applicability to artworks. The MIT-style licenses
+explicitly cover "software and associated documentation files"; neither of which are consider to be artworks, literature, or any other sort of "cultural works".
+
+Is it any wonder why people may get the wrong impression?
+
+
== Free Culture Licenses ==
-The licenses typically recommended by "Free Culture" proponents, such as the "Creative Commons Share-Alike" and the "Free Art License", merely permit the re-use and re-distribution of specific binary artifacts as long as attribution is preserved; but they do not require that the constituent source materials be made available as does the GPL. As such, they do not exhibit even the most basic premise of "Open-Source", which tacitly presumes that the sources are available. Artifacts under such licenses are, in all practicality, more the equivalent of "free-ware" such as the traditional Microsoft DotNet run-time re-distributables; excepting perhaps for the omission of any language discouraging mutations. To be clear though, any such mutations to blobs are crude at best; far from the precise modifications that the GPL affords for software.
+The licenses typically recommended by "Free Culture" proponents, such as the "Creative Commons Share-Alike" and the "Free Art License", merely permit the re-use and re-distribution of specific binary artifacts as long as attribution is preserved; but they do not require that the constituent source materials be made available as does the GPL. As such, they do not exhibit even the most basic premise of "Open-Source", which tacitly presumes that the sources are available. Artifacts under such licenses are, in all practicality, more the equivalent of "libre-ware" such as the traditional Microsoft DotNet run-time re-distributables; excepting perhaps for the omission of any language discouraging mutations. To be clear though, any such mutations to blobs are crude at best; far from the precise modifications that the GPL affords for software.
-Although these licenses encourage sharing, they neglect to ensure the freedoms to study, experiment with, and customize the work, in any but the most superficial ways. Experimentation implies de-composition; and as any artist or software developer knows: non-trivial modifications require access to the original sources and tools, compatible with those used by the author. Without these, even the project maintainers are prevented from customizing the blobs beyond the most trivial operations such as cropping and scaling; which is very much mis-aligned with the spirit of "Free Software". Therfore, these multimedia licenses are not at all the natural companions to GPL-licensed software that they are often touted to be. The GPLv3 grants this maximal freedom of expression to a project's artists, developers, and end-users alike; and is, itself, the natural companion license for the artistic binary blobs of a GPL-licensed software program, provided that the forms of the relevant source materials are well-defined.
+Although these licenses encourage sharing, they neglect to ensure the freedoms to study, experiment with, and customize the work, in any but the most superficial ways. Experimentation implies de-composition; and as any artist or software developer knows: non-trivial modifications require access to the original sources and tools, compatible with those used by the author. Without these, even the project maintainers are prevented from customizing the blobs beyond the most trivial operations such as cropping and scaling; which is very much mis-aligned with the spirit of "Free Software". Therefore, these multimedia licenses are not at all the natural companions to GPL-licensed software that they are often touted to be. The GPLv3 grants this maximal freedom of expression to a project's artists, developers, and end-users alike; and is, itself, the natural companion license for the artistic blobs of a GPL-licensed software program, provided that the forms of the relevant source materials are well-defined.
In order to be generally applicable, the GPL itself makes no attempt to specify which specific forms qualify as the "preferred forms" for any type of work; but the "Frequently Asked Questions about the GNU Licenses" (https://www.gnu.org/licenses/gpl-faq.html#GPLOtherThanSoftware) makes it clear that the GPL is intended to be useful for anything that is copyright-able.
- "You can apply the GPL to any kind of work, as long as it is clear what constitutes the “source code” for the work. The GPL defines this as the preferred form of the work for making changes in it."
+> You can apply the GPL to any kind of work, as long as it is clear what constitutes the “source code” for the work. The GPL defines this as the preferred form of the work for making changes in it.
-Although the GPL does not require that the "preferred forms" be specified, much less itemized, and any competent digital artist knows fully well what these would be in their area of expertise; the following addendum (or something similar) can be added to the blobs license declaration in order to avoid being vague about this. Feel free to modify this to suit the particular needs of your project.
+Although the GPL does not require that the "preferred forms" be specified, much less itemized, and any competent digital artist knows fully well what these would be in their area of expertise; the addendum in the following section (or something similar) can be added to the blobs license declaration in order to avoid being vague about this. Feel free to modify this to suit the particular needs of your project.
== GPLv3 Free Culture Addendum ==
@@ -45,36 +60,31 @@ The definitions above should not be construed as exhaustive. However, the intent
== Games Blobs ==
-the GPL, as written,
-(either implicitly or explicitly)?
-considers blobs such as artwork and music as program input data as distinct from the program itself and not subject to the corresponding source requirement. They are not even required to be freely licensed, so long as they are at least re-distributable or packaged separately.
-
-Following this to it's logical conclusion; one could anticipate a GPL-licensed game which is 100% functional (technically), but practically it is silent, and every character and all scenery completely are black/null.
-
-The implication is that mere data is non-essential, dispensable, and interchangeable - it could as well be absent as present, or processed on-the-fly as inputs. C code for example, is arbitrary input to a C compiler, and the comp[iler's own code does not appear in the outputs; so the license of compiler needs not apply to the compiler's outputs or inputs. The same could be argued for a game engine which can process very arbitrary inputs, as long as some basic syntax or protocol is followed (much as the compiler); but game blobs are not that sort of input. They are much more intrinsic to the function of the program itself.
+The GPL, as written, does not consider that some of the program's sources may actually be blobs. Though there is precisely no mention of them at all, but the FSF's general opinion is that blobs such as artwork and music are raw data, distinct from "the program" itself, and therefore not subject to the corresponding source requirement; which is why the GPL does not mention them. They are not even required to be freely licensed per the Four Freedoms, so long as they are at least re-distributable or packaged separately.
-Game blobs are not arbitrary configuration data. A free game with non-free blobs is like a free operating system for which only non-free programs are available. In fact, taken into account that the majority of computer users expect a graphical, mouse-centric desktop system, then they are identical from the user's perspective: a blank screen with no controls or sounds. Both are utterly useless to a freedom-minded user until someone writes a free interface and some free programs for that platform or creates some free art to fit that game meaningfully. If question at hand is: "Is it possible to use this program without any proprietary adornments?", the naive answer will be: "Yes, it is capable of being used with free blobs (if they exist)."; but if no such free blobs actually do exist, then that answer does not satisfy the main intention of the question, namely: "Is this actually possible in practice or only in theory". In theory, it is the case that many proprietary games are capable of using free replacement blobs; which is indeed the popular practice of so-called: "mods". For this reason, the point of the program being merely capable of using free blobs is not an interesting one to make. One can easily make the counter-argument that if the only existing blobs that could make the program in any way useful are non-free, then the mere distribution of that program, at least in compiled form, even without being accompanied by any non-free blobs, is either pointless, or constitutes a recommendation to seek out and use those non-free blobs. In case that this viewpoint is unfamiliar to the reader, it should be noted that this is the very standard to which Debian has held it's binary packages for many years.
+Unfortunately, I know of no verifiable evidence for the previous claim, precisely; but one who reads the GPL very closely is most likely led to the conclusion, that the GPL is not intended for anything other than software. That was not the intention however, as noted in the previous "Free Culture Licenses" section. The only verifiable evidence I can present for blobs being exempt from the GPL, is in the form of RMS's essays. I think this omission from the GPL is an oversight; and I consider it to be a loophole, because i do not agree that any intrinsic constituents of the program should be exempt from the software license. Hopefully, the next GPL will clarify it, one way or the other.
-A game is not at all comparable to a compiler. It is not a general purpose processing tool. It's sole use-case depends intrinsically on it's data existing, and fitting the main program's non-general purposes. That is not only in terms of valid syntax and encoding but in every facet of it's form and purpose. Any analogy to an agnostic data processor is inappropriate.
+from https://www.gnu.org/philosophy/nonfree-games.en.html:
+> Game art is a different issue, because it isn't software.
+> Since the art in the game is not software, it is not ethically imperative to make the art free
-The conventional meaning of "data" is that of some conformant input flowing through a pipeline for processing or computation in order to produce some output that is otherwise non-essential and unrelated to the intrinsic functionality of the processing program. A clear example would be source code input to GCC. Clearly, game and GUI assets are not merely that kind of data, isolated from the main program. Most generally, these binary assets are necessarily not candidates for streaming as could be the case for the conventional input data previously described. In most cases, these assets carry very specific semantics related to the program itself where spatial and temporal precision are critical; as such the assets that represent these precise events are fully pre-loaded into the program memory space. This is done in order to make the program itself useful to the user and only for that intrinsic purpose. As such, it can not reasonably be considered as arbitrary transient data but much more akin to specific library loading.
+Following this to it's logical conclusion; one could anticipate a GPL-licensed game which is 100% functional (technically), but practically it is silent, and every character, moving object, and all scenery are completely black.
-To label programs as "functional" but the art and music that constitutes the interfaces as "non-functional" (with the right to modify them being therefore unimportant) is to say that these binary assets are arbitrary or optional (and any modifications are orthogonal to the functionality of the main program itself). If they are not optional then they serve some purpose; if they are not arbitrary then they serve some specific purpose; and if they serve some specific purpose then modifications are meaningful and the end user should be able to handle them in the same "preferred" ways as the author would. All of those are true for game/GUI art and sounds. They may not be executable machine instructions but they each play a necessary and specific role for the proper operation of the program as a whole. A game's assets and the game state that triggers them to be displayed are tightly coupled components that serve a single unified "function", namely: that of being an entertaining toy. The same could be said of any other GUI or the error messages of GCC for that matter. After all, error messages are just raw, non-executable byte strings; so should they be exempt from the licensing terms of the host program? I think most people would agree that it would be difficult to make a convincing argument for that, especially not on the grounds that they are arbitrary data. Each and every one of them must align semantically with the context in which they are to be triggered and presented. Sure, any properly encoded text string could fit the slot, just as any properly encoded image file could replace any other; but surely, trees the color of the sky and rivers made of leopard skin would be as confusing and disturbing to a game player as it would be to a programmer if GCC error messages were replaced with Chinese cookie fortunes. In both cases, treating binary assets as arbitrary or optional jeopardizes the utility and appeal of their host program greatly; and so they should be considered to be necessary and specific, and as such, deserving of the same freedom as the host software.
+The implication is that mere data is non-essential, dispensable, and interchangeable - it could as well be absent as present, or processed on-the-fly as inputs. C code for example, is arbitrary input to a C compiler, and the compiler's own code does not appear in the outputs; so the license of compiler needs not apply to the compiler's outputs or inputs. The same could be argued for a game engine which can process very arbitrary inputs, as long as some basic syntax or protocol is followed (much as the compiler); but game blobs are not that sort of input. They are much more intrinsic to the function of the program itself.
+Game blobs are not arbitrary configuration data. A libre game with non-free blobs is like a libre operating system for which only non-free programs are available. In fact, taken into account that the majority of computer users expect a graphical, mouse-centric desktop system, then they are identical from the user's perspective: a blank screen with no controls or sounds. Both are utterly useless to a libre-minded user, until someone writes a libre interface and some libre programs for that platform, or creates some libre art to fit that game meaningfully. If question at hand is: "Is it possible to use this program without any proprietary adornments?", the naive answer will be: "Yes, it is capable of being used with libre blobs (if they exist).". However, if no such libre blobs actually do exist, then that answer does not satisfy the main intention of the question, namely: "Can I actually make use of this program in freedom?".
-== The Free Culture Definition ==
+Interpreted broadly, any libre program is "capable" (ie: it has the potential) of doing anything which it has not been specifically adapted to do, yet. In practice, if the GPL allows software to be perfectly useful, but only when non-free data is necessarily baked into it (which is the case if the only suitable data available is non-free), then it is not likely that libre replacement data will ever be substituted for it; and libre-minded people will never be able to actually use that program. It would be technically libre, but practically non-free or useless - standing as an insult to the concept of software freedom.
-The Free Culture Definition is unfortunately not precise enough to "define" itself adequately. It is worded such that the sources of the work must be available in order for the work to be called a "Free Culture work". The GPL is the only licenses that actually provides that stipulation. Yet, the section preceding that statement, which defines the "Free Culture Licenses" does not include that stipulation. So practically speaking, taken as a whole, what that document is actually suggesting (and it is expressed literally), is that a "Free Culture License" does not qualify the work to be a "Free Culture Work"; and it fails to mention that only the GPL would satisfy the latter. This raises the crucial question: which do they consider to be "the definition" of "Free Culture". If it is the former, then any work using a "Free
-Culture License" can call itself "Free Culture"; but most such works are definitively not "Free Culture Works"; which is of course, double-talking nonsense.
+In theory, it is the case that many proprietary games are capable of using libre replacement blobs; which is indeed the popular practice of so-called: "mods". For this reason, the point of the program being merely capable of using libre blobs, is not an interesting point to make. One can easily make the counter-argument that if the only existing blobs that could make the program in any way useful are non-libre, then the mere distribution of that program, at least in compiled form, even without being accompanied by any non-free blobs, is either pointless, or constitutes a recommendation to seek out and use those non-free blobs. In case that this viewpoint is unfamiliar to the reader, it should be noted that this is the very standard to which Debian has held it's binary packages for many years.
-It quite appears that the Free Culture Definition was intentionally worded in such a wishy-washy way; as to satisfy both the "open" and "libre" camps; so that anyone is free to choose either interpretation. For example, the list of "free culture licenses" has a categorization of "practical modifiability", which is described as:
+A game is not at all comparable to a compiler. It is not a general purpose processing tool. It's sole use-case depends intrinsically on it's data existing, and fitting the main program's non-general purposes. That is not only in terms of valid syntax and encoding but in every facet of it's form and purpose. Any analogy to an agnostic data processor is inappropriate.
- "The licenses which require practical modifiability usually define a notion of source code, source data or similar."
+The conventional meaning of "data" is that of some conformant input flowing through a pipeline for processing or computation in order to produce some output that is otherwise non-essential and unrelated to the intrinsic functionality of the processing program. A clear example would be source code input to GCC. Clearly, game and GUI blobs are not merely that kind of data, isolated from the main program. Most generally, these blobs are necessarily not candidates for streaming as could be the case for the conventional input data previously described. In most cases, these blobs carry very specific semantics related to the program itself where spatial and temporal precision are critical. As such, the blobs that represent these precise events are fully pre-loaded into the program memory space, where they lie idle until the precise time and "place" in which the main program invokes them into use. This is in no way resembles the common conception of processed data, where the data is processed either sequentially and uniformly, or otherwise according to a generic algorithm of the main program. This is done in order to make the program itself useful to the user in real-time, usually based on interactive input from the user, and only for that intrinsic purpose. Regardless that it is "non-functional data" being presented, that is the primary function of the program, and intrinsic to the program's usefulness. As such, it can not reasonably be considered as arbitrary transient data but much more akin to specific library loading.
-Yet, it denotes the "MIT" license as having this characteristic, which it is not. The license text itself explicitly excludes it's applicability to artworks. The MIT-style licenses
-explicitly cover "software and associated documentation files"; neither of which are consider to be artworks, literature, or any other sort of "cultural works".
+To label programs as "functional" but the art and music that constitutes the interfaces as "non-functional" (with the right to modify them being therefore unimportant), is to say that these blobs are arbitrary or optional (and any modifications are orthogonal to the functionality of the main program itself). If they are not optional, then they serve some purpose, if they are not arbitrary, then they serve some specific purpose, and if they serve some specific purpose, then modifications are meaningful, and the end user should be able to handle them in the same "preferred" ways as the author would. All of those are true for game/GUI art and sounds. They may not be executable machine instructions; but they each play a necessary and specific role for the proper operation of the program as a whole. A game's blobs and the game state that triggers them to be displayed, are tightly coupled components that serve a single unified "function", namely: that of being an entertaining toy.
-Is it any wonder why people may get the wrong impression?
+The same could be said of any other GUI elements or the error messages of GCC for that matter. After all, error messages are simply raw, non-executable byte strings, often kept in separate files from the source code that invokes them. So should they be exempt from the licensing terms of the host program? I think most people would agree, that it would be difficult to make a convincing argument for that, especially not on the grounds that they are arbitrary data. Each and every one of them must align semantically with the context in which they are to be triggered and presented. Sure, any properly encoded text string could fit the slot, just as any properly encoded image file could replace any other; but surely, sky-colored trees or guns that sound like rubber ducks, would be as confusing and unhelpful to the game player, as it would be to a programmer if GCC error messages were replaced with random Chinese Fortune Cookie fortunes or weather reports. In both cases, treating blobs as arbitrary or optional, jeopardizes the utility and appeal of their host program greatly; and so they should be considered to be necessary and specific, intrinsic to the programs "function", and as such, deserving of the same freedom as the host software.
TODO: more to come