There has been a lot of drama and press around it lately, but which does it really deserve?
“The League of Extraordinary Packages” is what I have dubbed a collective of composer packages. Its essentially a group of developers who have gathered under a single flag (or in this case a vendor name) and set standards for the packages that live there.
Why does this even matter? Well for one Packagist (the repository that indexes all libraries known to Composer) is an open repository, this means that it is wide open for anyone to join, from the best packages to the most ridiculous ones. Quality control is not one of its roles and quality checking is on average 2-3 clicks per package away.
In Packagist, Quality control (or quality information), basically means going to the package homepage and looking at its *github bling*, those developer badges we see everywhere, then diving into scrutinizer, travis, etc. Hence, click on the package, click on the link, click on badge. This is something I believe the listing should handle better.
For these reasons a curated list of packages, whomever it is that is curating it, is an interesting resource to have, adding credibility to packages and making your life easier when you are searching for that one tool.
Lots of its bad press comes based on the name, which is wrongly interpreted as a pompous attempt at superiority by Phil Sturgeon, while it is quite simply a funny reference and a fun name. Also its the joint effort of many other fine authors and amazing PHP developers, not just him.
Also, can we stop throwing knifes at everything Phil does? Sure he has his moments, we all do, but he does good stuff also, give him a break.
So these are a few reasons I like this effort:
- Imposed Quality, Curated List: The League has its own set of rules and internal standards, this means all their packages are at a certain quality point, this makes it easier for you to judge a package’s quality and pick the right one.
Reduced author fragility: since the authors of packages join the league, they receive a lot more contribution and guidance from the existing pool of authors. This helps them keep the package up to date, but it also offer a possible pool of people who can take over if the original author has to step away. The internal pulse-check also helps catch inactive packages a lot faster.
Extended reach: as an author its not really easy for everyone to find your package. Packagist’s ordering makes it very easy to re-use the same packages over and over and not find the new ones. With the league you get a lots more attention coming from another source. This means you can reach more people with your package and bootstrap it.
Reduced duplication: while we cannot stop duplication on Packagist (of function and much less of vendor and package names), at least inside the League we can rely on having on a single one of each package. In the long run this helps guide developers to work together and not isolate themselves in their own package.
I really enjoy the work being done by The League, or The PHPLeague, or Pleague as I prefer to call it. I think it has provided us with some very good packages and given us all something to strive for. Maybe more collectives is what we need.
Go check them out and give their packages a whirl.
Update: I wrote this a few weeks back, and today as I publish this, I’m very happy to see the League enroll into FIG via its representative Kayla Daniels. This gives me one more point I like about it:
- Operates as a Single Project: this means this group of people work as a unit and discuss all these internally as a team. This is a great reason to join, simply for the learning aspect, but it also brings a lot more quality to their internal ecosystem.