05d4f0a1d7044435601ffbfd8275324e9e16a6e3
[libreriscv.git] / HDL_workflow / rfp_submission_guide.mdwn
1 # RfP Submission Guide
2
3 * HDL workflow guide page: [[HDL_workflow]]
4 * LibreSOC bug process page: [[HDL_workflow/libresoc_bug_process]]
5 * New bug for further LibreSOC documentation: [bug #1233](https://bugs.libre-soc.org/show_bug.cgi?id=1233)
6 * email thread detailing RfP submission process:
7 <https://lists.libre-soc.org/pipermail/libre-soc-dev/2023-December/005829.html>
8 * Meeting used to introduce team to this process:
9 * *RfP submission walkthrough on IRC*:
10 [IRC log](https://libre-soc.org/irclog/%23libre-soc.2023-12-21.log.html#t2023-12-21T14:24:42)
11
12 ## Verbatim copy of email thread
13
14 ## email 1
15
16 Hi Luke,
17
18 Based on our conversation on bug #701, Luke suggested to start a mailing
19 list thread which we can use as part of documenting RfP submission in
20 general. This will then be added to:
21 https://libre-soc.org/HDL_workflow/libresoc_bug_process/
22
23 Thanks,
24
25 Andrey
26
27 ## email 2
28
29 On Tuesday, December 5, 2023, Andrey Miroshnikov via Libre-soc-dev <
30 libre-soc-dev at lists.libre-soc.org> wrote:
31 > Hi Luke,
32 >
33 > Based on our conversation on bug #701, Luke suggested to start a mailing
34 list thread which we can use as part of documenting RfP submission in
35 general. This will then be added to:
36 > https://libre-soc.org/HDL_workflow/libresoc_bug_process/
37
38 ah. yes. ok
39
40 so first thing: the secret URLs are to be respected and treated
41 as plaintext passwords. you DO NOT put them on the internet
42 or send them to people on publicly logged Libre-SOC resources.
43
44 https://bugs.libre-soc.org/show_bug.cgi?id=1126#c48
45
46 second: you click the "New Request" button then fill in your
47 bank details and name from the dropdown. then you put
48 in the amounts, under each milestone.
49
50 third: you go to the bugtracker and fill in the TOML field
51 with "name={amount=NNNN, submitted=YYYY-MM-DD}" in that
52 EXACT format, because it is machine-readable.
53
54 ***EXERCISE EXTREME CAUTION HERE BECAUSE YOU ARE EDITING
55 FINANCIAL BOOKKEEPING RECORDS***
56
57 if you are uncertain STOP DO NOT PROCEED ASK FOR ADVICE
58 IMMEDIATELY. it is best that you WAIT until someone on
59 IRC can walk you through the process, or set up a conference
60 call with screen-sharing to REVIEW YOUR CHANGES ***BEFORE***
61 YOU HIT THE BUGZILLA SUBMIT BUTTON.
62
63 fourth: you run the budget-sync program LOCALLY on your
64 personal machine, and if it produces errors and you know
65 how to correct them then do so, but if not STOP, do NOT
66 attempt further changes, instead IMMEDIATELY ask for help
67 on both IRC and the mailing list. this is a REQUIRED
68 (mandatory) action. do NOT if you make a mistake "just leave it"
69 as your actions will have consequences for everyone who then
70 also tries to run budget-sync.
71
72 fifth: find your own task_db/yourname.mdwn file,
73 return to the NLnet RFP and cut/paste the relevant
74 autogenerated sections into the "results" form.
75
76 you *do not* repeat DO NOT have to write a long-winded
77 report: you can write one *if it is useful to the project* but
78 should in no way feel "obligated to write one just for NLnet".
79 if you do write one it should be placed PUBLICLY onto
80 Libre-SOC resources, and the *URL* given in the associated
81 bugreport under comment #0 (which you can of course edit
82 to include it).
83
84 basically NLnet are flexible and trusting but MUST have
85 ACTUAL EVIDENCE of completion of the milestone, whatever that
86 may be, such that an EU Auditor is satisfied that no fraud
87 has taken place (yes, this *has* actually been attempted in
88 the past, by scammers).
89
90 sixth: hit the submit button, review the page and then
91 submit the RFP.
92
93 (NOTE: it is strongly recommended you take a screenshot or
94 do a "print page" to make sure that you have the bank records
95 correct! NLnet's database may get corrupted or you might have
96 one digit wrong)
97
98 seventh: the MoU Signatory will have been notified by email,
99 and should review the submission. DO NOT just "click yes",
100 you must ACTUALLY do Due Diligence as you are RESPONSIBLE
101 FOR ENSURING COMPLIANCE with the Memorandum of Understanding
102 and for knowing the FULL consequences of getting things right
103 or wrong here.
104
105 that's basically it, other than we have been asked by NLnet
106 to set up some CI which shows actual unit test results
107 passing (or, ha, failing). this will need some work as there
108 is NO WAY we can submit multi-megabyte unit test results
109 with THOUSANDS of unit tests... oh look, somwehere buried
110 in that there is ONE that is actully relevant.
111
112 no.
113
114 we need to keep NLnet's workload RIGHT down by giving
115 them as BRIEF and compact a "review" task as is humanly
116 possible whilst also giving them enough heads-up to
117 PRE-EMPT any EU Auditor questions.
118
119 PLEASE NOTE: for the >50k Grants an Audit is a *HUNDRED PERCENT*
120 guaranteed, as part of the *EU* Funding conditions. it is NOT
121 hypothetical or a "lottery" (like the one that came up a few
122 months ago where NLnet had its first *full* Audit of its
123 entire project suite, by an EU Auditor).
124
125 even for the <=50k Grants we there have to assume that an
126 Audit could take place at any time, and therefore also act
127 pre-emptively to provide NLnet with satisfactory answers
128 to questions that the EU Auditor will be asking to determine
129 if Fraud is or is not taking place.
130
131 i trust that that hammers home that this is in fact really
132 quite serious and a hell of a responsibility, because we are
133 representing NLnet's trust in us to keep these Financial
134 Records meticulously accurate, in order to not have ourselves
135 be accused of Fraud or money-laundering by the EU and thus
136 bring both ourselves *and NLnet* into serious disrepute.
137
138 as a reminder this was why i had to call an Emergency Freeze
139 and full audit of the OPF ISA WG Grant Financial Records a few
140 months ago. i *really* do not want ever to have to do that ever
141 again, so i expect everyone to LISTEN and take the above on
142 board and treat it with the seriousness it requires.
143
144 once again if there is anything you are hesitant about or
145 feel you must "assume" stop immediately and ask for help.
146
147 l.
148
149
150 --
151 ---
152 crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
153
154 ### email 3
155
156
157 >
158 > seventh: the MoU Signatory will have been notified by email,
159 > and should review the submission. DO NOT just "click yes",
160 > you must ACTUALLY do Due Diligence
161
162 which includes checking that the "submitted" date is
163 correctly entered for each milestone under its TOML field,
164 and contacting the submitter to ask that they update it
165 *before* clicking the "approve" button.
166
167 do not do this for them (except under mitigating circumstances),
168 walk them through the process. over IRC is the better medium
169 as it is both interactive *and logged* so if there are mistakes
170 or constructive feedback required there is a full audit log
171 to analyse to see what went awry, and why.
172
173
174 --
175 ---
176 crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
177
178 ### email 4
179
180 On Wednesday, December 6, 2023, Luke Kenneth Casson Leighton <lkcl at lkcl.net>
181 wrote:
182
183 > walk them through the process. over IRC is the better medium
184 > as it is both interactive *and logged* so if there are mistakes
185 > or constructive feedback required there is a full audit log
186 > to analyse to see what went awry, and why.
187
188 ninth: the person will receive their payment, and as part of
189 the secret URL there is a table stating "paid date" against
190 each RFP. the person is *required* to go back through the
191 milestones against which they first added "submitted=YYYY-MM-DD"
192 and to now add "paid=YYYY-MM-DD" on every single one.
193
194 (there is a mode of budget-sync that can perform this action
195 automatically, documented in the README, but it should ONLY
196 be used if properly understood as it can perform "mass change"
197 risking destruction of the Financial Records if abused.
198 ONLY use this program under STRICT supervision, on the
199 logged IRC Channel, with an experienced Authorized MOU
200 Agent/Signatry guiding and monitoring its use).
201
202 as with "submitted" run budget-sync to ensure that you
203 have not caused "damage" to the Financial Records.
204
205 tenth: notify the MoU Signatory Agent (Project Lead) that
206 the payment records have been updated. the Project Lead
207 *should* be receiving bugzilla change notifications but that
208 does not guarantee they have been seen: it is your
209 responsibility to keep notifying them and escalating until
210 you have received an *acknowledgement*.
211
212 eleventh: the Project Lead (MoU Signatory) then needs to
213 double-check the Financial Records, by re-running budget-sync,
214 then going to the mdwn/{payee}.mdwn file and check that
215 all tasks on the corresponding NLnet RFP have moved to a
216 "paid by NLnet" section. they should all have the same "paid"
217 date because RFPs are never split. there should also neither be
218 tasks listed as "paid" that are not listed on the RFP, or
219 tasks on the RFP but that are not listed on the payee mdwn file.
220 if there are this needs to be raised on Audit-tracked Libre-SOC
221 resources, NOT discussed privately with the payee, requesting
222 that they review and if necessary correct any discrepancies.
223
224
225
226 yes this really is this astoundingly meticulous, specific
227 and detailed, and requires extreme thorough rigour, patience
228 and diligence.
229
230 that diligence and meticulous attention is why we have been
231 trusted with the order of HALF A MILLON Euros of EU Grant
232 money over the past five years. it all comes down to being
233 able to demonstrate, if asked, in effect, putting it plainly:
234 "are you committing fraud here?"
235 we can categorically answer NO.
236
237 l.
238
239
240
241 --
242 ---
243 crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
244
245 # TODO: Refactor or remove the content below, probably duplicate...
246 ## Checks beforehand
247
248 - Is the task under a grant sub-task?
249 - Has the grant been accepted by NLnet **and** MoU signed?
250 (Work on tasks can begin after grant accepted, but RfP submission **only**
251 after MoU signing.)
252 - Has NLnet set the RfP system for the grant (and provided *the secret URL*
253 for the team members to make RfPs)?
254 - Has the task been declared complete? The comment section of the bug needs
255 to have a clear history of completed work (sub-tasks, git commits,
256 development thoughts).
257
258 ## NLnet RfP system
259
260 This site can only be accessed by a secret URL. This URL will be
261 distributed to MoU signees by Andrey or Luke after NLnet confirms the RfP
262 system is in place.
263
264
265 ## Making a submission
266
267 1. Go to the NLnet RfP system via the secret URL.
268 2.
269
270