Adventures in Imagineering — Communities and Conduct

I have been developing software for over thirty years and for around 20+ of those years I have been involved in open source and free software. In fact, for most of my software development career, I’ve released software for free because I believe that if it is something I like and find useful, then it might help others too. In fact, I think the only exception has been my mobile software for iOS, but that’s a different story.

Why do I say this about releasing software for free? Because of something that happened in the Stable Diffusion “community” today. Somebody hacked NovelAI, a company involved in the Stable Diffusion efforts, and released their proprietary (non-open source) models and source code to the public.

But that’s not what this post is about — it’s about what happened after, and the “community” response to the events.

Apparently, a developer who develops for Stable Diffusion (not somebody employed by Stability AI, the company, but who is an independent developer) added support for the leaked models in his web UI. Stability AI, the company behind Stable Diffusion, asked the developer to remove his code changes. The developer refused. Stability AI banned this particular developer from their Discord server. Then the Stable Diffusion “community” on social media (I’m talking about a particular community here since that’s the one I know of) exploded with comments and opinions.

I’m not going to point to the “community” in question since that serves no purpose, but I am going to talk about what I saw in the discussions and what I think about all of this. And why do I put “community” in quotes when I talk about it? I’ll get to that too …

Most of the opinion on the particular forum I’m talking about seems to be in support of the developer who was banned. In fact, anybody who has a different opinion seems to get “downvoted”. They talk about the victims here, NovelAI, as a company which was just trying to make money or get rid of a competitor (the free software developer) if at all, and blame Stability AI and their CEO, Emad Mostaque, saying that banning the developer from their forum was a mistake.

This is why I don’t really take to “communities”, especially when it comes to online communities. They mostly seem to be about serving their own selfish needs and turning on others when their aims are not met. A bit harsh? Maybe. But that’s generally the behaviour I see almost everywhere.

Nobody on this forum said anything at all about the hacker (or hackers) who released what was proprietary code and caused a company harm. After all, the attitude seems to be, these companies have money and so any harm done to them is fine. But what about the people who work there who might be out of work if the company goes under? What about the vendors who worked with this company who might be financially impacted in some way? None of that matters since the company was looking to make profits and so are absolutely guilty, right?

Now, I’m not implying that the developer who got banned was in the wrong … or right. I have no opinion on their actions since I don’t have all the facts. But I do think that Stability AI had to take some action here since they are a company. They can’t simply be seen to be condoning the use of stolen IP.

The argument from those blaming Stability AI seems to be along the lines of, “the stolen models are out there now, so what does it matter if somebody added support to use it? It’s not as if the developer stole the model themselves.”

That’s all well and good when all you want is to (indirectly) benefit from the hack without any regard to what happens to NovelAI or anybody else, but let’s see how these same people behave if they had their car stolen and had it listed on CraigsList or something. Do you think they’ll hold CraigsList blameless? Of course, not! They’ll scream bloody murder and try to get CraigsList to remove the listing and not be so sanguine about how the car is out there and so CraigsList might as well list it and so on …

This is my whole issue with most of the opinions on this forum … and in similar situations on other online communities. It all seems to be slightly canted towards your own benefit. They like the fact that this developer was creating free software for them and are now afraid that he might fold up shop and go off. So they talk about how the developer was unfairly treated without any thought as to how it affects anybody else.

Also, what about Stability AI, who are also being painted as villains, or at the least, as uncaring here? Stability AI trained the Stable Diffusion model at a cost of $600K and released the model publicly instead of holding on to it and monetizing it as other companies have done. All that goodwill from publicly releasing the models lasted only a short time. Apparently releasing a $600K model is trumped by banning a single independent developer who added features/UI to use the publicly available Stable Diffusion model.

Sure, I’m simplifying things here. There are subtleties and nuances that I’m not going into here. But the basic fact is that Stability AI did more for the Stable Diffusion “community” than a single developer since the developer (nor the “community”) would not have been around without Stability AI. But apparently, that’s not a consideration.

That’s not to say that you have to hold Stability AI sacrosanct and that they cannot be held to account at all. If they do something wrong, sure, hold their feet to the fire. But in this case, it’s not so cut and dried. The core fact is that the developer in question added support for stolen proprietary models and refused to remove the support when requested, and Stability AI banned him from their servers. This isn’t them trying to lock down their product or get rid of a rival or whatever. At least, not as far as I’m concerned.

There’s accusations flying back and forth about NovelAI copying code from the developer in question, and the developer taking code from NovelAI. Again, I don’t know the truth of any of these accusations since I don’t have enough information to decide.

But what I can tell you is that it hurts when your code is stolen by somebody else, even if the source code is free available/given.

Years ago, I wrote a Word macro for writers. It was distributed totally free. I did not charge anything for support or make any money from it.

Some writer — who in my opinion didn’t know anything about coding — took the macro, changed the name of the author at the top, didn’t make any other changes, and distributed the macro from his site as his work.

I contacted him and asked him to stop claiming the macro was his and his response was a brazen, “Unlike writing, software is not copyrighted and so I can do whatever I want.”

Leaving aside his obviously incorrect assertion about copyright, I was annoyed. Not that it affected me in any way. I wasn’t losing any money since I wasn’t making any money from the macro. And yet, I was really annoyed enough to consider retaliation in some form.

So I can understand how it affects you when somebody else takes your code and claims it’s their own without any credit whatsoever. I don’t know whether NovelAI or the other developer are in the wrong here. Or if anybody is actually in the wrong. But I do know that if one party or the other, or both, took code from the other, then they should acknowledge it. It’s just a simple thing. But the right thing to do.

But again, the response from the “community” appears to be more along the lines of, “Ah, who cares! It’s just source code!” Or, “It’s possible for somebody to have written the same code, so why worry about it.”

Yeah, why worry about that as long as you continue to get your free software, right?

I don’t know. Maybe instead of thinking about yourself, think about others for a change?

Full disclosure, I develop software for Stable Diffusion (again, not the company, but the product) too. So somebody can claim that my thoughts are based on jealousy of some kind because I want the other developer out of the way, as has been claimed as a motive for NovelAI. However, I don’t make any money from the software and don’t plan to. In fact, I don’t even ask for donations. I do this in my spare time and I think there is plenty of space for multiple UIs to exist in the Stable Diffusion space.

But what I do think shouldn’t exist, is blaming people based on self-interest rather than facts. So first look for the facts and then try to resolve things instead of blaming people or getting the pitchforks out. And that’s my biggest issue with these “communities” — they are around for tearing things down, but for building things up collectively? Not as much.

Leave a Reply

Your email address will not be published. Required fields are marked *