OpenCASCADE publication plan / future

Hi,

I'm not sure if some people of OpenCASCADE SA are reading this forum ;-), and if this question belong to this forum, but anyway :

Does somebody know if the OpenCASCADE SA is making a schedule plan for OpenCASCADE ?

According to the entries in the CVS tree, most of the input are debug of the existing version.

Can we expect something new in the future versions of OpenCASCADE ?
When will the next official version be available ?
What are the plan for OpenCASCADE in the near/far future ?

Thanks if somebody can answer those questions or give some expainations.

And by the way, if other users are also interessed by my questions, I encourage them replying to this message in the forum, just saying "I care" (or something like that).

Waiting for an answer,

Stephane
http://www.exotk.org

Patrik Mueller's picture

I care

Best regards,
Patrik Müller

robertshen's picture

I care

"When you make eyes in place of an eye, a hand in place of a hand, a foot in place of a foot, an image in place of an image, then you will enter." - logion

Shen Zhong
robertshen@21cn.com or robert_shen@hotmail.com

Hao Fang's picture

I think At least it is much better to correct the old bug and improve the performance of OCC than introduce immatural new feature and new bug for developer of OpenCascade.com, especially in AIS2D, boolean operation and Documentation about OCAF, except for improving the data exchange ability of OCC.

Stephane Routelous's picture

I didn't say that it is not important to solve the bugs and improve what exists, I just want to know if something else is planned.

Stephane
http://www.exotk.org

gene's picture

I care...

Genevieve

Arnaud Magnier's picture

Dear OPEN CASCADE users,

For the past few months, I am in charge of the Open CASCADE product & components and Stephane's message gives me the opportunity to write to you about the evolution and future of the OPEN CASCADE libraries.

And what is this future?

- OPEN CASCADE Professional

At the beginning of autumn 2002, you will have access to a new release : OPEN CASCADE Professional, based on our customers and users' requests and comments. This version will provide you added values to improve and facilitate your OPEN CASCADE based developments.

To give you some examples of what advantages OPEN CASCADE Professional will technically give you:

* More robust libraries.
* More detailed documentation.
* XML output for Open CASCADE Application Framework (OCAF) attributes.
* Class Browser to easily navigate into the OPEN CASCADE structure.
* New development tools.
* New viewing tools.

Included in the Professional version, you will also have access to free e-Learning and access to our support hot-line during a limited time.

OPEN CASCADE Professional can be purchased from www.opencascade.com

In parallel, the downloadable version on www.opencascade.org will continue to be enriched on the base of the OPEN CASCADE certified versions.

- OPEN CASCADE Components

The OPEN CASCADE components, the non open-source classes, are going to be highly enriched.

Today, you have the possibility to access high-level data exchange components : DXF Import - Export, ACIS SAT Import - Export, PARASOLID-XT Import, Catia V4 / Open CASCADE and Euclid 3 / Open CASCADE.

From very soon and during the months to come, new high-level components, and not only related with Data Exchange, will be proposed.

Check our newsletters and our www.opencascade.com web site update to check for the good news to come.

- On Going Internal Projects

To give you some examples of our on going R&D important projects:

* Improvement of the OPEN CASCADE Boolean Operations. Our Research & Development team is doing a tremendous work to develop new algorithms. You will be surprised by the quality of the results.

* The OPEN CASCADE for Mesh project has been launched to develop all necessary tools to generate, visualize and edit a mesh from the OPEN CASCADE shapes.

And do not forget to have a look at the latest updates on the contributor's portal of www.opencascade.org, such as:

* the IGES and BREP viewer using VTK kernel.

* New version of Stephane's project : exoTK - Extension for OpenCASCADE (ToolKit).

With Best Regards,

Arnaud Magnier

Patrik Mueller's picture

Hi,

sounds interesting - but most of your publications are for the professional release.
So, what are publication plans for the downloadable version? Any new components?
Can you give further details for the mesh component (public/professional)?

Best regards,
Patrik Müller

Stephane Routelous's picture

Hi Arnaud,

First, thank you for your answer.

But I'm quite disapointed to see that you are releasing a "professional version".
As I've already seen this "business model" with other libraries, I'm afraid that the free OpenCASCADE version will be frozen, and that the main improvments will only be available if you are paying.

BTW, you wrote 2 points in the pro version which really belong to the free one :
> * More robust libraries.
> * More detailed documentation.

Do you really think that some users will use your library if it is not "robust" ?
And the documentation should not only be available in the pro version. Today, the doc is very poor. I have the chance to know very well OpenCASCADE, so I don't really need some documentation.
But I'm quite sure that it is very hard for the "new" users to make something with the released documentation.

And what do you mean with :
* Class Browser : it is almost the same as what was released on Unix with the previous versions of OCC ?
* Devt tools : WOK or something else ?
* Viewing tools : ? . If you mean improvment of the display and AIS packages, I think it should also belong to the OpenSource part. Once again, what will be the OpenSource part if the gap between both version makes a good product and a bad one ?

I hope you will consider those points.

I'm waiting for your answer,

Stephane
http://www.exotk.org

Francois Lauzon's picture

I totaly agree with you Stephane.
Francois.

François Lauzon, Ing. Stag.
Software Development Coordinator
DBM Reflex Inc.
1620 boul. Dagenais ouest
Laval, Québec
Email: Francois.Lauzon@dbmreflex.com

fhchina's picture

Me too.

Collin's picture

It would seem to me that the company is trying to squeeze a litle extra money from programmers. There isn't really anything inherently wrong w/ trying to get money... So long as in return they allow the purchaser right to charge money for the products they make. Ideally I think things should work like this:

Everyone can get the same source code but:

For those that didn't pay: You can't charge for anything you do, you have to release anything you add onto the code or do w/ the code in source format (if you distribute it at all).

For those that did pay: They get a snapshot of the source and are allowed to modify it w/o giving anything back. They also get personalized tech support from the company, and the right to sell their product.

This would sort of be the best of both worlds. Companies that want the source for profit could buy it and use it for profit. People that just want to dink around or improve it in their spare time owe nothing to OpenCascade SA.

I know the catch in all this is that people that contribute to the project yet dont work for OpenCascade SA would end up w/ their code in commercial projects and not get compensated. However, OpenCascade has already held a contest w/ prizes. They could continue to do that to encourage additions (and of course all entries to the contest would be subject to addition to OpenCascade).

I know I've probably perturbed the open source zealots out there but one must realize that code communism (aka all code being open source and free) is a BAD idea just like political communism has proven to be.

Dominic's picture

1) Not every one likes the idea of contest. For example i tried explaining that i could not take more vacations and wanted cash compensation instead of a payed vacation. Whish was kindly rejected. Hence i did not participate

2) For me the best support comes from the real users. The bigger the user base the better support you get. Which is a catch 22 since you cannot get more user base with high entry learning curve.

Collin's picture

1. Yes, I see your point about the contests... Not everyone would want the prize and thus the problem isn't really solved 100%. I'm not sure how it could ever be solved... The company could offer cash prizes instead of vacations... That would have some positive effect perhaps... Plenty of contests are for cash... The only catch w/ this is that a lot of users of OC seem to be French (just like the company) while I'm from the USA so i guess conversion rate issues would apply for some people. ;-)

2. Yes it is very helpful to talk to actual users of the product to aid in learning. Many companies, even commercial companies, have discussion boards for just that purpose. There is indeed a catch-22 as the learning curve will be steep until a sufficient user base is created. However, the few in the know can, maybe, create better documentation to get newbies started. I know writing documentation is nowhere near as desirable of a job as coding but someone needs to do it or else no one outside of the coders will know how to use anything.

All in all, I know that my idea needs a lot of work before it could pan out. Maybe it never will, but nonetheless, I do believe that something of the sort could be feasible.

Stephane Routelous's picture

You cannot ask the users to do the job which have to be done by the companie itself ! It's crazy !
As a user, I am not ready to write tons of articles, howtos, explainations, etc... I can do it, but I will not : It is not my job.

If a product is bad, it is not the user task to improve it. The users are using the product, they are not doing it. Of course, if I need something specific that doesn't exists or doesn't fit my needs, I will do it, and *perhaps* release it to the community ( if it is not sensitive informations or algorithms ).

It is the same with the bugs.
When I register a bug on the opencascade.org, I'm not waiting for a user to solve it.
For example, you can see the bugs I entered about problems in the OSD_Path class. These problems are really very easy to fix. I am able to do that, but I will not. I found a workaround and use it. The OpenCASCADE developpement team has to fix it in the next version. If i registered those bugs, is to improve the stability of the product. For me, working on problems like that bring me nothing, except perhaps a "thank you" from somebody ( but I don't think so ).
The OpenCASCADE cie is "paid" by some customers with support contract to develop a good product and to improve its robustness.

And about the contests, I think it is not a way to improve a product.
When I'm writing some code, algorithms, etc.. I own the copyrights of the code, of the idea. You cannot buy a copyright with a prize of a contest.
I participated to the developer chalenge and won a second prize. If the OpenCASCADE SA is integrating part of MY code done for this contest in a next release ( professionnal or not ) without asking me, they are stealing my work.

About the idea making the whole OpenCASCADE free, I think also it is not possible. I understand that some modules can be a sort of extension, and you have to pay for them. I'm thinking on the new DataExchange formats.
About the DX, there are 2 possibilities :
1/ OpenCASCADE SA developed them from scratch, and it is really a huge work, so I understand they sell them.
2/ OpenCASCADE SA are using some third party libraries which are not free, and perhaps with royalties. So they have to sell them.

The question is to see what's belong to an optional extension, which can be separatly sold, and what's belong to the kernel, which have to be free.

As I explaing in my answer to Arnaud Magnier, new parts like "More robust libraries" "More detailed documentation" "New development tools" "New viewing tools" belong to the kernel, so they have to be free, first because of the OpenSource *way of thinking*, and second because those points are not only extensions, but are a part of the OpenCASCADE core.

On another side, components like XML output for OCAF, advanced dataexchange, are extensions and they can be sold.

Stephane
http://www.exotk.org

Collin's picture

I understand where you are coming from and in my opinion you are wrong (mostly) but that's the magic of debate... In fact I could be mistaken about things but here is my clarified take:

You call youself a user, yes, but you are a user who is a programmer. Think of an open source project such as Linux. Do the users of linux refuse to improve it? I should hope not! Linux has many paid programmers at various companies but yet it's userbase also improves it and writes documentation and code. Now, I've been in the OpenCascade scene for a very short time so I might be missing the mark here but... why wouldn't the user base want to improve it!!?!? Honestly? I realize that the company should be putting all of the things that you said into the freely available version. But, if they don't then someone else can do it anyway.

I'm not sure how the code checkins work. I saw that OpenCascade seems to have CVS but I do not know if outside programmers are allowed to check the tree out and make changes... If not then I guess I've got my answer about whether users can help improve OpenCascade. However, I'm pretty sure after reading through the license that people are allowed to modify the source code to OpenCascade if they want... theres just limiations on using it in closed source projects and what you can do w/ the code you've recieved and written. That is reasonable and it's basically how linux works.

BTW, I'm quite taken aback by your attitude... You mention several times things you could do to improve OpenCascade but yet every time you say you will not because it is 'not your job.' You are getting a LARGE amount of source code for FREE and when I suggest that maybe people would want to give back something to the nice company that is offering their code for free you said 'ain't my job!' You really aren't striking me as a person that holds the idea of open source with any esteem whatsoever. I'm sorry to seem so blunt but I'm absolutely awestruck to hear such a high standing member of the user community basically disregard the whole idea of open source (aka, to openly develop a product, to facilitate the elimination of bugs by peer review, to speed development, etc) Is it that you don't think it'd be worth your time to contribute to OpenCascade?

Am I the only one here that believes that OpenCascade deserves the attention and work of volunteers from the community? We've effectively been given a gift in the form of an open source set of libraries and I believe it would be good to give something back in return (and hopefully in the process improve the product.)

Stephane Routelous's picture

Hi Collin,

Basically I agree with what you wrote in your message.
I don't refuse to improve OpenCASCADE. I will do it if I create something which can be used. Ok, it is not released as code to be directly used with OpenCASCADE, but if you have a look into my code ( http://www.exotk.org ), you will see that I introduced new things like import / export 3DStudio files or using a stripifier to improve the performances of the 3d display with shaded shapes.
This code is OpenSource.

What I mean with my previous post, and perhaps was not clear, is that the people of OpenCASCADE have to deliver a minimum of documentation.
I understand that you can have some samples which are helping a lot if you want to do something included in the samples.
For example, if you are using the Geometrical or Topological sample, you can have the code how to build the entities.
But those examples are only limited to the high-level components.
The Reference Manual ( html help with the documentation of all the classes and the methods ) is very poor.
If you want to work deeper, you have to read the cdl files, and a lot of them are not documented. Often, you have to go through the code itself which is also poorly documented.

This work has to be done by OpenCASCADE SA.
If I give something back, it will be new classes, perhaps tutorials, but not the documentation for the existing classes.

About contributing to OpenCASCADE via CVS, as you can read in OpenCASCADE.org under the CVS section : "Anyone can download or check-out the sources. However, only people with write permission - project leaders and their delegates - can check-in.".
So it is not possible to integrate the debug or new things directly into the OpenCASCADE source base. I think the OpenCASCADE people should think on a solution to be able to do that. It was the reason why I didn't fix the bugs I've found in OSD_Path.

But the problem is not in the contribution, but in the way OpenCASCADE SA is planning the future of the product with the professional vs free version.

Do you think that OpenCASCADE will get a big community of OpenSource programmers, if the free version is not stable, not robust or simply poor, and you have to buy the professional one to have a good working library ? I don't think so.
Keep in mind that improving or debugging some very complex algorithms in OpenCASCADE need a huge knowledge in geometrical or topological "science", and a huge amount of work.

Stephane
http://www.exotk.org

Collin's picture

Thanks for your reply. Yes, that does clear things up.

Documentation is really best written by the people that wrote the code. Ideally the documentation is written FIRST and used as a specification to create the code. This ensures consistancy and allows the programmer to potentially map out all of the function definitions and interactions before a single line of code is written. It seems that nothing of the sort happened here.

It would be very beneficial for all involved if the CVS tree would be opened up for writes a bit more. Maybe the whole world shouldn't be allowed in but more people should. Has anyone looked into Bonzai and Tinderbox? They are two CVS tree utilities written (or maybe just used... dont really know who wrote them) by the Mozilla project. They keep the tree in working order (or at least try to detect if someone broke the build).

OpenCascade will definately not go far in this world if the free (certified) version laps behind the pro version greatly, has poor documentation, and crappy libraries. A few posts back what I was trying to get at was: The pro and free versions should be identical. The only difference in my opinion should be: The pro version gets you tech support from the company, the pro version allows you to sell your program, and the pro version allows you to modify OpenCascade and use it and not release your modifications. There's plenty of problems to work out w/ that but then at least the two versions would be functionally identical.

Stephane Routelous's picture

Hi Collin,

Just to say that I agree with your statement concerning the pro vs the free version.
Something like that will keep the product OpenSource, and the community will get the benefit of a stable product, and the product itself will get the input or improvement from the OpenSource community.

Stephane
http://www.exotk.org