vsoch / opensource-art

open source, collaborative art generation that combines hand and machine
https://vsoch.github.io/opensource-art/
BSD 3-Clause "New" or "Revised" License
13 stars 8 forks source link
art circle-ci collaborative deep-dream gallery github-pages machine-learning open-source opensource-art

Open Source Art

docs/assets/logo.jpg

CircleCI

Or jump right in and View the Gallery.

What is Opensource Art?

While traditionally used for programming, this reposity combines open source development with community artistic contributions to create the first automated, programatically and manually generated gallery.

Background

There is typically a strong distinction between things that are made by hand, and by machine. It's also more likely the case that you see artist work attributed to one or a few individuals - the paintings in your favorite gallery are done by one individual, or it's perhaps a collaboration between a small group.

Bring in open source. Open source is a powerful framework with under which many eyes can make tiny contributions to develop highly complex systems. In the context of programming, this means that a group of developers opens up their code base for contributions from the community, and many eyes on the code squash the bugs.

How does this work?

Under this same model, many small artistic contributions can create unexpected beauty.

1. The Human Component

The base of the entire gallery, whether it be code that drives its generation or the human hand, starts with a human component. How does this work?

  1. Any member of the community can contribute a texture, a graphic, or digital piece. The contribution is done via a pull request (or contact of one of the Open Source Art maintainers, in the case the artist is not familiar with Github).
  2. The contribution (if necessary) can be discussed and reviewed.
  3. The texture is added to the library housed in the repository

2. The Digital Gallery

From the human component, we have a version controlled collection of community contributions. Each carries with it metadata about the artist and (if one exists) a title and description. Here is where the machine, and concepts from software engineering like version control, continuous integration, and machine learning come into play! We use these technologies to automate the process of generating new works from the existing.

  1. Each day, a set of textures (or derivations from them) are randomly chosen during an automated testing step in a continuous integration service.
  2. Machine learning is performed via a reproducible container to generate a new work
  3. The new work is saved, and added programatically back to the gallery.

3. The Open Source Art Story

Over time, the gallery grows in size and complexity. We generate a new image each day, and so the earlier pieces become part of the later ones. The earliest contributions start the development of a story, and community members can contribute new textures (or similar) at any frequency to continue developing the story.

Contribute Your Work

Contributing comes down to submission of a pull request (called a PR) to this repository. You can also opt to fill in an online form for a manual submission.

Manual Generation

First, the repository, and clone it to your local computer.

git clone https://www.github.com/<username>/opensource-art
cd opensource-art

Template

Next, copy one of the current works pages under _works, and give it a unique name that is all lowercase and doesn't have any special characters. The following fields have suggestions for their content:

Here is a template you can start with:

---
layout: work
title:  "Circle Packing"
tags: circles, texture, cute
categories: texture
date:   2018-08-08 12:54:46
author: Tim Holman
website: https://generativeartistry.com/tutorials/circle-packing/
image: 2018/tim-holman-circle-packing.jpg
---

You can write a description here, if you like!

The image path should be under the root "assets/images" in the repository. Thus for the above:

2018/tim-holman-circle-packing.jpg --> assets/images/2018/tim-holman-circle-packing.jpg

important notice that the image name has the same unique resource identifier (tim-holman-circle-packing) as the post. This is important for programmatic things, and it will be checked and tested.

Finally, notice that the (more verbose if you like) description is at the bottom, under everything. Feel free to write as little or as much as you like here.