Each commit to the OCE git repository makes integration back to upstream harder.
We're thus in an incomfrtable position: do we go on our way, or do we wait for upstream approval before going on? In my opinion, OCE has already diverged from OCC. Not from a technical viewpoint though. We have according to me 2 possibilities (under the previous asumption) :
* going on the way we use to work, starting to work on other projects that may officially and irreversibly diverge from upstream; (1)
* wait for the current patches to be integrated into OCCT so that we can move on. (2)
Of course I suggest the first solution.
What would be the drawbacks of such a decision? I let you give your opinion, here are my arguments :
* no one here, on this ml, ever request to remain 100% compliant with OCCT.
* the OCC company only releases a few version per year (1 or 2). We waited for 2 years the last OCCT release. Honestly, reading the changelog, are there so many important new features? Are these changes really important for the community? I guess they are for OCCT customers, but on my side I never noticed any feature that I was missing in 630. In my opinion, the most important change is the improved support for multithreading and TBB. It was contributed by Roman Lygin. I think that the developments at OCCT are pulled by their customers order, but I do think they are very specific to their needs. I would prefer to see the Denis' roadmap implemented rather than changes in the TNaming module. Getting tied to this library? It's not a requirement.
* Would there be any benefit from diverging? I think so. Recent changes suggested by Denis and Max are much interesting!
* If we diverge, how could we ensure that the OCE project will live, will be maintained etc.? Would it still be safe to use OCE rather than OCCT? I would reply to these questions with a few other questions: are you sure that OCCT is currently properly maintained? Are you sure that the bugs reported will be fixed in the next release? Do you know when will be released the next version? Do you trust an open source product that does not even make its test suite freely available? What do you expect from the next release? Do you have any overview of the project and its roadmap? Guess you replied 'no' to most of these questions ;-) I agree that, so far, the OCE project is very dependant upon QbProg and Denis. What will happen if you decide to move away guys? Well, we'll see...
To conclude this long post, I wanted to claim my optimism. We don't have to be afraid of any divergence or incompatibility with upstream. If we stand, we fall. Let's move one, and decide what to do according to technical criterions, the availability of human ressources etc. In a few words, let's do what we think is the best for the library, nothing else.
Hello Roman,
Thanks for sharing your thoughts, this is very interesting.
Thomas tried several times to request inputs from users, without much
result, and I do not understand why. This is frustrating, we wanted
to drive development based on user expectations. I guess that we have
no other choice than follow your advice, and define a long-term
strategy to decide where we want to go. That is not easy, we need to
think more about it.
Denis
Thanks Pierre for your mail.
To clarify, I was not referring to Thomas' mail in this thread, but to
other ones like
http://groups.google.com/group/oce-dev/msg/0733fc19280efff2
http://groups.google.com/group/oce-dev/msg/851afda67efe7fa7
http://groups.google.com/group/oce-dev/msg/010875cc3d49ed2e
Users tell that they like OCE, but do not tell what they want to see
implemented, that was my point. But of course this was confusing in
this thread.
I still have to reply to Thomas' mail, maybe +1 is enough ;)
Denis