-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] Adopt the standard for public code #1002
Comments
This is an excellent analysis. Having reviewed the gaps and question marks, it seems that the codebase is already in pretty good shape and that the gaps are largely in areas where it is easy to imagine how to close them. Easy to imagine does not mean easy to do, I'm sure some of these represent a lot of work. If it would help the community to make a decision on this topic, I'm happy to host a call where we discuss the open questions and the gaps. |
Review in progress here: https://hackmd.io/Kny0vCAbRu-wTyBuhKj2Gg?both |
Existing open issues related to Use Plain English: |
Two pull requests on the Standard for Public Code have been opened:
Reviews welcome. Ping: @maukoquiroga |
Just a note that we will discuss these PR's on the community call on Thursday, 14.00 UTC. |
Here are the notes from the community call. We had a good discussion and think we addressed the concerns in good spirit and have implemented the changes we developed to the pull requests. |
Happy New Year! Is there a way in which the Foundation for Public Code can help move this issue forward? Regardless, when is a good time to have the next conf-call in which this issue could be discussed? |
Hi! Just allowing myself to ping @MattiSG on this one, if that helps. |
We have now released version 0.2.3 that includes the changes mentioned above. Find it here: https://github.com/publiccodenet/standard/releases/tag/0.2.3-1 Does this alleviate the concerns about English in policy and code? |
Hi all! As I understand this RFC came to a halt. I'm closing the issue but please do not hesitate to reopen it if I'm closing it by mistake or if there are new forthcoming elements. |
We are still very interested in adopting the Standard. Your work @maukoquiroga in assessing through this checklist has been extremely relevant and useful, and @Ainali and @ericherman have been very supportive. We currently have a good understanding of how we could proceed further with @publiccodenet:
I have maintained the connection throughout this year and am happy with the offer outlined above as I believe it can be a useful tool in ensuring governance is enforced and improved over time, no matter who operates OpenFisca. The main difficulty encountered, which explains the (more visible than it actually is, but still true) stagnation on this topic, is the lack of resources secured for setting up and maintaining this partnership. I have been working significantly on fundraising in the last 2 months and hope to secure a budget for several topics, including this one, in 2023. At this stage, this topic is in my view very slow, but not abandoned. I will reopen this issue to enable tracking its progress 🙂 |
At this stage, this topic is in my view very slow, but not abandoned.
Music to my ears!
Of tangential/potentiel interest:
- https://code.gouv.fr/#/repos now allows to filter repositories containing a publiccode.yml file.
- The good people at https://publiccode.net published this interactive "eligibility assessment" that may also help: https://publiccodenet.github.io/assessment-eligibility/
2 cts.
|
The Standard for Public Code has been updated to version 0.7.1, and we have updated the review template, which is also available in PDF We would like to fill in the template for OpenFisca as best we can, and then get someone more familiar with the codebase to join us for a 1/2 hour (approximately) call to complete it. Who could be available for that kind of call? |
@ericherman thank you for this suggestion! Is that half an hour or one to two hours? :) In any case, I would happily join this call later this month. |
That is meant as 0,5 hours! |
Sorry! A 30-minutes (approximately) call. |
Adopt the standard for public code
Intent
See if we would like to adopt the Standard for Public Code, after discussing and identifying what we aspire to and what does and doesn't apply to OpenFisca.
The questions as I see them are:
Definitions
The Standard for Public Code is a set of criteria that supports public organizations in developing and maintaining software and policy together.
Public Code is both computer source code (such as software and algorithms) and public policy executed in a public context, by humans or machines, that can be considered vital public infrastructure, not just the expression of existing policy but the originator of new policy, and should therefore be subject to the principles of democratic governance.
OpenFisca is an open source platform to write rules as code. It allows to describe a tax & benefit system, provide a situation as input (i.e income), ask for a calculation as output (i.e. income tax), and get the results. Current uses of OpenFisca include simulating individual situation tax & benefits, populations tax & benefits, and the impact of public policy reforms.
Rules as Code rethinks one of the core functions of government: rulemaking. It proposes to create an official, machine-consumable version of some types of government rules, to exist alongside the existing natural language counterpart. It represents a transformational shift in how governments create rules, and how third parties consume them.
Democratic Accountability states that governments and the people they serve need technological sovereignty – allowing them to set and control the functioning of public software, just like they are able to set and control policy that is legally formulated in laws.
Public Algorithm is an algorithm that operates in the service of the general interest, are used to execute the law, to enforce the law, and are often unavoidable, that is to say that there are no alternatives for users. They are forms of public action and as such are subject to the same form of algorithmic accountability.
Algorithmic Accountability means for public administrations to signal when an algorithm is used, to describe it, to justify its use, to explain its effects, both individual and general, to make it accessible, by publishing the source code and the associated documentation, and to allow for the algorithm to be challenged, indicating the way for users to appeal.
Adoption process
From the Standard for Public Code:
Every time a contribution is suggested to a codebase – through for instance a merge request – the codebase stewards of our organization will audit the contribution for compliance with the Standard for Public Code.
New contributions can only be adopted into the codebase after they have been approved as compliant with the Standard for Public Code, and have been reviewed by another contributor.
The audit is presented as a review of the contribution. The codebase steward gives line by line feedback and compliance, helping the contributor to improve their contribution. The merge request cannot be fulfilled until the codebase stewards have approved the contribution.
Nomenclature
✅ - Complies
❌ - Does not comply
🚫 - Does not apply
❓ - Not sure how to apply
Criteria
Code in the open
Bundle policy and source code
Create reusable and portable code
Welcome contributors
Make contributing easy
Maintain version control
Require review of contributions
Document your objectives
Document the code
Use plain English
Use open standards
Use continuous integration
Publish with an open license
Use a coherent style
Document codebase maturity
TODO
The text was updated successfully, but these errors were encountered: