The fact is that OCCT is a geometric kernel which is a system of evolutionary geometric algorithms. The evolutionary nature of these algorithms means actually the following:According to my analysis of the issues in Community project in our tracker, during last 10 years we have integrated 60+ contributions made by about 25 contributors. Most essential contributions (~ 20) have been provided by Roman Lygin. Among others, only 4 contributions (as submitted) touch more than 10 lines of code; typical case is one-line or even one-symbol change. (https://dev.opencascade.org/index.php?q=node/30)
- If you commit some algorithm, OPEN CASCADE will take responsibility to keep your contribution alive: fix bugs, maintain the code, provide documentation, elaborate sufficient test cases, define necessary interfaces (e.g. Draw). It is not a one shot commitment. Therefore, you get industrialization for free. This is a payback.
- If we are talking about some really meaningful contribution, then it should be a kind of research result. E.g. new fillets, new Booleans, whatever. Nobody is going to make such contribution. This is the reality.
- Unlike CGAL which is more a bucket of algorithms, OpenCascade is an ecosystem of algorithms. Even if you have implemented, let's say, a new tool for approximation, you will need to find its use in geometric modeling tools then (blends, sweeps, etc.). Otherwise, such contribution makes a little sense for OCCT.
Just put it in a right way. OpenCascade is a project which you can participate or not. It gives you for free the tools and algorithms which are very expensive as they accumulate years of research and development. I believe that what we really need is a roadmap and a way how a community can affect the contents of such a roadmap. For contributions, I do not believe in them...