To some degree, it was poor project management on Purism’s part to believe that they could create the proc+phosh interface in six months and to believe that the phone could be delivered in 17 months. At an initial crowdfunding target of $1.5 million, Purism did vastly underestimate the total cost of producing the Librem 5 phone. 4 years after the crowdfunding started, Purism has only managed to ship 2500 Evergreens, so from that perspective, the company deserves criticism.
However, companies with far more experience and resources than Purism have failed to develop software projects on time and have gone way over budget. I worked in a software company which made a projection that it would take 12 - 18 months to release the next version of its software, and it ended up taking 3.5 years. Microsoft was the biggest software company in the world in the 2000s, yet Windows Vista arrived two years late (2005->2007). Nokia was the biggest phone maker in the world in 2009, when it started losing market share to Android and it knew that it had to make MeeGo or Symbian into an Android competitor, yet it took two years to get MeeGo to its first release, which led it to adopting Windows Mobile and destroying the company.
If you look at the history of mobile Linux, what you will find is business failure after business failure. Since the first Linux phone in Feb. 2003, there have been at least 20 attempts at commercial mobile Linux that actually made it to market, but then failed, and there were many more that never made it to market like Poky Linux and Wind River. I should add a few more to that list, since Tizen is effectively dead now that Samsung is switching its watches to Android and webOS is only being installed in a few LG TV models. I don’t think there is a single phone manufacturer currently selling Sailfish OS preinstalled (although jolla-devices.com is an aftermarket seller of Xperias).
When you consider the fact that large companies like Motorola, Wind River, MonteVista, FIC/OpenMoko, Nokia, Palm->HP, Samsung, Intel, Nokia, Mozilla and Canonical all failed at mobile Linux, the fact that Purism is still selling the L5 and paying for the development of mobile Linux is frankly a minor miracle.
Yes, there is plenty to criticize over the last 4 years, but we have to keep in mind that Purism isn’t just shipping a phone, but developing mobile Linux. In my opinion, the L5 campaign has done poorly in terms of shipping hardware and it has been a mixed bag in terms of supporting the hardware in the phone, but it has been pretty successful in creating a new Linux mobile environment that is sustainable and easy to maintain. See my blog post on the strategic advantages of Phosh.
Having looked at Plasma Mobile and Ubuntu Touch, I am convinced that Phosh has the best chance of all the mobile Linux environments of actually reaching mainstream users, and considering that roughly 60% of desktop Linux users use a GTK-based environment (GNOME, XFCE, Mate, Cinnamon, etc.), Purism’s work to make GTK/GNOME software adaptive and touch-friendly with libhandy/libadwaita is extremely important to all Linux users.
The modern hardware industry doesn’t work that way and frankly it would have been bad project management for Purism to buy all the components back in 2017 or even in Nov. 2020 when it started to ship Evergreen. At that point, Purism didn’t have a finalized design that had passed FCC regulations, and it wasn’t until Q2 2021 when we were already in the midst of a global chip shortage when many of the critical components (cameras, smartcard reader, video out, GNSS and sensors) had been tested enough to know that the design was good. There was no point in buying chips in bulk until the company had validated the design. You can criticize the company for shipping Evergreen before it was truly ready for mass production, but I think Purism made the right choice at that point to only produce small batches, since the phone hadn’t been fully tested. I suspect that Purism in Nov. 2020 also didn’t have enough funds on hand, which is why it released the phone before it was ready in order to try to stimulate more orders.
At any rate, the i.MX 8M Quad processor currently has two outstanding silicon bugs in power management:
e11174: CA53: Cannot enter WAIT mode
Description: CA53 platform cannot enter WAIT mode if there is a pending interrupt. If the chip enters WAIT(WFI) mode, the chip requires a reboot to recover.
Workaround: No workarounds. SW should not use WAIT mode.
Impact: This mode turns off the power to the SCU (Snoop Control Unit) and the L2 cache. Not having this mode affects only 1 mode of core power savings.
e11171: CA53: Cannot support single-core runtime wakeup
Description: According to the GIC500 specification and the Arm Trusted Firmware design, when a CPU core enters the deepest CPU idle state (power-down), it must disable the GIC500 CPU interface and set the Redistributor register to indicate that this CPU is in sleep state. In such case, if the CPU core is in WFI or power-down with CPU interface disabled, another core cannot wake-up the powered-down core using SGI interrupt.
Workaround: One workaround is to use another A53 core for the IRQ0 which is controlled by the IOMUXGPR to generate an external interrupt to wake-up the powered-down core.The SW workaround is implemented into default BSP release. The workaround commit tag is “MLK-16804-04 driver: irqchip: Add IPI SW workaround for imx8mq".
It would have been a bad idea to stockpile the chip when these bugs might get fixed in the future by NXP. Also, the historical trend is that components get cheaper over time, so it would have been wrongheaded to stockpile components in Q4 2020 for expected manufacturing in mid-2021, when prices were expected to be cheaper, and Purism would also have to pay the cost of storing all those components.
F(x)tec is hardly an example of a company that delivers on time or “bought everything up front” for manufacturing. First of all, F(x)tec started in Feb. 2017 as a crowdfunded project to create a physical keyboard mod for Moto Z phones. They never managed to ship the device, because it proved too difficult to source the parts with only 3k units, so they had to cancel it. Instead, F(x)tec announced in Sep. 2018 that they would make a new phone, the Pro1, with a physical keyboard. F(x)tec tried to convince the keyboard backers to accept vouchers to buy their Pro1 phone. The Pro1 was originally scheduled to ship in July 2019. It got delayed, but the company announced that it would start shipping in Nov. 2019. By Jan. 2020, F(x)tec managed to ship 70% of its pre-orders, but then the shipping stopped due to the global chip shortage. When F(x)tec announced the Pro1 X in Oct. 2020, it still hadn’t managed to ship 30% of the pre-orders for the Pro1, which provoked comments like this on reddit:
F(x)tec needs to get their shit together. This is a cool phone and all, but the specs combined with expected shipping time absolutely screw over anybody who’s still waiting for the original to ship.
The Pro1 X was originally scheduled to ship in Dec. 2020 with a Snapdragon 835. In February 2021, F(x)tec announced that it wouldn’t be able to ship until August 2021, because it was no longer able to get Snapdragon 835 processors, so it had to redesign the Pro1 X to use the Snapdragon 662, which has 30% lower CPU benchmarks than the Snapdragon 835. People who were still waiting for their Pro1 orders would get the Pro1 X instead with a weaker processor. The web site now says that the Pro1 X will ship in Nov. 2021, but the October update said that the phone still hadn’t obtained FCC/CE certification and the antennas had been changed.
The backers who preordered the keyboard in Feb. 2017 had to wait till Nov. 2020 to get a phone with a keyboard, and 30% of the people who preordered the Pro1 are still waiting for their phone 2 years later, so this is hardly a track record of success.
Planet Computers is also behind in shipping the Astro Slide, which was originally scheduled to ship in June 2021, but is looking like it will ship six months later in December.
PINE64 has a decent track record of shipping on time, but people who ordered the PinePhone UBports Community Edition were disgruntled that the phone shipped with a USB port which didn’t support data, so they had to buy a new board to fix the problem. People are still complaining about the fact that PINE64 won’t acknowledge that the screen backlight flicker is a bug and is refusing to change their design to fix it.