Questions

you applied to the 2022-08 open call from NLnet. We have some questions regarding your project proposal Libre-SOC OpenPOWER ISA WG

You requested a neat round sum of 100000 euro. Can you provide some more detail on how you arrived at this amount? Could you provide a breakdown of the main tasks, and the associated effort? What rates did you use?

last question first: we've learned (painfully, by losing opportunities and team members) that the prior rates which were around EUR 1500 per person are inadequate to attract the quality we need, and had to double it. I (personally) used to be ok when working out of Taiwan for 3 years on EUR 1200-1500, and Jacob was in student-subsidised accommodation.

bottom line: 3 people, at EUR 3,000 (which is 1/5th of the commercial rate for quality work of this type), is actually only 11 months duration. if we include binutils part-time as 0.25 people it's only 10 months.

these are the tasks:

  • ongoing communication with OPF ISA WG: over 12-18 months, it takes appx 1-2 hours per day of communication time to prepare and answer questions.
  • preparation (and revision) of RFCs: although they are templatable and partial cut/paste from the wiki the revisions are not, needing ongoing feedback. plus, we will need approximately 20-25 RFCs.
  • Compliance Test Suites: there are already thousands of unit tests, these need to be expanded for the 8/16/32-bit work (thousands, in each bit-width). Again: several months of work
  • Example algorithms: strncpy, quicksort, insertionsort, UTF-8 validation and conversion to UTF-16; more Audio/Video examples - all of these are critically important showcases. Each example chosen can average around 1-2 weeks work. They all help with the critical "justification" which is already underway as part of https://libre-soc.org/openpower/sv/rfc/ls001/ which already has some of the examples from unit tests.
  • Developing and improving the Simulator itself, to confirm correct functionality: again, several months (this is always ongoing)
  • The Test API: this will be a simpler self-contained task to make it auto-generate Makefiles (and cover other systems), and also by this time we will have cavatools in the mix: approx 8 weeks
  • binutils needs ongoing updates, an estimated budget covering 10-14 weeks would be good.

Is there meanwhile news on the requirements of IBM and the ISA WG?

somewhat. the page is now open - https://openpower.foundation/isarfc/ - and they have prepared a process/procedure document (legally required to be followed, under the OPF's ByLaws), which is adapting as we're literally the first people to use it.

A request for 100k is very large, and the timelines are pretty long too.

yes and no. if we assume 3 people (one junior editor, two and a half programmers: simulator, unit tests, binutils) it actually doesn't go far.

Can we not take it step by step?

EUR 50,000 assuming 3.5 people at EUR 3,000 is actually only 5 months. realistically that would mean we would actually need to begin the submission process on the very next cycle! (2022-10E - 2022-12E would be more likely but cutting it fine)

It would be better for us to achieve this incrementally, as in: start with a smaller amount for meeting submission criteria for the block of instructions, deliver initial code, tests, documentation - and when more budget is needed, a new chunk is added.

I don't have a problem with that, if you are fine with the extra admin work :) i appreciate it does mean not needing a special EU Auditor, and also an opportunity to review, half-way through.

What would work on the legal compliance for the development look like? Who would be doing that?

The OpenPOWER Foundation - probably using IBM or LinuxFoundation Legal Counsel - requesting that all contributors sign an "Inbound Patent License Agreement". in our case there aren't any patents, but we still have to sign an agreement that there aren't any, and, also, that if we do create any patents that those will be assigned to the OPF immediately. There is also a Copyright Assignment requirement (which IBM also had to agree to, now that the Power ISA is owned by the OpenPOWER Foundation) Perhaps a budget for some legal assistance in reviewing that agreement might be a good idea? NLnet has funded this work under its "Works for the Public Good" mandate: we don't want to be caught out here.

How would you manage such a large amount of RFCs, which must be perceived as a denial of service at the WG?

carefully! we have been warning them consistently and persistently for 24 months. each RFC when it gets to the "Presentation as actual Changes" stage, will be passed through to compiler and hardware experts for their consideration. IBM has had many many RFCs in-house over the years: this isn't something that's new to them.

ultimately, though, by comparison with RISC-V having seventy unique Technical Working Groups, realistically it is simply the Power ISA that has a lot of catching up to do. we will be the catalyst that drives that... carefully :)

Is there infrastructure in place to manage the lifecycle of each RFC?

yes. the bugtracker, wiki, and mailing list, and the RFCs themselves are in the git repository that's behind the wiki. full cross-referencing in each has been found over a 4 year period of managing this project.

then there is also the "main" page tracking all RFCs (which will get its own bugreport at some point)

  • https://libre-soc.org/openpower/sv/rfc/

Example of the cross-referencing and history so far:

  • https://libre-soc.org/openpower/sv/rfc/ls001/
  • https://git.libre-soc.org/?p=libreriscv.git;a=history;f=openpower/sv/rfc/ls001.mdwn
  • https://lists.libre-soc.org/pipermail/libre-soc-dev/2022-October/005344.html
  • https://bugs.libre-soc.org/show_bug.cgi?id=924, note the discussion
  • https://libre-soc.org/openpower/sv/rfc/ls001/discussion/

How are discussions going to be linked to each RFC?

As above example: by a cross-referenced URL in each one, and the standard practice of adding a "discussion" page in the wiki if necessary, although this is often subsumed by the bugtracker.

What are the timelines?

based on 3.5 people? realistically only around 10 months. (EUR 50,000 cuts that by half).