If you are talking about licenses, both are LGPL v2.1 with an exception to compile/distribute non-LGPL'ed code with the LGPL'ed headers from OCCT. As far as other things go: OCE has many compiler warning and bug fixes over OCCT.
OCE supports many more platforms and compilers than OCCT as well.
Basically, OCE has a higher code quality than OCCT.
Take a look at the commits on GitHub if you'd like to see the changes we make.
DRAWEXE is in /usr/bin, TKTopTest is in /usr/lib64/oce.For me, it seems not really working...
Somehow TKernel cannot dlopen libraries from there.
Fixes: ...
$ DRAWEXE
Draw[1]> Draw[2]> pload ALL
An exception was caught 0x7f7651614f63 : Draw_Failure: Could not open: TKTopTest; reason: libTKTopTest.so.8: cannot open shared object file: No such file or directory
** Exception ** 0x7f7651614f63 : Draw_Failure: Could not open: TKTopTest; reason: libTKTopTest.so.8: cannot open shared object file: No such file or directory
On Wednesday, April 23, 2014 8:50:15 AM UTC-7, Michele Fiorentino wrote:HI to all,
I am getting back to oce after 1 year. I posted a similiar question in the past, but the license of main opencascade repository has changed lately. I am wondering again which are the real differences compared to the mainstream library. Please I would like to see in this forum a sticky tread with the differences compared to offcial. Anyway Good to see that both communities are pretty active lately.
Thanks!
--
--
You received this message because you are subscribed to the Google Groups "oce-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to oce-dev+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
paragraph, but then, you should ask: why don't OCE contributorsI do not understand your questions. You copied/pasted Andrey's last
directly contribute to OCCT? This one is much more interesting,
because all contributors can explain their choice.
Denis
Taking that OCE issue tracker contains 440 closed issues (after 3 years of existence), and most of those are related to tweaking build system, I estimate count of functional changes in the code as not more than 50. For comparison, in OCCT we have 40-80 commits to master branch per month, and half of them are bug fixes and improvements of functionality.
The real problem is that you do not know if something is fixed or broken in OCE.
Regarding compiler warnings: building OCE 0.15 on Windows with Visual Studio, I get ~40 compiler warnings (depending on VC version and bitness).
OCCT builds with VC with 0 warnings since version 6.7.0.
Another problem is that even if good fix is made in OCE but not submitted to OCCT, it has all chances to be lost with the next merge with official OCCT release.
OCCT is more strict for accepting contributions but is more robust, since we control quality and non-regression of each integration
What OCE has more w.r.t. OCCT is bindings with many additional tools, like Memcheck, Google Test, CPack, Travis-CI, etc.
However, does is work well?
I just clicked on green Travis-CI icon on main page of OCE in GitHub, and get to OCE page of Travis-CI
Here the build status is Ok (as I guess by its green color), but the log reads:
DRAWEXE is in /usr/bin, TKTopTest is in /usr/lib64/oce.For me, it seems not really working...
Somehow TKernel cannot dlopen libraries from there.
Fixes: ...
$ DRAWEXE
Draw[1]> Draw[2]> pload ALL
An exception was caught 0x7f7651614f63 : Draw_Failure: Could not open: TKTopTest; reason: libTKTopTest.so.8: cannot open shared object file: No such file or directory
** Exception ** 0x7f7651614f63 : Draw_Failure: Could not open: TKTopTest; reason: libTKTopTest.so.8: cannot open shared object file: No such file or directory
Dear all,
In my opinion, this kind of discussion can only leads to misunderstandings and poor level discussions.
Epy wrote that OCE code quality is better than OCCT without any proof. As an employee from the OpenCascade company, Andrey used his right of reply in a way which is not the most diplomatic one (the travis-ci.org integration with github was achieved by Denis Barbier, who should rather be thanked for all his work)
and without many convincing arguments ("I'm pretty sure that..." cannot be considered as a technical or scientific fact).
I suggest to consider this discussion as closed and move forward with constructive topics. Of course you're welcome Epy, Andrey, to keep going on contributing to this ml.
...
Another problem is that even if good fix is made in OCE but not submitted to OCCT, it has all chances to be lost with the next merge with official OCCT release.
I don't believe that Denis simply discards previous fixes when he merges each new OCCT release...
Denis does tremendous work merging releases, and to my knowledge he is able to merge intact all OCE fixes.
OCCT is more strict for accepting contributions but is more robust, since we control quality and non-regression of each integration
This is why I'll probably never even attempt to contribute to OCCT directly. Everyone here has been very welcoming when I present a particular item I want to fix. I've never been told that something can't be fixed. We have QC as well; changes are presented to everyone for at least 2 weeks to review before being merged. I try my best to review others' submissions and I know that at least Denis checks my work thoroughly.
*all that aside*
I still, after many years, do not have good grasp on FOSS licensing issues. My understanding here is that LGPL requires derivative works to also be LGPL. OCCT and OCE are both LGPL, can't OCCT simply take what it wants from OCE's codebase?