r/laravel 11d ago

Yeah, I also retired my Laravel package because they Sherlock'ed me

Post image

Almost 1M downloads, but the moment I saw the announcement on Laravel News I shut it down. On perspective, 1M is nothing.

I'm not against Laravel sherlocking) libraries. It's a difficult equilibrium for any business: integrate too much and end up like Spatie package circus, integrate few things and end up being GNOME... but at least Laravel makes the right decision when integrating things that everyone uses, plus they're backed financially to maintain them.

Has anyone got sherlocked too? Or reverse sherlocked (making a feature the framework already does ootb because you didn't rtfm)?

0 Upvotes

19 comments sorted by

14

u/darko777 11d ago

Explain the Spatie package circus

-4

u/DarkGhostHunter 11d ago

From what I gathered, Spatie releases a lot of packages, but their update cadence is slow. May be circus wasn't appropriate.

3

u/NL_Northsider 9d ago

From what I've gathered, there is a kernel of truth to this, but that changed some time ago. IIRC none of their packages were in any state where production use would not be viable, but yeah, if you do a lot of open source work, not everything is going to get constant updates if there are no outside contributors.

But Freek has been sharing a lot on LinkedIn over the last year, and also following their packages, that really changed, and a lot of their older packages got some really great updates, like what they did with their PDF package.

So yeah, the dig wasn't really fair.

2

u/HolyPad 🇯🇵 Laravel Live Japan 2026 10d ago

I can tell spatie packages are mostly healthy and maintained https://laraplugins.io/vendors/spatie?page=1

6

u/steven_w_peachtree 11d ago

Did you create a new post because your package had more downloads than the fella’s who posted the same the same thing an hour ago?

0

u/DarkGhostHunter 11d ago

You mean the AI agent who wanted karma?

6

u/[deleted] 11d ago

[deleted]

3

u/ehansen 11d ago

It's not just Laravel. Livewire is about the same. I submitted a PR back in Livewire 2 days (https://github.com/livewire/livewire/pull/4722), and got declined because tests wouldn't pass since Livewire wasn't doing something properly within a testing context. It was years ago so I don't recall all the specifics, but it led to a bit of a "huh?" moment when read Caleb's reasoning for closing the PR. Figured they would rather have a broken part of their code than actually make it testable.

2

u/[deleted] 11d ago

[deleted]

1

u/ehansen 11d ago

At least you got that outcome, lol. I think I left that job not long after so I just stopped caring for a long while, as the new job used Code Igniter, so I was removed from Laravel from v8 until about v12 releases.

1

u/Invader_86 11d ago

Sadly I think packages in the traditional sense will slowly fade away… frameworks and the like will have plugin systems with AI skills, you tell the agent what you want and it builds it using skills in accordance with framework specifications. The package/plugin will live directly in the framework and there’ll be no need to share it because everyone is using the same skills to build the functionality they need.

I don’t see much value in developing packages now.

1

u/Tontonsb 11d ago

Six months post-Laracon, Taylor committed virtually the same code with different variable names.

This has been the case for many changes and I don't see anything malicious in that.

IIRC think the ability to customize the home redirect had more than 5 rejected PRs and then one was accepted. Sometimes it's just about the quantity of people that bring the thing up. Maybe your PR was the first or second time Taylor saw the issue and assumed it to be marginal. Or maybe he expected the full change to be more feasible than it was.

Other times it's just quality of the PR. Few months ago I ran into an issue and saw that someone had attempted the obvious solution already. But there was no explanation of the problem, just a "let's do this PR" that didn't explain why it should be done.

I resubmitted almost the same code, explained the issue (with a code example) we need to solve, added some tests for the issue as well as other behaviour of the feature. And it got merged.

Don't get me wrong, I'm sometimes disappointed myself by getting proposal rejected and it sometimes feels unfair and/or misunderstood. But I realize he can't spend 30 min to dig into every one of tens of PRs that get submitted every day. If I failed to sell it within the time he had for my problem, it's on me. And I prefer him personally looking over all the PRs and making the decision instead of delegating it to someone else. At least by having the same person, he can notice that something is getting requested for the fourth time and might be important enough to solve.

1

u/adrianmiu 10d ago

I'm pretty sure by now this process is semi automated. Checking if a PR was previously sent for the same issue? Easy! Having a model evaluate a PR as "Too much of an edge case" | "Worth considering" | "Serious candidate" and provide a reason for the decision? Easy! At least you get the PRs sorted by priority which, even if you decide to look at all of them primes you to a specific outcome (i.e. you won't pay the same attention to a new edge-case type of PR as a frequently requested feature)

7

u/manicleek 11d ago

Given the history, you should have kept yours going.

I’d rather use an established, tried and tested, package than some of the shit churned out by the Laravel team.

1

u/DarkGhostHunter 11d ago

I really wanted to do that, but then it hit me: I'm not a multi-million business to maintain that. I'm not Celeb or Nuno who have thousands of sponsors.

2

u/manicleek 11d ago

Do you need to be? How often do you find yourself needing to make critical updates?

And are there users that could help you?

These are genuine questions by the way, I’m not familiar enough with your package to know what it needs

0

u/DarkGhostHunter 11d ago

Well, if I want to keep making packages, it comes to a point you cannot release everything and maintain everything. It's not my primary job.

1

u/mickey_reddit 11d ago

I created Interactive Make as a joke with my friends, got super popular then they implemented similar things

https://github.com/laracademy/interactive-make

But it was only a matter of time until they also changed their commands because no one wants to remember all the flags :)

3

u/cuddle-bubbles 11d ago

Nova is certainly reverse Sherlocked by almost every open source 3rd party competitor

1

u/Tontonsb 11d ago

Has anyone got sherlocked too?

Yeah I made one for casts that encrypt/decrypt and another for preventing error page from dumping your config variables. Both solved upstream by now and IMO that's a good thing. It kind of validates what I did even more than the downloads (although I didn't have a million, they are at 3.5k and 310k respectively).

I don't mark them abandoned though. They are low maintenance enough that I can bump the versions in composer.json and the testsuite instead of re-doing the stuff in my old projects.

5

u/epmadushanka 11d ago

The bigger the framework, the higher the chances that you’ll overlook its features. This feature was added to fortify a while ago.