From Open Source to NFTs: A Love Letter

Sinan Ascioglu
OpenProcessing
Published in
6 min readFeb 16, 2022

Investigating the relationship between Open Source and NFTs through the lens of Crayon Codes, our NFT project we launched in August 2021.

Biscuits” Edition #1 by Roni Kaufman

As NFTs dominated the tech news in 2021, generative art projects using p5js came into the spotlight and quickly became the most sought-out ones in the space. Using coding as a creative medium, artists can create art projects that generate an ever-evolving fusion of visuals, motion, and sound in real-time as you view and interact with them. This has been the true inspiration for over a million open-source projects shared on OpenProcessing over 13 years. These projects have been allowing newcomers to learn methods and tricks from their peers, and the experienced artists have been improving their practice, building a reputation, but gaining little to no financial support.

As NFTs introduced the concept of ownership for digital media, they became a perfect match to help artists monetize all their hard work and creativity. But the idea of scarcity (only 100 editions!) and exclusivity (1 owner each!) of NFTs felt like an antonym to the open-source movement. Many NFTs were revealed to the public, without any accessible source code, for the pure sake of being investment tools for their creators and collectors. Art got mixed with PFPs. Manifestos got lost in Discord conversations. The creative review took a backseat and gave way to “floor prices” and “sales volumes.”

At OpenProcessing, we took our time to observe all these dynamics and find our approach to bringing NFTs and open-source together. We launched our first experiment, Crayon Codes, as an NFT fundraiser in August 2021 to explore this new territory and look for a convergence: Can NFTs provide a trusted provenance while Open Source brings the creativity and collaboration together to end this battle for good?

We invited ten artists, who have been sharing their projects with us over many years on OpenProcessing, to create ten customizable generative art projects on Crayon Codes. We watched 1000 editions get sold within minutes with excitement as we tried to get a few things right, and continue to do so today:

  • Inviting collectors to the creative process: On OpenProcessing, we have always prioritized creative freedom and collaboration. Sharing sketches on OpenProcessing always meant that anyone could change the code and create forks easily. But that required some knowledge of how to code. For Crayon Codes, we created a simplified creative flow by letting collectors change a few sketch variables using simple sliders, resulting in unique editions as collaborations between the artists and the collectors. Instead of gambling to receive a random output, collectors are invited to be part of the creation process instead.
Collector Experience on Crayon Codes
  • Source Code *is* the project: What makes generative art particularly special is that it is a software executed live on your computer as you see it, combining all the customizations collectors set while buying their edition. Source code view provides a transparent window to all the ingredients, the creative process, and the authenticity. Therefore, we pay particular attention to allowing collectors to easily explore the source code before (and after) buying their editions.
  • Clean NFT: Some blockchains like Ethereum run on rather inefficient systems that impact climate. Therefore we chose Bitmark, a much more efficient blockchain that focuses on art assets to mint our NFTs.
  • Lazy-minting: We only mint the editions post-purchase to prevent unsold NFTs from taking up space in crypto-limbo and wasting energy.
  • Lazy-migration: Projects are moved to Ethereum only if a collector wants to migrate and list their editions on OpenSea. Other collectors can keep their editions on Bitmark and have minimal impact on the ecosystem. We are also exploring other blockchains such as Tezos to provide better options.
  • Decentralized Hosting: All the project assets (except the social thumbnails) are hosted on IPFS.
  • More Accessible Collector Experience: We removed the complicated components of the NFT collection experience (such as creating wallets, buying crypto, paying gas fees) and accept payments directly with standard credit/debit cards to issue NFTs.
  • The Metadata: In addition to the project and artist information, we pay particular attention to adding royalty and licensing information in the metadata. Artists are listed as the first party on the project provenance.

With our August launch, we also made sure to honor the very foundation that brought us to this day and raised a total of $31,000 USD through the NFT sales to Processing Foundation, who have nurtured this community for over 20 years to make creative coding an important part of our lives.

We learned a lot of lessons along the way as well:

  • The idea of automatic royalty payments is a great promise. Still, the truth is far from it as of now: Every time someone buys an NFT on a secondary market, the royalties would be automatically distributed to the artists and other parties defined on the NFT. However,
    There is no one true protocol to follow. NFT Royalty Standard was late in the game, didn’t get enough adaption, and allows only a single party per project. OpenSea still ignores this protocol and have their own royalty rules and payout schedules (10% max, payout minimums, single address per contract). Royalty Registry is an attempt to provide some solution. Still, it is run by the very platforms that ignore such protocols in the first place, expecting others to follow “their” definitions and royalties for the NFTs minted on “their” platforms. They make no promises to follow through with any royalties defined on NFTs minted by other platforms.
    – Royalties paid by OpenSea are sent without any metadata. For collections with multiple artists, it requires a massive manual effort to understand which projects are sold for how much. This makes it a pain to calculate and split the royalties to payout the artists.
    – OpenSea still does not have any guidance or definitions on attributing projects to the artists properly on their platform. Projects listed on OpenSea display the contract owner as “creator” without providing any option to change. Big names in the industry (like Artblocks) can set these as they have direct connections at OpenSea, but these settings are not available to smaller platforms, and OpenSea does not respond to such questions.
  • As we tried to make payments more accessible, accepting credit cards introduced many bottlenecks to the process.
    – We had to implement operations to retrieve the fiat currencies, wait for them to settle by the bank, and make artist payouts manually.
    – Credit cards hate repeat transactions and create many issues for collectors who collect multiple editions at once.
    – Many collectors keep their art-collection budget on cryptocurrencies, making it an extra hassle to pay via fiat currencies instead.
  • Web3 is an excellent mechanism for signing up to websites, signing transactions, and having ownership of the digital data and assets, but it comes with a steep learning curve.
    – One needs to learn about multiple wallets and install them correctly while evading any scam apps and websites. The day I installed Metamask, the top Google result for “Metamask” was a sponsored scam website 👿.
    – Buying crypto can still be very complicated due to country and state regulations, and the experience of using crypto-exchange websites varies.
    – We need native browser or integrated operating system wallets to reduce such friction. For example, a native web3 support in Apple/Google Wallet would be fantastic.
  • The industry (including us) still needs a better definition of what “NFT ownership” means. Current open-source software and artwork licenses (GPL, Creative Commons, etc.) fall short of making definitions in this new territory. NFT license feels more suitable for apes and cats, missing most artistic use cases. Feral File took a great step towards providing better definitions with their Artist and Collector Rights, and I think we can expand these for open source generative art projects and their generative outputs in the near future.

With all the lessons learned, we are continuing our discovery to bring Open Source and NFTs closer. Follow us on Twitter to stay up to date and hear the launch of our new generative art projects on Crayon Codes in the coming weeks!

--

--

Sinan Ascioglu
OpenProcessing

Founder of @OpenProcessing. Thinks about user experience, coding, teaching, and anything in between.