Candy Library - Try 2 - Financing Software on the IC

Happy Holidays!

TLDR: I was behind the Aramakme project, I’m reveling the library that was supposed to be ‘uncovered’ by buying NFTs, I’m handing it over to ICDevs, you can still by the NFTs for now…I might stop the sale at some point, all the proceeds for what has been sold so far will go to paying my taxes on the sales and then to an 8 year dedicated neurons benefiting ICDevs.

I’d like to open up the doors on a very poorly held “secret”. Before launching ICDevs I was working on a software funding mechanism for the IC. I had some concerns about how things would play legally, the platform was new, and I wanted to maintain some anonymity so I launched it under a pseudonym. I don’t want to say that the experiment was a total failure because it intersected with some horrible personal circumstances and I was unable to give it the time and attention(and social media professionalism that NFT projects apparently need - side note…you can’t really do twitter or telegram through TOR…another reason we need the IC). So…if not a total failure…at least a partial failure. I’ll document how it failed below in the post mortem. If I’ve communicated with you from the pseudonym or played dumb with you, my apologies, I wasn’t sure how this was going to turn out and I was advised to keep it on the down-low until I had a better idea which direction it would go.

Basically, I’m the pseudonym @armakme and the project that was launched around the NFTs was all stuff I did before launching ICDevs.

Since it is the Holidays and the architecture of the IC has changed a bit(we can hold ICP now!), I’m going to go ahead and reveal the Candy Library that was supposed to be exposed by people buying the NFTs. You can find the library here. Hopefully, it will help some folks and, hopefully, the designers of Motoko don’t throw too many tomatoes at me for my poor coding style and routes around the core tenets of the language.

In addition, I’m going to hand over all the code and containers over to ICDevs. Any more funds that come in on the NFTs(minus taxes) will go into an 8 year neuron benefiting ICDevs. If people actually start using the code, all the cycles it produces will be donated to ICDevs as well.

Hopefully, some Motoko devs find the candy library helpful. I’ve used its components quite a bit in a couple of other projects and I think some of the conversion utilities are helpful. It also has some helpful features that can be used to figure out the size of a collection and split it up if you need to send the data across the wire under the 2MB limit.

The actually aramakme licenses in their various forms are worth discussing and I’d love to continue the conversation about those. The IC has an amazing way to fund software that very few people are talking about! TLDR: You run the code, pay cycles at the beginning of each month, and then after X number of calls…so there is only an await used to send cycles on very rare instances. There are also mechanisms for forking and improving code that maintains some value for the original creators. If you have written some motoko code that might be valuable to the community, consider releasing it under the aramakme license and you may never have to buy cycles again.

There are way more details of how it all works at https://hwqwz-ryaaa-aaaai-aasoa-cai.raw.ic0.app/

Here is a brief post mortem of the experiment:

I posted the application here: https://hwqwz-ryaaa-aaaai-aasoa-cai.raw.ic0.app/

It was way to technically detailed for most of the NFT pile on crowd. I should have just put an image and a buy link and left it at that, but I do really like the funding mechanism behind all of this and it and I thought I could punch through the NFT hype with something that actually “did” something(Help distribute software and get a royalty).

The basic concepts of a distribution license came out of a lot of talks with lawyers about how one could actually build and structure a token mechanism that passed the Howey test. The main output was instead of issuing tokens, issue exclusive software distribution licenses.

Here is a number of ways the project failed:

The funding mechanism drew almost no attention. I posted a forum post here(Financing Software Built for the Internet Computer) that basically got no attention. I think everyone was pretty focused on getting canisters to hold ICP, so the concept of funding using cycles just didn’t have much attention. The fact that we don’t have a good market for cycles is probably also an issue, but perhaps once that market matures this will a more attractive funding mechanism?

I only sold about 40 NFTs. It isn’t nothing, but I was shooting for 1500+. It was a tough sell because you had to jump through some hoops to actually buy the things. Send ICP here, click a claim button…hope all the transactions clear. Hopefully, @kpeacock’s Invoice like thing will make all of this much more simple in the future.

Interoperability on the IC really let me down. Entrepôt is great and all the work Toniq is doing is awesome, but during this one period, the fact that I couldn’t get it listed really affected sales. I’ve been talking with those guys and now that we have ICP in canisters and DAB and a bunch of other stuff coming, I fully expect to be able to list these NFTs on Entrepôt soon and to be able to do so without having to give my code to someone else.

I didn’t have the social media chops to promote an NFT. This thing has become a bit of a profession. You’ve got to be able to work discord, twitter, telegram, and to do so with flair. Congrats to the folks that have made it work. It is hard.

I’ve got a discord here if you want to talk about this stuff any more: ARAMAKME

Or leave comments below and let’s talk about how we can build more tools for developers to control how they make money with their software.

From an ICDevs standpoint, we’ll just encourage conversation around this topic. If the library is useful and people use it we’ll use the cycles generated for the benefit of the community. If the licenses mature and become a standard we’ll help oversee it and organize a healthy debate about what should, shouldn’t, and needs to be in the licenses.

It was a fun project and I wish life had given me the space to lean in when all the NFT craziness was going on. AMA

14 Likes

This is pretty cool. There are so many hidden gems in the forum. I suppose that this would for rust as well…the licensing philosophy, that is.

1 Like

Yes…I’d love to have a rust version as well. It should be a fairly straightforward port…I just don’t know rust!

1 Like

I believe that cycle sharing could be a revolutionary new business model, @skilesare, myself, and others seem to all be coalescing around this idea. That being said, my first impression of the aramakme project was that it was far too complicated…hopefully we can slim things down and simplify them moving forward.

For example, Azle is using a concept I call Intellectual Property Tokens. It’s quite simple to start with, using just the MIT license without modification (or with one slight modification, depending on how you think about it). The trick is to assign copyright to the Azle token holders. See the live license here: azle/LICENSE at main · lastmjs/azle · GitHub

Adding some kind of cycle sharing on top of a license is a whole new challenge entirely. I’ll be iterating with Intellectual Property Tokens and possible cycle sharing, I hope others will continue to experiment.

2 Likes

I admit I’m not too familiar with what “cycle sharing” means, but I’m interested.

Can you explain who is sharing cycles with whom, and under what conditions?

WRT Aramakme, I guess I was confused about the part where the library code keeps track of how many times you call its functions and then automatically charges $1 in cycles after hitting a certain call threshold.

Can’t I just remove that code from the library? Library users probably don’t want to pay that. I guess that would violate the license, but who would enforce it? AFAIK open source licensing still requires enforcement in the courts (i.e. meatspace).

Personally, I think smart contracts have the potential to revolutionize open source funding without resorting to legal enforcement in meatspace. How does that look in practice? No idea, but retroactive public goods funding and decentralized crowdfunding (see Overchute) seem like important first steps to achieving that.