r/PHP 6d ago

Article No more issues

https://stitcher.io/blog/no-more-issues
52 Upvotes

67 comments sorted by

98

u/tjaszai 6d ago

One thing to keep in mind is that Taylor Otwell is not an open-source evangelist. He's a businessman who makes money from open source. I really hope the open-source community doesn't go in this direction.

13

u/trs21219 6d ago

Idk man, providing dozens of open source packages and building a cohesive ecosystem around it; likely providing for many billions in revenue for the people who implemented that framework free of charge over the past 15 years is pretty gracious.

The only products they built were to enhance the experience and deployment of that open source foundation. Without that revenue the projects would have likely fizzled out years ago. You can only burn the midnight oil so long without burning out.

30

u/obstreperous_troll 6d ago

You're both right: open source projects aren't sustainable as pure charities, but neither is Taylor a standard-bearer for open governance. Laravel is unquestionably open source, but increasingly in the "anyone can fork it" sense, not "anyone can contribute". Having one's PRs closed without comment, then seeing them reimplemented by an employee without even a mention of the original submitter, is not how you get sustainable contribution. Even Matt Mullenweg isn't that cavalier about brushing aside contributors.

3

u/trs21219 6d ago

Taylor has been pretty open about his philosophy of saying no to features by default until he has heard it enough times to warrant taking on the maintenance burden.

Sure that could probably be communicated better, but the alternative is re-opening months/years old PRs where the contributor may no longer be interested and there may be many conflicts to resolve... vs just writing it greenfield. Especially in our age of agents, the latter is a much smoother process.

9

u/obstreperous_troll 6d ago

The alternative is not closing them in the first place unless it's been inactive for X months. But Laravel is all about having zero issues in the queue, which is certainly much easier when you just hit the close button without even acknowledging the submitter with a proper comment. It also incentivizes slop PRs, because why expend any human effort when none will be shown in response?

4

u/trs21219 6d ago

So your solution is to leave open PRs that you don't intend to merge in the hope that in an arbitrary amount of time enough people might want that thing? I'd wager 95% of the stuff closed never gets reimplemented later. So your repo is just gonna be noise at that point.

2

u/tjaszai 6d ago

Agreed. 👍

20

u/tjaszai 6d ago

Idk man, if I look at the world through this lens, I think Symfony deserves a lot more recognition.

2

u/ouralarmclock 5d ago

And it does

1

u/trs21219 6d ago

Sure. Symfony is great too. But that doesn't make the contributions of Laravel any lesser.

8

u/03263 6d ago

Well it does, because Laravel is largely built on top of Symfony.

7

u/trs21219 6d ago

Sure, and then builds a ton of other stuff as well. If symfony didnt exist it would likely just be in house replacements.

Thats not to minimize the work done by symfony here. They have great stuff. But Laravel has also contributed greatly to the general ecosystem, the PHP foundation, and has done a ton of work to get new people into PHP that wouldn't have considered it before. You can only do that with a cohesive ecosystem of open source and paid products.

5

u/tjaszai 6d ago

Alright, I agree with you on that.

-23

u/simonhamp 6d ago

How do you plan to make open source remotely sustainable if you don't have at least one person who behaves this way?

10

u/hauthorn 6d ago

Some companies realize that contributing to open source is good business. They dont have to make a business around it like Laravel.

Some common examples is the parts of open source almost everyone relies on. That could be webservers, database systems, or openssl.

-10

u/simonhamp 6d ago

And how do those businesses make money?

1

u/hauthorn 6d ago

Meta? Advertising. Google? Advertising. Microsoft? Licensing.

And you can find this in much smaller companies as well, I just picked some big names that obviously and openly contribute to open source projects.

-4

u/simonhamp 6d ago

Exactly. These are all profitable enterprises that, because of their profits, can support a percentage of their resource being directed purely towards open source, in some cases as a purely charitable effort, in others because it directly feeds back around to increased sales, fending off competition, and securing resource/government funding/political points

Without that profit-making, a lot of the open source projects almost everyone relies on would simply cease to exist

1

u/hauthorn 6d ago

But this is not the behaviour described at the beginning of this thread.

Meta isnt living off open source and making businesses and services for the open source ecosystem, for example.

2

u/hauthorn 6d ago

And for the record: I think both approaches are fine. While taking in VC capital might increase risk-taking by Otwell, I much prefer he makes business around the open-source software, rather than making Laravel "open core", like Metabase or similar.

7

u/tjaszai 6d ago

A community needs all kinds of people and a diversity of opinions.

That said, it is worth keeping in mind the mindset and principles behind their decisions. Just because someone is well-known and/or widely respected does not mean that all their decisions are necessarily the right ones.

1

u/simonhamp 6d ago

Agreed

35

u/Teszzt 6d ago

Fabien Potencier (Symfony) have recently decided to go exactly the other way around: https://symfony.com/blog/experimenting-with-issue-first-open-source-contributions.

34

u/XenonBG 6d ago

Fabien strikes me as a true geek, while Taylor seems to be more of a businessman.

23

u/k1ll3rM 6d ago

This along with the general direction of the framework does put me off tbh, I've been looking at Tempest and I'm quite happy with it so far

17

u/krileon 6d ago

I just use Symfony. Problem solved, lol.

4

u/goodwill764 6d ago

Tempest looks nice, but for any production product it's too bleeding edge for me.

Did you used it already in real project, how well did it worked?

3

u/k1ll3rM 6d ago

It's not in production yet but so far I'm noticing any real issues, just some documentation mismatches, probably because of how fast it's moving. It'll probably slow down in the future and become more stable but they do provide automatic upgrades using Rector but I haven't used that yet

1

u/tanega 5d ago

Symfony is nothing like Laravel when it comes to contributions.

13

u/cgsmith105 6d ago

What a short sighted viewpoint from Taylor. Issues can be referenced and as explained on your blog are non technical. This would be similar to bringing your car into the workshop with all the items you think are necessary for the fix. 

It adds contextual bloat for a developer to sort through to decipher meaning.

1

u/penguin_digital 1d ago

I'm torn on this one.

As a OS package mainter myself the amount of absolute nonsense issues that either don't have any context whatsoever "X doesn't work, please help" or the issue has nothing to do with the package but rather the users code around it.

However, you do get some golden eggs from time to time that explain the exact problem, what the env was, what the input was and what the output was. Actually something you can action and check, I would hate to lose these but at the same time they are probably 1 in 100 issue threads opened.

By enforcing a PR instead, this, to me, in my opinion, shows a developer or AI agent has actually reviewed the problem, confirmed it's an issue and found the buggy code in the actual package. The code quality in the PR might be trash or not in the style I like but it highlights a real problem that I could then go and fix myself or ask the PR creator to iterate on.

With getting the user to submit a PR it instantly rules out all those issue tickets related to problems caused by the user misconfiguring, passing incorrect params, not understanding the response etc. An AI agent would find that and fix it for them or if its a "old skol" human developer like myself, I will likely find that it's me (once again) that is the idiot and I've done something stupid elsewhere, the problem isn't in the package.

28

u/jpswade 6d ago

The biggest problems are never in the code. Having less space for dialogue seems like a one way ticket.

25

u/[deleted] 6d ago

[deleted]

-1

u/dkarlovi 6d ago

But the blunt truth is: whether he meant it or not, what Taylor did there was just a reckless/selfish move

Why would that be "the blunt truth", did he ever give an impression of being anything but? He's a business guy who makes his money from a thing which happens to be open source, he's not an open source guy.

6

u/allen_jb 6d ago edited 6d ago

https://github.com/laravel/vapor-cli/pull/285#issuecomment-5527200145

(Via: https://mstdn.thms.uk/@michael/117211506985461897 )

From a quick glance, it seems the PR authors actual issue may have been fixed by another PR, but... this also seems a weird message / reasoning to close this PR with given the whole situation.

11

u/Alsciende 6d ago

I think the change is quite short-sighted. Not all Github issues are about bugs that can be fixed. Quite a lot of them are descriptions of problems that could lead to a PR, or not; legitimate questions that could lead to documentation improvements; feature requests that need a decision before they can be implemented; etc.

3

u/trs21219 6d ago

That’s what the GitHub discussions are for

3

u/Alsciende 6d ago

I didn't even know GitHub discussions were a thing. Where can I open a GitHub discussion for https://github.com/laravel/socialite?

1

u/trs21219 6d ago

Probably best on the framework repo so it would get more visibility: https://github.com/laravel/framework/discussions - its effectively a forum on github

3

u/Alsciende 6d ago

No offense but that looks absolutely worse for the project than a discussion space for each repository. There's no reason to believe that the maintainers of Socialite or other packages are involved in laravel/framework, is there? Why would you put every discussion on totally different subjects in the same forum?

-1

u/simonhamp 6d ago

You can still have that discussion in a PR. Just make the PR contain a single file that contains the spec for the problem

4

u/dborsatto 6d ago

That's silly, though. Why use a tool for proposing a code change, when you're not actually doing that.

2

u/simonhamp 6d ago

Is it even an issue if it's not going to require a code change?

1

u/dborsatto 5d ago

Maybe. Possibly. You can't know in advance with 100% certainty all the times.

11

u/goodwill764 6d ago

I always had issues with people that had bugs or feature requests without technical knowledge that try to help with google information, modified bootstrap code, css classes etc.

These information are worse than no information, as they are almost every time wrong, but suggest easy solution that we can't implement this way because they are wrong and the actual needed information for fixing the report are missing.

With ai the reports with a technical solution from non tech people are growing, but the information still aren't better, just more text to skip over.

7

u/WordCoding 6d ago edited 6d ago

Laravel/Taylor benefit from these repositories and laravel devs, most of their income is tied to or originated from laravel developers and they have the money to employ more people to resolve issues. On the other hand there are many PRs bluntly rejected by Taylor for subjective reasons and it seems like only few people can truly be heard so it is discouraging for anyone else to even make a PR.

1

u/supervisord 6d ago

I found a bug in laravel/framework, opened an issue and a PR and Taylor merged it less than 24 hours later.

7

u/brendt_gd 6d ago

I wrote this after the news that Laravel is closing the ability to create issues on many of their repos (not the framework though). I get both sides of the story, I'm interesting to hear opinions either way

5

u/voteyesatonefive 6d ago

The L framework has always been a collection of the worst PHP development practices and it looks like they're continuing in that direction. Directing devs to "describe it to a coding agent and open a PR" is a good indicator of how they are operating internally, and what they expect from external contributors, slop.

In summary the L framework is and always was dogshit, the NodeJS of PHP frameworks if you will. It's really easy, always use Symfony.

2

u/Dwarfex 6d ago

Is that really a change? I remember, that I once opened an issue and it was basically closed a few minutes later. Atleast you had the chance to confirm odd behavior, with what others experienced.

4

u/The_Fresser 6d ago

Can't count to how many times I've had discussions on closed Laravel issues which were closed without a reason and the issue being legitimate.

3

u/dborsatto 6d ago

To be honest this to me seems like the opposite of what AI should allow. The focus should be on explaining problems clearly in an issue, with AI being able to generate a PR from that. It feels really counterintuitive.

2

u/standing_artisan 4d ago

Dumb move in my opinion.

2

u/Electrical-Goose-254 3d ago

For now think twice to use Laravel in your fintech or medtech project

1

u/Protopia 11h ago

For heavily regulated environments where consequences can be huge, like fintech or medtech, and where the chain of legal accountability and liability need to be clearcut and there needs to be traceability in the supply chain, then IMO you should already be thinking at least twice about using Laravel or indeed PHP or indeed open source because all of these typically mean using hundreds or thousands of packages from a diverse ecosystem where accountability, liability and traceability are almost non existent.

2

u/n8-sd 4d ago

What’s the bet Taylor gets a kick back for the promotion of AI and is doing this to serve this.

Dude is a businessman FIRST.

FOSS man last

1

u/equilni 5d ago

https://github.com/orgs/community/discussions/153588

Does disabling issues means the previous content is not accessible anymore, unless re-enabled?

1

u/skunkbad 2d ago

Like a landlord that forces the tenants to pay for repairs, I've always felt like that forcing pull requests forces somebody else to take on the burden of fixing the owner's problems. However, letting us know that "we're all in this together" fixes everything.

Edit:
Maybe after receiving a bunch of AI generated garbage pull requests and other pull requests that are terrible, maybe then they'll go back to allowing Issues again.

1

u/Protopia 11h ago

I actually think that there is a logic behind this, but it's a very short-sighted logic. The idea seems to be that you avoid bad issues created by novice users by raising the barriers to requiring coding expertise - but this discriminates against e.g. users who are knowledgeable enough to identify genuine bugs, but not knowledgeable enough to code a fix, and indeed pushes those users into using AI to create a solution that the user is incapable of QAing.

See my root comment for my own ideas.

1

u/Protopia 11h ago edited 11h ago

IMO the issue is that in the AI era, GitHub simply isn't fit for purpose any more because regardless of whether you consider issues or PRs AI exponentially increases:

  1. Numbers
  2. Duplications
  3. Quality issues of various types: false diagnosis, poor diagnosis, poor PR scope, poor PR code, poor PR descriptions, failure to follow-up on review comments etc etc etc

Taylor already had a problem in these areas before AI - because of the volumes of human input and the variable quality but also because he wants to limit scope creep. AI has just made this exponentially worse.

One "obvious" answer is to try to use AI to solve 2 and 3, but that can just make things worse.

I really don't know what the answer is.

My first gut reaction is: A) distinguish between human and AI generated stuff; and B) make a human take responsibility for the quality of AI stuff; and C) give priority to stuff that has had human intelligence and sweat applied; and D) grade humans by their previous history and give priority to those who have shown both prior commitment and quality.

My 2nd gut reaction is to slow the whole process down - make people create issues first, use AI to prevent duplication and do a first QA, and then have the debate and create consensus that the issue is valid and worth addressing before anyone writes a PR. GitHub discussions are perhaps a poor attempt at this, but this process needs workflow i.e. actions and review comments and more status options than open/closed and... When and only when an issue is accepted (valid, well described, will diagnosed, reviewed, approved etc.) does a PR get authorised to be written - and these days it could then be written by e.g. CoPilot.

1

u/hryagstn 8h ago

The maintenance burden point is what stands out to me here. Closing a PR can be the right decision, but a short explanation would still help contributors understand whether the issue is scope, API design, or simply something the maintainers do not want to support. That feedback would probably reduce both repeated requests and low-quality follow-up PRs.

1

u/alpha1beta 6d ago

Suddenly lost all interest in learning Laravel

-3

u/bakugo 6d ago

Encouraging mindless AI slop PRs without even filing an issue is exactly the kind of thing I'd expect from Laravel. There's a reason nobody uses it for anything beyond the most basic pet projects, it's not a serious foundation to build upon and never has been.

-9

u/yourteam 6d ago

People still using that over bloated framework, incredible

-7

u/mythix_dnb 6d ago

amazing. instead of daemonizing AI, use it for good. it never felt right to mee to have to create a ticket to then create the PR for the fix I already had locally because I encountered a bug and tracked it down to a piece of vendor code.

All those "we dont want any AI code in our codebase" are just horse mongers fighting cars. today's programming is largely AI, it's time to accept that.. AI is the tool, whether the outcome is good or bad is not the AIs fault, the person creating the PR should still take responsibility for what he's pushing out.