Project update 10 of 10
Several things in this update: the OpenPower Foundation released their EULA (which is really exciting); we had a last-minute decision to go to FOSDEM to meet NLNet (and meet lots of nice people including someone from the EU Commission); we have new team members helping out (and making really good progress).
Before we begin, however, we still have a high-priority task of finding a C++/compiler developer for the NLNet-funded 3D MESA Driver project. EUR 50,000 is available, tax-free: this thread describes the scope, where you’re pretty much at liberty to choose the approach that you’d like to take.
This is a big deal: the EULA for anyone wishing to create a Power ISA compatible processor, it’s been designed to be "libre-friendly." We will need to do a full review, and would appreciate feedback on it, via this bug report. A very quick read (like, right now): the really interesting bit is the combination of a royalty-free grant (as long as you are fully compliant with Power ISA) in combination with "if you initiate patent litigation, you lose all rights immediately." This provides an extremely strong disincentive for patent trolls to "try it on." It also actively encourages contributors to make sure that their work becomes an "official" part of Power, because that then gets them under the "umbrella" of protection as part of this EULA.
My only concern - long-term - is the warning about Custom Extensions potentially being incompatible. We remember the Altivec clash very well, citing it as a historic lesson of "How Not to Manage an ISA," because both Altivec’s vector extension and the one it clashed with became high-profile, public, commonly used extensions, and it damaged Power ISA’s entire reputation and viability as a result.
With our extensions being designed knowingly in advance to be high-profile, public, and commonly used, we absolutely have to submit them as "official" extensions, or to work with the Open Power Foundation to create an official "escape-sequence" namespace system (ISAMUX/ISANS). As mentioned previously: anyone familiar with C++, we need a hardware version of "using namespace," in its entirety.
First preliminary reading however, as Hugh kindly said privately to me, there’s really nothing controversial, here, and it actually looks really good and extremely well-designed. More on this on Phoronix
As mentioned on the list we received a message from Michiel that they were financially backing over 25 projects that were attending and giving talks at FOSDEM! They also let everyone know that the nice people from Brussels were going to be attending. At which point, I went, "ah" and scrambled like mad to make sure I was there, presenting a smiling face to ensure that the nice EU Commission people knew that their money was definitely being put to good use.
This actually turns out to be a serious problem for the EU. My friend Phil decided a few years ago to go along to one of these "Independent Grant Review" processes. He basically said that not only was the quality of the applications absolutely atrocious, but worse than that the people volunteering to do the review - ordinary people like solicitors, office managers, farmers - had precisely zero technical knowledge and couldn’t tell the difference between a good application, a bad application, or a deceptive application.
These problems only increase as EU grants get larger and more numerous, and it’s a serious systemic flaw with the whole EU Grant system when it comes to heavily-technical projects. Consequently, due to their high level of internal expertise and dedication, the EU is extremely happy that NLNet takes direct responsibility for ensuring that the money they’ve been given reaches people who release actual free software people to improve real-world infrastructure for the benefit of EU Citizens (and incidentally the rest of the world).
I had a brief chat with the person from the EU Commission. He was delighted to be able to see the sheer number of people involved and being sponsored by NLNet. I had an opportunity to express some of my concerns about NLNet’s relationship with the RISC-V Foundation. He initially expressed puzzlement, because the EU is funding quite a lot of RISC-V projects, and none of them had any issues. I asked him a very simple question: "how many of those projects are simply implementing existing RISC-V Standards?," and he replied, "all of them." I then asked, "how many of those projects are innovating, developing alternative extensions to what is dictated by the RISC-V Foundation?" With the answer being "none," that was the point at which he understood the extent of the problem. I’ll publish a more comprehensive update on this topic soon.
It was fantastic to meet Staf, and talk to him about the upcoming test chip he’ll be doing. He will be including an SR-Latch cell for us, because it saves such a vast number of gates in the dependency matrices if we use a D-flip-flop: 50,000 gates if we use an SR-Latch, and a quarter of a million if we use a DFF.
I met several other people, including one who can help us develop a board support package (BSP). Also, we got a chance to talk to several people with cross-over skillsets.
This alone was worth the time to go to FOSDEM this year. Now we have to make sure to plan properly in advance, to put in some papers at appropriate conferences. We really need to organise a proper conference where everyone meets up.
We created an about us page for members — if you’d like to help, check out the How can I help? section of the website.
We now have four new people who are contributing: Cole, Veera, Yehowshua, and Michael. Veera is a sysadmin and I would be delighted to get some help managing the server. In particular I would like to install public-inbox
but it requires exim4
and mailman
to be converted to Maildir
. This is the kind of thing that would be great to hand over to another sysadmin.
Cole just loves the idea of what we’re doing and wants to learn, so what I’ve asked him to do is simply to follow instructions and tutorials, and give us feedback on whether they’re clear. If not, that’s a problem that needs to be fixed — it’s precisely his lack of experience that is absolutely perfect for testing that.
Yehowshua — a friend of Michael — got in touch around the time of the last update, and he’s been helping find funding. As he is at Georgia Tech, he will be applying for the LAUNCH-X Programme, funded initially by my old boss, Chris Klaus. Chris has been really helpful here, and he’s really delighted to be able to help other Georgia Tech Alumni. Yehowshua has also been encouraging and helping with a redesign of the website CSS, and has been instrumental in a major rewrite of the wording.
Michael has just jumped straight in to the processor design. Yehowshua tells me he first met Michael as he was sitting in a cafe with an FPGA board attached to his laptop. He’s another of these extremely rare self-motivated, self-taught, "auto-learner" types who are worth their weight in gold. He’s currently helping with the Dynamic SIMD partitioner which we will need to do a special update about, at some point.
One particularly fascinating common theme between all of us turns out to be music, maths, and high-coordination sports. Yehowshua loves skate-boarding, and I love rollerblading, for example.
One very interesting thing came out of the contact with Georgia Tech’s CREATE-X Programme: we are looking to create a Public Benefit Corporation. More on this later, however it became clear to us that we need good "communicators" at least as much as need more "programmers," although we do still urgently need a C++ compiler type person for the MESA 3D Driver. We need entrepreneurs — especially undergraduates from Georgia Tech — willing to take on the responsibility for going out and finding, meeting, and talking to clients and customers, coming up with ideas, and giving us, as "engineers," the feedback we need to target the processor at an actual market.
The extra NLNet budgets are helping, as is the continued sponsorship from Purism. I am beginning to get slightly overloaded with the managerial and bureaucratic tasks, combined with the "Engineering" tasks that, as is always the case, require 100% sustained week-long focus. Making all these things compatible is a challenge.
I still have to coordinate the NLNet tasks for each of the Memoranda of Understanding, at which point people can then get paid for completing the associated tasks. I can’t quite get over the fact that NLNet was happy to allocate such a huge amount of money to this project, it’s amazing, humbling, and a huge responsibility.
Also, we got word that the 180 nm tape-outs (one in March 2020, one in October 2020) are actually subsidised. In addition, we have verbal informal confirmation that some proprietary cell libraries are about to be announced as being libre-licensed. This is particularly fascinating.
Right now, when it comes to creating Libre ASICs, people basically give up and don’t even bother because it’s so ridiculously costly — no individual Libre ASIC developer could possibly imagine themselves contributing to, let alone raising the multi-million funds for, say, a 4 GHz 10-stage 12-core SMP multi-issue processor, so they don’t even bother to design or release anything that could be part of such a design. Yet, reading between the lines, we can hypothesise that various "noises" about how hardware is proprietary, and how difficult it is to do Libre ASICs, are starting to yield some results, as various large companies who shall remain nameless for now are quietly and subtly waving around very large amounts of cash in front of the noses of Foundries, tempting them to release things like cell libraries under Libre licenses. Given that the U.S. trade war has recently caused a whopping 12% drop in ASIC sales, with U.S. ASIC sales dropping 24%, foundries might be quite open to large up-front cash deals.
Anyway, as always, if you’d like to help out (and actually receive money for doing so), we have a nice shiny new section on the website, "How can I help?" and there is a heck of a lot to do. Feel free to get in touch, any time.