First of all, I would like to apologize if I am wrong, as I am not normally involved in compiler development/maintenance, especially with a compiler like fpc, which has to perform truly “incredible” tasks (platform, CPU, etc.).
Nevertheless, I would like to add my two cents, because I consider the discussion to be very relevant, and FPC is a terrific project in my opinion. Please allow me to elaborate a little:
In my view, there are currently two main problems:
- Long unprocessed open tickets
- Versioning (stable, trunk, etc.)
Compared to other projects I have participated in, the number of open tickets would “overwhelm” me. Especially since the tickets affect many different developers, which always raises the questions: “How serious is the problem?”, “Does it affect me?”, “Should/must I take care of it?”
In addition, ticket management is also deceptive. Although the problems are recorded in tickets for processing, in reality they are lying somewhere in a basement, and the motto is “out of sight, out of mind” – to put it bluntly.
One suggestion for the topics discussed earlier would be to make these tickets “visible.” FPC already has a functioning and configurable test system. There should be at least one test case for each ticket (associated with the ticket number). These tests should not be blockers under any circumstances. But test runs of these tests would show which problems still exist or which problems have been resolved “by chance” (by fixing other problems).
The respective tickets can be “marked” accordingly, which would be necessary for a ‘stable’ version. And as soon as all currently (!) affected tickets are resolved, a new “stable” version can be defined.
The existence of the other open tickets can be continuously displayed in a list so that FPC users can immediately get an overview of what problems are known that may currently affect them. And as for all currently undiscovered bugs in FPC, there is no need for discussion anyway.
FPC is currently still trying to maintain semantic versioning, but as we can see, this is not working. In reality, semantic versioning no longer exists in FPC in my opinion, but they are sticking to this concept.
Even if some FPC users would like old compiler versions to receive bug fixes for a certain period of time, I believe that this is unrealistic for a project like FPC.
The FPC developers should be realistic enough to face this fact, act/change accordingly, and communicate this appropriately.