OCE patches available - Integration request

Dear Community,

Denis Barbier refactored all changes from the OCE project into atomic patches available at https://github.com/tpaviot/oce/tree/OCCT-patches. Some of them have been posted on this forum. You're welcome to pick/apply/test/compile/use any of those patches to benefit from the work of the OCE community. We've been working so hard even during the so called 'vacation time'.

This proposal of course includes the OpenCascade Company dev team: we'd be happy to contribute back updates to this great project and we'd like some of these patches to be integrated into the official project (however please don't forget to credit the contributors). Although we're not employees of the OCC Company, there are *many* skills working on improving *your* product. Unfortunately, we did not get any feedback from you so far regarding the work we already achieved. A small word from you about this work would be welcome, especially if you want to ever initiate a fruitfull collaboration with the community. Of course, 'small word ' is an euphemism, and we expect much more from your company.

OCC Company, Forum Supervisor, it's up to you guys.

Regards,

Thomas

Roman Lygin's picture

Hi Thomas,

Congratulations again on a new release.
Just curious - have you discussed with the OCC team the way to get OCE modifications into the OCC mainline ? I used to sign off the copyright disclaimer to transfer copyright to the Initial Developer (OCC company) to facilitate CAD Exchanger-derived modifications into the OCC product. Have you considered something like that ?
Roman

jelle's picture

hello Roman,

Surely the OCE project looks fwd to see its work propagate to OCC mainline.
I can understand where the need to waiver rights to your code comes from.
It originates from the following: OCC as an open-source projects is poorly organized.
Which is what put forward the need to setup OCE in the first place.

My take on this is the following,
No repository, no bug tracker, no unit tests available, no standard OS licensing; no waiver.
There is no need for the humiliating, mortifying act of signing of ones copyright if the OCC project is properly organized.
If the work in OCE in instrumental in achieving this, than everybody wins in the end, I'm very confident of this.
I do hope that initiatives such as OCE will lead to those involved in OCC to be more dedicated to the discipline of open source [ signing off copyright is not part of this discipline! ] such that the OCC community at large will profit from it. These last few months have been hopeful, but as they say, the road to hell is paved with good intentions ;)

And on that lighthearted note,

Cheers,

-jelle

Roman Lygin's picture

Hi Jelle,

Thanks for the comments. There is no "humiliation" or "mortification" in transferring the copyright. For instance, Intel TBB contribution process does require this and the whole Open Source community is perfectly fine with that. There are regular contributions, you might want to check the CHANGES file.

Disclaiming copyrights is just part of the legal process. It has nothing to do with acknowledging contributions, mentioning authors in CHANGES/Release Notes, etc. This is where OCC has not been very diligent enough indeed. AFAIR, I was never mentioned as a contributor in Release Notes, for instance. But I believe it is not due to evil intentions, just likely because the releases processes do not facilitate this and origin of the modification is lost. OCC and Salome teams reading this may pay attention to this issue.

My point is that if disclaiming copyrights is a prerequisite for integration, I am personally comfortable with that (at least now). If OCC decides to install this as a common practice, that should be decision of each individual contributor. Of course, each individual's decision loyalty will depend on openness and collaboration of the OCC company. Recent step, adopting regular release model, looks promising so I am optimistic so far.

Thanks again,
Roman

Thomas Paviot's picture

Hi Roman,

That's a point OCC and OCE teams already discussed. Keeping the hand over the whole OCCT IP seems to be one of the (the?) major OCC concern. We had long discussions at OCE (the 9 'Collaborators' of the github project) regarding this topic, and we are reluctant to such a request from OCC.

According to us, giving patches and signing an IP assignment need a significant counterpart from OCC to the Community. So far, we agreed that a move from the OCCT Public License to LGPL or BSD licenses would be fair. OCC Company is aware of our position.

Furthermore, we do think that the OCCT IP issue can't be considered alone, but is part of a global project management that still has to be properly set up in order to involve the Community, as OCC decided a few weeks ago.

Regards,

Thomas

jelle's picture

hello Roman,

while I appreciate your intelligent and nuanced position, I do feel that settling for an accepted OS license [ LGPL, BSD ], is a far preferable situation than settling things with individual developers for OCC as a whole.

Cheers!

-jelle

Roman Lygin's picture

Hi Jelle,
Licensing and copyright are two different issues. I am myself strong supporter of adopting LGPL (and not BSD, by the way) for OCC for a long time.

jelle's picture

I'm sorry for the misunderstanding Roman.
So in the case where OCE & OCC share a compatible license [ bliss! ] the question of signing off the copyright would still be an issue?
Sorry for my half formed misconception in these matters...

Roman Lygin's picture

Today, OCC and all modifications (OCE including) are OCCT Public License'ed. Some day (hopefully sooner rather than later - OCC team, are you hearing ;-) ?) we hopefully get an OSS-approved license (preferably LGPL). All modifications will be LGPL'ed. AFAIK, modifications can theoretically be re-licensed under different LGPL-compliant license. Don't remember what these licenses are but have no clue why anyone would want it. So, OCE modifications will also be LGPL'ed.
That's about licensing side.

Now about copyrights. Any author making a change has a copyright of this change. I don't know if there are any thresholds (based on legal disputes whatsoever) for the volume of modifications to warrant a copyright claim or it's granted even for a change like 'swap i and j'. Unless it is disclaimed, integration into a product would create an IP contamination - we have file foo.cxx with modifications from OCC, person A, person B, etc. This is not fatally bad per se. But sometimes this can create more evil than good, in my opinion. My understanding is based on my experience with Open Source and SW licensing knowledge. Any qualified opinions would be helpful, of course.

I perfectly understand hesitation of OSS community members to transfer copyrights. Holding it would at least give "bragging rights" to claim that this very modification was done by me, etc etc. But as I guess, the issue mainly relates to (probable) lack of acknowledgement when the modification is integrated and re-released rather than for anything else. If we see greater cooperation from the OCC team, more acknowledgements in Release Notes, I think OSS community will be more open to this formal step. By the way, I can be overcomplicating OCC intentions - we can't exclude the team will even adopt more liberal processes than these.
Hope this helps a bit.

A note to the Forum supervisor: I hope we are not trying your patience with this discussion ;-) ? As long as we remain constructive (and we are so far), it should be fine. Let us know if you see any discomfort.

Thanks,
Roman

Roman Lygin's picture

A friend of mine just sent me this link - http://producingoss.com/en/copyright-assignment.html. Helpful read to add more details to what we already discussed above.

I found this most interesting:
"the Free Software Foundation goes to the opposite extreme: they require contributors to physically sign and mail in a piece of paper containing a formal statement of copyright assignment, sometimes for just one contribution, sometimes for current and future contributions."

QbProg's picture

Just a side note, we'll check the answers to the patches threads, so feel free to comment these (like Roman is doing) to spot any possible issue

thanks!