Why OCE and not OCCT

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Stephl
Posts: 2
Joined: Wed Oct 21, 2015 11:19 am

Why OCE and not OCCT

Postby Stephl » Wed Oct 21, 2015 11:29 am

Hey Forum,

I'm totally new to FreeCAD and think this is a very interesting application / open source project!

I spent the last days with homebrew, git, clang,... trying to compile FreeCad on my mac.
Then I stumbled across OCE and OCCT. I didn't know about these libs before. I was wondering why FreeCAD is using OCE and not OCCT. Is there a specific reason for this? I'm just curious...

Regards
Stephan
Last edited by Stephl on Wed Oct 21, 2015 1:34 pm, edited 1 time in total.
jmaustpc
Posts: 9605
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: Why OCE and not OCCT

Postby jmaustpc » Wed Oct 21, 2015 11:43 am

Your first post, welcome to FreeCAD.

Stephl wrote: I was wondering why FreeCAD is using OCE and not OCCT.
In simple and general terms, there was considerable frustration in the opensource world with some of the practices of the company behind OCCT and hence OCE was created. At one time OCE was a lot more advanced, it had code that was not accepted by OCCT due to licence/legal reasons but also OCCT was only releasing a version that was very old. In most ways the OCCT company eventually listened and responded to most of the concerns of the opensource community and mostly repaired its relationship by improving its practices.
Stephl
Posts: 2
Joined: Wed Oct 21, 2015 11:19 am

Re: Why OCE and not OCCT

Postby Stephl » Wed Oct 21, 2015 11:48 am

Wow, that was a fast answer! Thank you.

So I understand, that from today's perspective it is more or less based on historical events and not sooo much on functionality?
User avatar
tanderson69
Posts: 1510
Joined: Thu Feb 18, 2010 1:07 am

Re: Why OCE and not OCCT

Postby tanderson69 » Wed Oct 21, 2015 12:38 pm

jmaustpc wrote:At one time OCE was a lot more advanced
This is overstating the situation. OCE got started as a repository for bug fixes that weren't making it back into occt. For me the biggest advantage of oce is, they added cmake support. Installation from source code works very smooth on my system.
User avatar
yorik
Site Admin
Posts: 11642
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: Why OCE and not OCCT

Postby yorik » Wed Oct 21, 2015 1:50 pm

I also like OCE more because they made it much more friendly to the linux ecosystem (cmake, debian packaging stuff, etc). But indeed in terms of functionality, nowadays there is basically no difference. There used to be, though, I remember at some point some noticeable bugfixing had been added to OCE... I believe that is what triggered the panic button at OCCT :) and made them play the game better.
jmaustpc
Posts: 9605
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: Why OCE and not OCCT

Postby jmaustpc » Wed Oct 21, 2015 2:15 pm

tanderson69 wrote:
jmaustpc wrote:At one time OCE was a lot more advanced
This is overstating the situation. OCE got started as a repository for bug fixes that weren't making it back into occt. For me the biggest advantage of oce is, they added cmake support. Installation from source code works very smooth on my system.
yes, but I was trying summarise a history into a very short, quick, simplified forum post! :)

But then a "lot more" is of course a somewhat personal and inaccurate unit of measure! :D ....I would argue that the Cmake support alone makes it "a lot more better" :)

But also remember how OCCT used to only release major versions to opensource but if you paid then they would give you new versions regularly, or something like that, ...at one point the last opensource version had become very old, and the opensource world was becoming frustrated with not getting a bug fix from was it 3 or 2 years before? or perhaps it was only 18 months, but whatever it was it was not taking advantage of the power of many eyes of opensource.

The other cool thing about OCE was all their experimental and testing branches you could download with GIt and easily help test. You can do so anonymously, although thanks to spam obviously one has to log in to write to a forum etc.

Also OCCT still greatly annoys me because they do not allow anonymous git downloads of the source code! Why not? what possible reason could they have? controlling uploads obviously makes sense but I strongly object to being forced to create an identity on their system and log in just to download their git master branch of opensource code...it really annoys me.

Some of the code in OCE can never be pushed to OCCT because of added some what controversial restriction on top of licence required for them to accept your code, in short you have to "assign" all rights to your code to them.
ezzieyguywuf
Posts: 637
Joined: Tue May 19, 2015 1:11 am

Re: Why OCE and not OCCT

Postby ezzieyguywuf » Wed Jun 08, 2016 4:38 pm

So does FreeCAD use OCE or OCCT? I've been building it with OCCT, lol.
User avatar
sgrogan
Posts: 5574
Joined: Wed Oct 22, 2014 5:02 pm

Re: Why OCE and not OCCT

Postby sgrogan » Wed Jun 08, 2016 6:24 pm

ezzieyguywuf wrote:So does FreeCAD use OCE or OCCT? I've been building it with OCCT, lol.
FreeCAD can use either. Historically FreeCAD has been distributed with OCE because of the reasons outlined in the previous posts. Recently OCE has begun to lag OCCT so we are working on moving to OCCT 7.0. (FreeCAD already has the support just the packaging needs to be upgraded)
ezzieyguywuf
Posts: 637
Joined: Tue May 19, 2015 1:11 am

Re: Why OCE and not OCCT

Postby ezzieyguywuf » Thu Jun 09, 2016 3:23 pm

Ah hah, I see. Thanks for the info.
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Why OCE and not OCCT

Postby NormandC » Sat Jun 11, 2016 5:31 pm

sgrogan wrote:Recently OCE has begun to lag OCCT so we are working on moving to OCCT 7.0.
I don't know if you follow the oce-dev mailing list, there's been some recent activity. For starters, Thomas Paviot has proposed to merge tanderson69's occt 6.9.1 branch. But I doubt they will publish an OCCT7-based version anytime soon...