Social and tech­no­log­i­cal advances make it pos­si­ble for a grow­ing part of human­ity to access, cre­ate, mod­ify, pub­lish and dis­trib­ute var­i­ous kinds of works — art­works, sci­en­tific and edu­ca­tional mate­ri­als, soft­ware, arti­cles — in short: any­thing that can be rep­re­sented in dig­i­tal form. Many com­mu­ni­ties have formed to exer­cise those new pos­si­bil­i­ties and cre­ate a wealth of col­lec­tively re-usable works. *

This means to offer peo­ple the free­dom to use your work and enjoy the ben­e­fits of using it, the free­dom to study and to apply knowl­edge acquired from it, the free­dom to make and redis­trib­ute copies in whole or in part, and finally the free­dom to make changes and improve­ments and to dis­trib­ute deriv­a­tives. As we highly encour­age this con­cept, we are try­ing to struc­ture projects around this prin­ci­ples, but in prac­tise there appear imme­di­ate problems.

Prob­lems?!

Most graphic design projects include copy­righted con­tent like logos and there­fore it can be dif­fi­cult to release a work in its entirety under a free license. A sim­i­lar prob­lem is described when soft­ware pre­vents soft­ware from becom­ing Free soft­ware is explained as following:

Non-free soft­ware is any soft­ware that is not free. Its use, redis­tri­b­u­tion or mod­i­fi­ca­tion is pro­hib­ited, or requires you to ask for per­mis­sion, or is restricted so much that you effec­tively can’t do it freely. *

If you need to include logos of spon­sors or some­thing sim­i­lar into a poster, you basi­cally can’t license it under a free license. But because we deal here with mod­u­lar media it’s not a prob­lem to replace the ques­tion­able parts. Since most parts are free cul­tural work any­way we just need to make some sub­sti­tutes. This idea is basi­cally derived from the crosslink­ing of non-free libraries:

Can I write free soft­ware that uses non-free libraries?
If you do this, your pro­gram won’t be fully usable in a free envi­ron­ment. If your pro­gram depends on a non-free library to do a cer­tain job, it can­not do that job in the Free World. If it depends on a non-free library to run at all, it can­not be part of a free oper­at­ing sys­tem such as GNU; it is entirely off lim­its to the Free World. So please con­sider: can you find a way to get the job done with­out using this library? Can you write a free replace­ment for that library? *

Solu­tion?!

To deal with these prob­lems, we employ some of the mech­a­nisms Lev Manovich describes as the Prin­ci­ples of New Media. First we take advan­tage of mod­u­lar­ity, what means that works are struc­tured in a way that their parts are still avail­able as parts. We use markup lan­guage, style def­i­n­i­tions, graph­ics and scripts that make up the final result and try to keep this sin­gu­lar­i­ties intact. The flat, undi­vid­able, sta­tic prod­uct is not the goal, but a out­come of the work. Sec­ond we try to apply automa­tion wher­ever pos­si­ble. Works are gen­er­ated auto­mat­i­cally, there­fore it’s eas­ier to manip­u­late parts, like replac­ing non-free graph­ics with free sub­sti­tutes. That leads to the prin­ci­ple of vari­abil­ity, which sim­ply means that the visual out­put is vari­able (within boundaries).

In Prac­tise

As projects are struc­tured highly mod­u­lar it becomes easy to ren­der free ver­sions of works that nor­mally incor­po­rate non-free parts. We try keep the projects mod­u­lar and make free replace­ments for copy­righted content.

As we sep­a­rate the inputs into free and non-free we can eas­ily sep­a­rate the out­puts into free and non-free by just chang­ing a path vari­able before the gen­er­at­ing process.