Release of v0.17

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
NormandC
Veteran
Posts: 18587
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Release of v0.17

Post by NormandC »

As a quick test, I saved the Third Party Libraries page as simple HTML on my desktop.

Then I ran the following command in the python console:

Code: Select all

WebGui.openBrowser('file:///home/normand/Bureau/freecad-about-license.html')
This opened the local html file in FreeCAD's main window. Seems easy enough to run a similar command from a link in About FreeCAD.

Of course it's rather ugly and badly in need of CSS styling. :D
Attachments
FC_local_license_test.png
FC_local_license_test.png (187.62 KiB) Viewed 2053 times
gkv311
Posts: 6
Joined: Mon Oct 24, 2016 8:02 am

Re: Release of v0.17

Post by gkv311 »

yorik wrote: Fri Feb 02, 2018 3:54 pm I added this to the license page of the About dialog:

Would that be enough? I couldn't find any other open-source app that cites all the third-parties libraries used in its about dialog...
Meeting license terms might be painful, especially when using a lot of external libraries.
Here is one extra guide useful for following LGPL:
https://ffmpeg.org/legal.html

In my case, sView lists the major libraries in About dialog, refer them on application about page on web site and tries to elaborate license terms on git (LICENSE file as root information + actual license text files placed near by).
Licenses within About dialog  (sView)
Licenses within About dialog (sView)
sview_about.png (347.73 KiB) Viewed 2052 times
Thus, Firefox style, which Open CASCADE CAD Assistant tried to follow (e.g. dedicated HTML page coming with application listing all used components), looks more appropriate for big projects in my opinion. Still, the foundation frameworks of application worth mentioning directly on About page.

This, however, does not answer how to mention 3rdparties of 3rdparties of 3rdparties - almost every library in OSS world nowadays depends on a lot of other projects. It is not that big for Open CASCADE Technology, but it grows big for such things like Qt.
gAdlike
Posts: 21
Joined: Wed Nov 01, 2017 5:35 am

Re: Release of v0.17

Post by gAdlike »

Third party page looks great but it is better to distribute a copy of license with the software.
User avatar
yorik
Founder
Posts: 13640
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: Release of v0.17

Post by yorik »

Normand's solution seems good, but we would need a script that runs at build time to fetch that page from the wiki everytime, to make sure it is using the most up-to-date version. Plus, if FreeCAD is built without webkit, that page will be unavailable.

But since OCC is by far our most important third-party library, and, I believe, the only one that doesn't use standard LGPL (it has an additional clause), we might as well simply add the full OCC license text in our about dialog (an extra tab maybe?). That would be an easy way to solve too... Would that be OK for everybody?
gAdlike
Posts: 21
Joined: Wed Nov 01, 2017 5:35 am

Re: Release of v0.17

Post by gAdlike »

It will be OK.
wmayer
Founder
Posts: 20241
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Release of v0.17

Post by wmayer »

yorik wrote: Mon Feb 05, 2018 10:22 am Normand's solution seems good, but we would need a script that runs at build time to fetch that page from the wiki everytime, to make sure it is using the most up-to-date version. Plus, if FreeCAD is built without webkit, that page will be unavailable.

But since OCC is by far our most important third-party library, and, I believe, the only one that doesn't use standard LGPL (it has an additional clause), we might as well simply add the full OCC license text in our about dialog (an extra tab maybe?). That would be an easy way to solve too... Would that be OK for everybody?
I wouldn't try to fetch the wiki page at build time because you have almost no control if its content has changed in the meantime and if it's still correct. Because the license file will be changed very rarely I vote to add an extra static file to the repository.

Over the weekend I looked closer at how CAD Assistant solved it and I think doing the same way would be the easiest. In a local branch I started to work on it.
User avatar
NormandC
Veteran
Posts: 18587
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Release of v0.17

Post by NormandC »

wmayer wrote: Mon Feb 05, 2018 1:44 pm Because the license file will be changed very rarely I vote to add an extra static file to the repository.
That's what I originally had in mind. But I didn't think about what would happen if FreeCAD isn't compiled with webkit. I think the current 0.16 in the Debian repo is like that...
wmayer
Founder
Posts: 20241
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Release of v0.17

Post by wmayer »

NormandC wrote: Tue Feb 06, 2018 3:57 am
wmayer wrote: Mon Feb 05, 2018 1:44 pm Because the license file will be changed very rarely I vote to add an extra static file to the repository.
That's what I originally had in mind. But I didn't think about what would happen if FreeCAD isn't compiled with webkit. I think the current 0.16 in the Debian repo is like that...
The HTML page with the license texts (that CAD Assistant uses and I want to adjust for FreeCAD) doesn't require any CSS stuff or the like. Therefore, the lightweight QTextBrowser class which is not based on Webkit absolutely suffices. Indeed, with my self-compiled Qt 5.6 on Windows I don't have the Webkit module as the build process always failed. So, a solution that doesn't require Webkit would be the best.

Alternatively, one can also open the system browser and show the license text there but in Qt older than 5.6.2 on Windows there is a bug so that the browser doesn't jump to the anchor of a given url. As a workaround we could also make one HTML file per library.
wmayer
Founder
Posts: 20241
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: Release of v0.17

Post by wmayer »

git commit 7335b3ae adds a new tab to the About dialog with all 3rd party libs and their licences.
User avatar
kkremitzki
Veteran
Posts: 2511
Joined: Thu Mar 03, 2016 9:52 pm
Location: Illinois

Re: Release of v0.17

Post by kkremitzki »

Now that we are in feature freeze can we get a git tag e.g. 0.17-alpha1 which can be used by debian's uscan? This will help me prepare the package for the experimental branch.
Like my FreeCAD work? I'd appreciate any level of support via Patreon, Liberapay, or PayPal! Read more about what I do at my blog.
Post Reply