Skip to content

CWG budget #308

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

Open
PaddleStroke opened this issue Feb 13, 2025 · 26 comments
Open

CWG budget #308

PaddleStroke opened this issue Feb 13, 2025 · 26 comments

Comments

@PaddleStroke
Copy link

Proposal description

This proposal is to set aside an amount of 5000€ on the quaterly total of 20 000€, for the CWG (CAD Working Group) to use to setup bounties on whatever bugs they think are important.

Why? Because I think the current grant system is not the most efficient use of FreeCAD's money.

As you may know, I was part of the committee in 2024, and so happened to open a few grant proposals as well. So I have a hindsight of how both sides are impacted by the current grant workflow.

Recently we changed to a quarterly grant process. I really don't think it's great :

  • From the reviewer perspective, that does not mean less reviews to make. On the contrary it means that more reviews will have to be done at the same time (after the deadline).
  • From the proposing party point of view, this is a really bad thing. It slows down things considerably. This is just adding a 3 months of additional delay. The review process is already very slow. From what I've seen it already takes about 2 months to be processed. With the proposed quarterly workflow what is going to happen is that proposals are going to rot for 3 months, before starting the actual process. Bringing the time between the proposal and the decision to 5-6 months. From a freelance perspective, this delay is really bad.
  • Since each project takes such a long time to review, people are going to make big proposals. Because you do not plan a project for 6 months for $500. This will also discourage any new contributors. Only the usual grant-requesting people will be around. Because they can plan ahead so they can set up vague grant proposals for the next 3 years. But a new developer will not come post some project and sit for 6 months.
    So overall this is imo a bad move.

I think what the committee should do is the exact opposite. It should speed up the already very slow process. As to encourage much smaller projects.

My suggestion of a better workflow is :

  • Quarterly budget given by the FPA.
  • Remove the FPA approval on projects. Give the committee the decision power. The FPA is already voting on the budget given. This way this removes half of the approval process.
  • Setup weekly (or bi-weekly) meetings for the committee members. During these meetings the grant proposals are discussed and decisions are taken or precisions asked. Similarly to merge meetings.
  • Allow not only 'grant proposals' but also 'bounties request'. So that any user (not developper) can open a request to put a bounty on an outstanding issue/feature request.

This workflow suggestion has so far not been adopted for various reasons. Which is why I came up with this proposal

The proposal :

  • Set aside 5000€ from the quaterly budget.
  • CWG members decide on what issues to allocate bounties

This way we get to test the workflow I proposed without actually commiting to it. And I think this is going to solve a lot of important issues.

Deliverables

No response

Timeline

No response

Risks and mitigation

No response

Compensation

5000€

About you

No response

@Reqrefusion
Copy link
Member

It is impossible not to agree with your observations about the current system. I think 3 months is definitely a long time. Of course, I understand and appreciate that FPA is trying to be more professional. But how much this is possible is a big question mark. The question mark is that there is a second group to manage the money. In fact, I tried to produce a solution against this situation. I see the solution there more likely.

#274

The fact that it is very direct in this solution has very admirable aspects in terms of directly involving the community.

@kadet1090
Copy link
Member

I, for one, would love to work on some projects that are covered by bounties, not grants. This is mostly because bounty does not need so much commitment from me. This is something that I can play with, try if I can solve the issue and then submit draft PR against it when I am more or less certain that I can finish so other people know that I am working on it already. This is much easier process for volunteers who are working on project on personal time after work and are not able to make clear commitment.

@chennes chennes transferred this issue from FreeCAD/FPA-grant-proposals Feb 13, 2025
@chennes
Copy link
Member

chennes commented Feb 13, 2025

This is really a proposal to change the budgeting, rather than a grant proposal itself, so I've moved it to the main FPA repo. The timing is perfect, though, because we are just now finalizing the 2025 budget. I think the proposal is a reasonable one, and a good way to test out the idea of pre-allocating the funds to specific tasks, instead of (or in addition to) the current process. If the @FreeCAD/cad-advisory-group is willing to spearhead the effort I am totally in favor of it. We will need to add this to next week's FPA meeting agenda, @PaddleStroke can you please put it on there?

@kadet1090
Copy link
Member

If the idea would be a success we may try similar approach with DWG. There are a lot of small stuff that we could put small bounties on and encourage people (including myself) to fix them for relatively good gain for the project.

@pierreporte
Copy link

@chennes the CAD advisory group could definitely do something. There already is the list of P1 issues on the board that could be attached a reward. As the time goes and issues are closed, new one would be promoted as P1 and could get their own reward.

@Reqrefusion
Copy link
Member

What here is to avoid making mistakes. Allocating a budget of $5000 to use CWG for Bounty somehow. Personally, I suggested Pre-Approved Grant for things like this. However, the mechanism of operation was different. More precisely, there was a defined mechanism of functioning. We will watch and see how this will work right now.

@yorikvanhavre
Copy link
Member

I find the proposal indeed interesting. It solves a particular problem with the new quarterly schedule (the long approval times for someone willing to do just a smaller $500 job). The main issue is always the same, who's going to do it, and if the CWG is ready to do that, there are no more obstacles...

The removal of the FPA approval for grants is another idea worth debating, the main problem I see there is that more than often the review committee final opinion is somewhat fuzzy and unclear, and a vote afterwards is still something needed for a solid decision. Of course, if the review team would carry such a vote (which might happen with the new system), then indeed there is some redundancy that could be removed.

There is still one problem to solve, which is what about people wanting to ask for a 500 grant which is not covered by a CWG bounty. It's indeed long to wait for 3+ months. But let's go one step at a time...

@maxwxyz
Copy link
Contributor

maxwxyz commented Feb 14, 2025

I'd also prefer to put bounties on critical issues or priority features instead of "apply for whatever you want to do" grants. So basically attach grants to issues before they get solved. This way the efforts can be aligned towards the overall roadmap.

@Reqrefusion
Copy link
Member

The removal of the FPA approval for grants is another idea worth debating, the main problem I see there is that more than often the review committee final opinion is somewhat fuzzy and unclear, and a vote afterwards is still something needed for a solid decision. Of course, if the review team would carry such a vote (which might happen with the new system), then indeed there is some redundancy that could be removed.

Here, voting is not abolished, there is only a transfer. In other words, voting is actually done by allocating the budget.

I'd also prefer to put bounties on critical issues or priority features instead of "apply for whatever you want to do" grants. So basically attach grants to issues before they get solved. This way the efforts can be aligned towards the overall roadmap.

For "critical issues or priority features" I think a Pre-Approved Grant would be more appropriate than something like this.

@chennes
Copy link
Member

chennes commented Feb 14, 2025

The main advantage of @PaddleStroke's proposal as far as I am concerned is that it isn't putting more work on my plate. The "Pre-Approved Grant" program places significant responsibility on the existing Grant Review Committee, which I chair. That committee can't take on a parallel approval process to the existing grant program purely because I don't have time to administer it (and I couldn't convince anyone else to take over the chairperson role). The current proposal here eliminates that problem, and puts the administrative onus on @pierreporte. If he's happy to take that role on, I'm thrilled to support the effort.

@kadet1090
Copy link
Member

CWG already did amazing job with priorities so half of the job is already done. The rest is to divide budgets based on how hard (which can and should be done in cooperation with developers) and important task is and then confirm funding with FPA and perhaps adjust it a bit. This is process that can be done asynchronously for the most part. I'd happily take time to help with estimating how hard certain tasks are.

@pierreporte
Copy link

Agree with @kadet1090. I think that it could be a matter of assigning an amount to each issue listed in the P1 priority list. Maybe we will find a better way, but it’s a good starting point.

I’ve added a new column on this list for the time estimate.

@WandererFan
Copy link
Collaborator

20,000/year is too much, as is 25% of the quarterly grant budget.

If you want to do a pilot of "petty grants" with a one time budget of $5000, then issue a report on the pilot, I would be willing to support that financially.

Another thing is that this gives the CWG a discretionary (no vote required) signing authority that is larger than the FPA Admin Team's limit. That would be an odd arrangement from a business standpoint.

@Reqrefusion
Copy link
Member

Another thing is that this gives the CWG a discretionary (no vote required) signing authority that is larger than the FPA Admin Team's limit. That would be an odd arrangement from a business standpoint.

I share the same concern. FPA General Assembly is a well -defined organization CWG's structure is the question mark. Here, the CWG will make a distribution without voting, which is the question mark. However, I am not opposed to offer, I offer something similar.

@kadet1090
Copy link
Member

The final decision can be made by FPA, I personally see no problem in that - in the end these are funds of FPA, FPA however does not need to be involved in the process of picking best issues to put bounties on.

@pierreporte
Copy link

I agree that the final decision should be made by the FPA. The allocated rewards that I could propose must be validated.

@chennes
Copy link
Member

chennes commented Feb 20, 2025

We discussed this in this morning's FPA meeting and decided to allocate 5000 EUR of our 20.000 EUR first-quarter grant budget to pilot the project. The CWG is given the responsibility to distribute the funds in an effective manner, and to decide amongst themselves exactly what that process is. They agree to present a report on their experiences with the program and on the funds allocations once the money has been spent. Based on that report the FPA can determine whether the program was successful and warrants another allocation, or if it needs some further refining.

@yorikvanhavre
Copy link
Member

Also, this permits you guys attributing the 5000 EUR, and we don't have too much pressure on "solving" them all in a certain time frame. We can test and see how hard/easy/fast it is to spend those 5000 and then adjust for a next time.

I know the CWG gathers mainly on discord, but I would encourage to do things as transparent and open as possible, in a way that anybody can assess where we are, how much is attributed, how much has been done, etc. I would of course suggest using tags with github issues so tagged issues are easy to find. We already have a "bounty" tag, but it might be worth adding a new one.

The CWG will be responsible for marking/tagging/ordering the issues that are candidates for a bounty, determine how much is each bounty, and also take an action/decision when someone submits a PR for a bounty-bound issue. The FPA is ultimately responsible for doing the final payments to people who earn the bounties. Every payment made by the FPA needs a corresponding issue on the FPA repo. We can have one single issue for all the CWG bounties of that first 5000 package. There we can track all due payments, link them to the solved issue, and explain to people who earned a bounty what they need to do.

@Reqrefusion
Copy link
Member

Although I support the idea here, I think that the operation here should be in accordance with the standard procedure. First of all, the CWG needs to apply for a grant in more concrete terms and it must be voted on. In this way, this process ceases to be arbitrary and becomes more dependent on the rules. Complying with self-imposed procedures is the number one responsibility of the FPA.

@pierreporte
Copy link

I have made a preliminary allocation of the 5000 € on the P1 priority list here: Mechanical Advisory Group (view)

I’m open to comments.

@Reqrefusion Why would a grant be needed?

@maxwxyz
Copy link
Contributor

maxwxyz commented Feb 20, 2025

@pierreporte is the amount correct? I see a lot of 75€ on issues. Especially for a working GD&T implementation I feel this is not an additional motivation for the amount of work.

Image

@kadet1090
Copy link
Member

A lot of them seem to be related and maybe they can be batched and implemented in one go. I'm personally fine with little bounties on issues - it is a nice bonus always.

I'm more concerned about 2k allocated for fillets - in reality no one will fix that, especially for that amount so it would be wasted budget probably. I'd much rather see it redistributed for other tools. For fillets we can put label "If you manage to fix it - please tell us - we will find a way to pay you!" but we should not block funds that could be used to do other stuff.

@pierreporte
Copy link

@maxwxyz The idea is that all the top 2 issues could be implemented by the same person, so the total amount to make TD more compliant to standard would amount to 100 € + 12 × 75 € = 1000 €. But yes it doesn’t feel great. What would you propose?

@pierreporte
Copy link

@kadet1090 for OCC issue, I think that there could be a very big FPA reward. Like you get 20000 € if you can fix either fillets or kill the seam.

@chennes
Copy link
Member

chennes commented Feb 20, 2025

@Reqrefusion Why would a grant be needed?

In order for the FPA to actually vote on the allocation. So now what's needed is a concrete proposal (either really specific, like "these are the bounties we are proposing" or more abstract "we plan to choose like this") as well as who the "we" is here. How does one join the CWG, who is on it now, etc. Ultimately we give grants to individuals, so probably this is going to be a grant to @pierreporte that is structured such that the payment doesn't actually go directly to him, but rather that he confirms with us each payout as it needs to be made.

@Reqrefusion
Copy link
Member

In order for the FPA to actually vote on the allocation. So now what's needed is a concrete proposal (either really specific, like "these are the bounties we are proposing" or more abstract "we plan to choose like this") as well as who the "we" is here. How does one join the CWG, who is on it now, etc. Ultimately we give grants to individuals, so probably this is going to be a grant to @pierreporte that is structured such that the payment doesn't actually go directly to him, but rather that he confirms with us each payout as it needs to be made.

I could not explain it better, thank you. My shorter explanation is that the general method for fund disbursement from the FPA is grant applications, and it is necessary to maintain this method to avoid exceptions.

@kadet1090 for OCC issue, I think that there could be a very big FPA reward. Like you get 20000 € if you can fix either fillets or kill the seam.

I have brought this to the agenda of FPA many times. You can bring it up if you want. Although I think that this will not go beyond a declaration of intent, I think that such a declaration of intent would be correct. And even creating a pool with other projects that use the same kernel is probably the best way to go.

The discussion regarding the amount of the award was something I was trying to overcome in my pre-approved grant. I had anticipated the acceptance of the issue there, but a settlement to be made through compensation. In fact, there was a possibility of voting in the event that the compensation was deemed incorrect. This is indeed a very good solution to overcome this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants