Note: This post contains foul and abusive language.
Alex (fake name) is a weird one.
Alex submitted a plugin and their email was sending auto-replies, so we flagged them for that. Their plugin was also missing a readme and they failed to escape code. Three annoying but small issues.
That was March.
No reply came, so they got auto-rejected in June.
We Made Changes
A couple more months pass and Alex has ‘made changes’ and replied:
We made some changes to the code but our plugin is identical to a competitor that is approved in your community which doesn’t make much sense to these changes since the other one was approved.
Now, I will admit, I missed the ‘identical’ the first time but for what it’s worth, that is incorrect.
The competitor escapes the line in question.
But more to the point, Alex had a hell of a time replying to emails. We’d send, it’d auto-reply, we’d ask them to fix it. On and on. Finally they got their head out of their ass and explained it was Brazilian law to have that autoreply … for customers.
Ah! Well we (Plugins) ain’t the customer, this is a DEV relationship, please change the email and off we go.
Except … they then tell us they copied the code and rebranded it and they said we probably can’t host the code.
Can You Steal Open Source?
People hate that I call it theft.
Suck it up, butter cups.
If you take someone else’s code, put your name on it and make no other technical changes, and present it as your own original work, you stole it.
I will die on that hill.
Now if you take their code, alter it, add new features, improve it, re-design it to use modern PHP practices, convert it to React, etc? Hey! You forked it! Congratulations! Slap a copyright addition to it, crediting the originals, and we’ll host your code!
But no, it’s easier to take someone’s work and claim it’s your own, and when you do that, I hate you. You stole their work. You lied about it being your original work.
Fix It and Improve It
Anyway, Plugins agrees “You’re right, we cannot host copied code” but we did not reject the plugin since there are ways around that (see above). We also pointed out they had to fix the security issue.
ok thanks, I don’t intend to put my plugin available for download in this shit library.
[…]
fuck man, you need to learn a lot to get along with people and even learn to read. That’s not to mention talking, which is something you don’t really do.
Okay, let’s try to explain– Wait, another email?
I didn’t steal anyone’s code, I’m not a thief, if you consider yourself your personal problem. Learn to read and talk to people, you don’t know if you want to talk.
I repeat, you are a disgrace to the wordpress community.
Okay well lets– What? AGAIN!? In less than 60 seconds!?!
About their code, you idiot I downloaded it now and took this screenshot to send to you. Dumb, don’t bother if you want to download the plugin itself before saying false things and accusing people of what they don’t know.
Fuck you man you are very dumb and again we are ashamed to have you representing the community.
There was no screenshot. But if there was, it would have pointed to the original, which was escaped. Badly, but it was escaped (they used esc_attr
instead of esc_url
, which was a different matter).
But at that point, three emails in under 2 minutes, he’s lost his blob. So the reply was “We wish you the best of luck, but we will not host your code.” and then into the auto-bin, but not before he got in one more:
Fuck your ass, I’m not asking you to host my codes. You idiot, human garbage. Learn to talk to people you fucking nerd
You first.
How to Fork Like an Adult
If you see a WordPress plugin you like that’s been abandoned (or just went in a stupid direction you hate), I strongly urge you to fork it. And the steps are really simple.
- Copy the version of the plugin you like
- Rename it and add your name as an author (add!)
- Make technical changes to the code – this can be a whole refactor to Namespaces and React, or adding in a feature that you cannot do in another way (caveat: If you can make an add-on plugin that does the feature, you’re better off doing that)
- Build a check so that your new version and the original being active at the same time won’t crash a site
- Update the readme to explain you have forked it from the original and list all the changes
- Update the copyright and add yourself on to it
That’s really it. People often miss step 4, but they only really fight about steps 3 and 5.
The other thing, if you’re called out on making a copy of a plugin, just fess up. There’s nearly always a way through that, but it has to start with you being honest.
And yeah, I know how much someone hates hearing that their 100% copy of someone else’s work is theft, but I have never found another way that sufficiently slammed the idea into their heads about how much damage they’re causing and how much they’re hurting someone else.
Taking someone’s work without credit hurts them. It devalues their work and elevates yours unfairly. It also takes away their recognition which will only hurt them if they later use their work to try and get a job.
This is one of the huge risks with AI, since it wasn’t built to credit (I would find it so cool if it did).
So please, be honest when you copy code.
Comments
4 responses to “Plugins: Stealing The Butt (vulgar)”
Lets take this one line “This is one of the huge risks with AI, since it wasn’t built to credit (I would find it so cool if it did).”
So now I do things like feed AI with a bit of PHP and HTML and say ‘rewrite this in REACT’ and it actually does a fair job, I think there is little danger in using that way.
But if you use it with a prompt like create me a function that creates a custom post type for employees, it is likely to ‘steal’ that from some one, or worse from many people. Imaging the scenario where you have 50 lines of code and 2,000 attributions of credit.
Anyway I’m just writing this to prove I read all the way to the end. 🙂
And not all the code it uses as the base can be confirmed as GPL, so that’s an extra wrinkle.
I don’t really use ChatGPT much, but I wonder if you asked it “Write me a custom post type for employees and credit all your sources” it would do that…
It did … and added 3 sources with non-working links 🙂
>WordPress Codex: register_post_type
WordPress Developer Resources: Post Types
WPMU DEV – Creating Custom Post Types in WordPress
If you want to have a look
https://chat.openai.com/share/b1bca23f-911f-47dd-a1be-d149bd1a9293
I also don’t use it.
Being creative is my strength, if it could help being accurate, but that’s absolutely not chatgpts mission.
“Suck it up, butter cups.” is my new favorite thing today. ☕😈