Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Open Source PHP Programming

Addressing 'Bus Factor', PHP Gets a Foundation (thenewstack.io) 69

How many members of your team are so irreplaceable that if they were hit by a bus, your project would grind to a halt?

For PHP, that number is: two. (According to a post by PHP contributor Joe Watkins earlier this year that's now being cited in Mike Melanson's "This Week in Programming" column.) "Maybe as few as two people would have to wake up this morning and decide they want to do something different with their lives in order for the PHP project to lack the expertise and resources to move it forward in its current form, and at current pace," Watkins wrote at the time, naming Dmitry Stogov and Nikita Popov as those two. Well, last week, Nikita Popov was thankfully not hit by a bus, but he did decide to move on from his role with PHP to instead focus his activities on LLVM.

Also thankfully, Watkins' article earlier this year opened some eyes to the situation at hand and, as he writes in a follow-up article this week, JetBrains (Popov's employer) reached out to him at the time regarding starting a PHP Foundation. This week, with Popov's departure, the PHP Foundation was officially launched with the goal of funding part/full-time developers to work on the PHP core in 2022. At launch, the PHP Foundation will count 10 companies — Automattic, Laravel, Acquia, Zend, Private Packagist, Symfony, Craft CMS, Tideways, PrestaShop, and JetBrains — among its backers, with an expectation to raise $300,000 per year, and with JetBrains contributing $100,000 annually. Alongside that, the foundation is being launched using foundation-as-a-service provider Open Collective, and just under 700 contributors have already raised more than $40,000 for the foundation.

One of the key benefits to creating a foundation, rather than sticking with the status quo, goes beyond increasing the bus factor — it diversifies the influences on PHP. Watkins points out that, for much of the history of PHP, Zend, the employer of Dmitry Stogov, has been a primary financial backer, and as such has had some amount of influence on the language's direction. Similarly, JetBrains had increased influence during its time employing Popov on PHP."To say they have not influenced the direction of the language as a whole would just not be true...." While Watkins says that everything has been above board and gone through standard processes to ensure so, influence is nonetheless indisputable, and that "The Foundation represents a new way to push the language forward..."

The current RFC process, JetBrains writes, "will not change, and language decisions will always be left to the PHP Internals community."

And in addition, Watkins adds, "It provides us the mechanism by which to raise the bus factor, so that we never face the problems we face today, and have faced in the past."
This discussion has been archived. No new comments can be posted.

Addressing 'Bus Factor', PHP Gets a Foundation

Comments Filter:
  • by Anonymous Coward

    Diversity is a tool, not a goal. Splitting it up for big picture conceptual reasons is a sure way to madness.

                https://xkcd.com/1406/ [xkcd.com]

  • by Canberra1 ( 3475749 ) on Sunday November 28, 2021 @02:47AM (#62027207)
    It's called succession planning. It costs money to have successors in the wings willing to fill any holes. Therefore big business refuses to 'waste' resources having and grooming talent to take over THEIR jobs. HR assures management that replacements can be found - and it only takes a few months to get up to speed. The real issue is passionate people are being squeezed to hard by very real living costs and rent, so have to jump ship.
    • Also takes management to force certain things to happen, and then ensure that they do happen - like the creation of documentation.

      For example, at work our stack for their two areas is almost all in a old IBM language that should've been phased out 15 years ago. I have two coworkers who are in phased retirement (they *will* be gone in 2-3 years, but could call Monday and say "buh-bye") who are the primary and pretty much sole base of knowledge of two major systems. They both have helpers, but they don't sh

  • PHASP (Score:2, Insightful)

    PHP is just the open source ASP. A shitty language when there are several better options. This will change nothing.
  • by nagora ( 177841 ) on Sunday November 28, 2021 @04:14AM (#62027299)

    If the team were wiped out then they might be replaced by people who know what a mature language is and stop adding more and more kitchen sinks to the damn thing every six months.

    Python has the same problem - once you have people who work on a language as a source of income then, well, they find work to do and downstream has to handle the treadmill of constant updates that have side effects way beyond security patching or whatever.

  • Grumpy old man? (Score:2, Insightful)

    by bradley13 ( 1118935 )

    Ok, maybe I'm a grumpy old man, but... I find the continual development of programming languages to be a *bad* thing. Sure, you have to fix bugs. Your compiler/interpreter needs to know about new processors. But continually adding feature after feature after feature? No. Just no.

    Look at Java. It was once a fine, reasonably compact language. The amount of cruft that has been added to it in the last several years - trying to make the language be everything to everyone - is just nuts. Just to name one exampl

    • Re: (Score:2, Troll)

      > PHP is no different. It was once a decent language.

      PHP was NEVER decent. It was designed by an idiot. The original hash function was strlen() [php.net]?!?!?! You can't make stupid shit like this up:

      Back when PHP had less than 100 functions and the
      function hashing mechanism was strlen(). In order to get a nice hash
      distribution of function names across the various function name lengths
      names were picked specifically to make them fit into a specific length
      bucket.

      • The hash function wasn't strlen, the internal function used to determine which memory bucket to place a function in was strlen in order to quickly search for the function. At the time a true hash was overkill and slower.

        • the internal function used to determine which memory bucket to place a function in was strlen in order to quickly search for the function.

          In the context of a hash table, the function that does this is called a hash function. The only requirements on this function are that it execute quickly and give a relatively uniform distribution of items into buckets. That's it.

          At the time a true hash was overkill and slower.

          If you're thinking of cryptographic hash functions, this is not a good application. The goal of the kinds of hash functions used in hash tables is to be as fast as possible while attaining a relatively uniform distribution of random inputs to hash code outputs.

          Finally, since all in

      • This is incredible. Thanks for sharing. That solution is clever in some sense but is a bit lazy and clearly lacks foresight.
      • It was designed by one person who thought it will be useful for him. He may not have been a genius, he may not have the time or resources to plan out whats the future of the language. He needed something for himself, and he made it.

        It just so happened that many others thought that PHP was useful for themselves as well. And although it was not planned out properly as a language, once it started to take off, it can't just depreciate functions overnight without pissing off alot of people.

      • by epine ( 68316 )

        Some people hate the ternary operator in C/C++. If the enemy of your enemy is your friend, then these people can welcome themselves to the PHP fan club for life.

        In a sane language:

        a = cond0 ? value0
        : cond1 ? value 1
        : cond2 ? value 2
        : value3;

        Lemme translate that for the anti-ternary bigots:

        T my_data_switch (T x,
        bool cond0, bool cond1, bool cond2,
        T value0, T value1, T value2, T value3) {
        switch (max3(cond0

    • by dargaud ( 518470 )
      I completely agree with you and that's the main reason why I dropped C++ in the '90s: it kept (and still keeps!) adding every newer paradigm on the market. You could write the same program in C++ 10 different ways that are mutually unintelligible to each other programmer. BTW, that's also why I couldn't stand Perl, from their catchphrase "There's more than one way to do it". No, just no, just gimme a language with only one way to do it, so you are sure to be able to read and understand what the other guy wr
    • Comment removed based on user account deletion
      • by narcc ( 412956 )

        There are real ways to criticize PHP. That wasn't it. Do in no small part to it being totally wrong.

        Maybe you should learn a bit about the language before criticizing it?

  • As a part time techie, Christmas is the proper time to recognize the signs pointing to a festive holiday season

  • I'd rather write in Perl. Or Fortran. The only thing worse the PHP is Python.

    • What's bad about Fortran? I'm asking as someone fond of numerical computing.
    • by narcc ( 412956 )

      I've said it before, Python is destined to be the PHP of the future. Completely misunderstood, heavily criticized.

      At least Python is actually horribly designed.

  • So I am not fond of PHP devs or most products built upon PHP, but perhaps we are lucky they exist? A certain amount of companies are going to do shit work. They're going to want 2 years of work, but only pay for 2 months. They're going to pay their devs $15/hour and tell them they're lucky for the opportunity.

    For most of the internet's history, this has been PHP's domain. When you're a scrambling amateurish unit: PHP. Once you get a budget and a clue, you graduate to something better.

    There's a
  • I've seen massive fuckups happen IRL because the one person who has the only key, or authorization to do something is "out sick".

    You never want to rely on only one person for anuthing. It's common sense, but the terminal stupidity is baked into our society.

    Remember a few years back when a cryptoloon died and ended up taking the only password to a Bitcoin wallet worth millions of dollars to hell with him? And people could not get access to their bitcoin stored in that wallet?

    • Digital-asset exchange Quadriga CX has a $200 million problem with no
      obvious solution -- just the latest cautionary tale in the unregulated world
      of cryptocurrencies.

      The online startup can't retrieve about $145 million (C$190 million) in
      Bitcoin, Litecoin, Ether and other digital tokens held for its customers,
      according to court documents filed Jan. 31 in Halifax, Nova Scotia. Nor can
      Vancouver-based Quadriga CX pay the C$70 million in cash they're owed.

      Access to Quadriga CX's digital "wallets" -- an applicatio

  • His first job should be to update the website [llvm.org] so it doesn't look like it's from 1991.

Those who do things in a noble spirit of self-sacrifice are to be avoided at all costs. -- N. Alexander.

Working...