Drama in #PlotterTwitter this week: someone cloned Lingdong Huang’s generative art project to sell as an NFT, without permission. (Website screenshot here). The code had an MIT license so this was technically allowed but there’s something obviously wrong in selling an artist’s work without their agreement. The artist denounced the NFT as a sham. The community also condemned the appropriation. Fortunately the NFT creator cancelled the project with a thoughtful explanation. So the crisis is over but it’s left behind some complex questions about open source licenses, commercialization, and computer generated art.
Generative art code is different from other programs. With art the output of the code often has more value than the code itself. Run the program and get an art piece: it’s the art piece that is the focus. Art code is often one-off and specific, not a reusable component like a database or math library. But the source code can be valuable as a teaching aid or as a basis for someone to remix and make their own art.
The generative art world is also full of library components that artists share. Perlin noise is a great example, a random number function so famous it won its creator an Oscar. The Perlin noise algorithm was published for free reuse and there are many open source implementations. I believe no one thinks artists should pay Ken Perlin royalties or even explicitly credit him in their artworks. But we are all grateful to have access to his tool. Same goes for more technical libraries like font renderers, shape drawers, or code that renders SVG or drives a plotter. They are useful tools for making art but they do not make art by themselves. Open source licenses handle this kind of utility code pretty well. The problem is for code that itself creates art.
Of course releasing code at all is the artist’s choice: what’s the goal of an open source release? I think many artists do it mostly out of a sense of it being a public good to share methods. There was an interesting discussion about how this does not necessarily require full code: "People are forced to learn by re-implementing, and discovering their own style, rather than copying mine." I feel that strongly myself when I look at other people’s art code. There’s little joy in just reproducing someone else’s art, the creativity is in making your own. But it can help to have working code to run and modify, borrow ideas from.
Unfortunately there’s money in appropriating someone else’s art code. The NFT market has greatly accelerated the commercialization of generative art. And while that can be good for artists it also attracts cryptohucksters with divergent ethics. I’m still hoping the whole idea of NFTs (and cryptocurrencies) blows up and disappears but until it does artists should be thinking about how to protect themselves from unwanted and aggressive exploitation.
So where do we go from here? My problem-solving nature wants to create a new software license that lets artists feel safe releasing their code. Existing open source licenses don’t protect against exploitation, the open source world has firmly rejected the idea of non-commercial licenses. The CC-NC license family is good for artistic works like photographs and written works but they are not recommended for software. I think we’d need a new license. Even if the code license works it’s not clear you can copyright the output of code. So that’s a problem.
One easy thing to do now is have more discussion about how the generative art community thinks about others reusing their work. There’s a nice essay about open source hardware community norms, I’d like to see something similar for art code. I know enough about open source licenses and art to participate but the conversation needs to be driven by working artists.
I think there’s some value in exploring more of how generative art code is unique in that it creates art, but is not just a tool nor is it the art itself. Generative art has always been full of unresolved tension about authorship, now doubled down with complex algorithms like VQGAN and CLIP. Commercialization is an aspect of the authorship question.
Thanks to the Drawing Bot Discord for thoughtful discussion that informed this blog post.