CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Announcements from Other Sources (http://www.cfd-online.com/Forums/openfoam-news-announcements-other/)
-   -   Extend Project Release 1.6-ext (http://www.cfd-online.com/Forums/openfoam-news-announcements-other/82445-extend-project-release-1-6-ext.html)

hjasak November 26, 2010 09:11

Extend Project Release 1.6-ext
 
The Extend Project Release 1.6-ext

The OpenFOAMŪ-Extend Project (http://www.extend-project.de/) announces the release of version 1.6-ext, in the line of previous -dev community releases.

OpenFOAM-1.6-ext is a formal release of the community developments in the OpenFOAM software library, following the establishment of the -Extend Project and web portal. This release includes many improvements, including an automatic test harness which provides basic quality control by running OpenFOAM over a growing suite of tutorials and test cases.

Fundamental developments
  • Improvements in accuracy and stability on tetrahedral and tet-dominant meshes
  • Implicit coupled multi-domain solver
  • Block-implicit multi-equation matrix support
  • Proper Orthogonal Decomposition (POD) data analyss tools
  • Rewrite of Ordinary Differential Equation (ODE) and ODE solver classes
  • Dynamic remeshing classes, based on tetrahedral edge swapping
  • Radial Basis Function interpolation and mesh motion classes
  • Turbomachinery features: GGI interface, cyclic GGI, partial overlap GGI
  • Parallelisation of topological change engine
  • Support for parallelisation and topological changes in the Finite Area Method
  • Library preparation for Python/Swig interface for OpenFOAM: VulaSHAKA project (http://sourceforge.net/projects/vulashaka/)
  • Basic implementation of OpenMP wrapping for multi-core support
Ongoing developments

This section lists the applications that existed in versions of OpenFOAM but were abandoned by OpenCFD due to lack of expertise/resources. In some cases, code may still be present but it is buggy or unusable. The -Extend project line maintains, validates and develops the features in contact with original authors and contributes new features and bug fixes.
  • Working parallel point mesh and field tools, shared between interpolation and FEM discretisation solvers
  • FEM-based automatic mesh motion solver, with working parallelisation
  • Dynamic mesh features and topological mesh changes
  • The Finite Area Method: parallelisation, volume-to-surface mapping
  • New generation of linear equation solvers, including accelerated AMG
Developments to solvers (applications)
  • Basic 6-degree-of-freedom (6-DOF) solver
  • POD solver tools: prototype
  • Demonstration solver for fully implicit block-matrix coupling
Developments to utilities
  • New parallel decomposition and reconstruction formulation, with support for topologically changing meshes
  • Level-set support tools
Model development
  • Transport models and top-level solver for visco-elasto-plastic flows
  • Updates to internal combustion engine simulation tools
  • Updated version of free surface tracking tools for free surface flows
  • Updated fluid-structure interaction solver with parallelisation support
  • Updated stress analysis tools, new large deformation solver formulation
Quality control
Other
The number of cumulative bug fixes compared to OpenFOAM-1.6.x is over 5000; we will stop counting.

Release

You can access the public git repository at:

git clone git://openfoam-extend.git.sourceforg...enFOAM-1.6-ext

Binary release for the Linux and Mac OS X version, Debian rpm packages and bootable USB stick are in preparation and will be available for download from the SourceForge server.

For further details, please see the README file in the release or visit the Extend project portal: http://www.extend-project.de/

bastil November 28, 2010 08:41

Great news. I will take a look into this soon.

Regards Bastian.

elvis November 29, 2010 08:07

Thank you Hrv.

this year X-mas is very early ;-).

olesen November 30, 2010 06:03

Quote:

Originally Posted by hjasak (Post 284903)
Release


You can access the public git repository at:


Binary release for the Linux and Mac OS X version, Debian rpm packages and bootable USB stick are in preparation and will be available for download from the SourceForge server.

For further details, please see the README file in the release or visit the Extend project portal: http://www.extend-project.de/

After reading the ExtendProjectPreamble from the git repository, I was struck by the irony. The copyright for some (all?) code from 1991-2004 is being contested and yet as a reaction all of the OpenCFD copyright notices have been eliminated, even for code that definitely was written after this period and for which no copyright contention exists.


Additionally, if you refer to the follow FAQs from the Free Software Foundationit is fairly apparent that replacing all copyrights with "Copyright held by original author" -- in which the original author remains anonymous -- undermines the legal basis for enforcing the GPL conditions on OpenFOAM.
This is presumably not at all in our collective interest.

kalle November 30, 2010 11:13

Yes, really great news!

I have an immediate question: What does "Parallelisation of topological change engine" mean in practice? I have a situation where I would like to use a sliding mesh across several processor boundaries. Is such a situation now possible?

Again, great work,
K

holger_marschall November 30, 2010 12:50

Hi Mark,

thanks for your input. Sorry, no irony here...
  1. We are implementing a contributor database, which is not only holding the name but also contact data of contributors (if agreed). So all what is missing in the header is the link... It will be added the next days to the community portal as another step towards transparency!
  2. Mark, would you please give us a detailed list about the contributions coming from OpenCFD?
Again thanks for the pointer/reminder!

best regards,

alberto December 1, 2010 17:47

Quote:

Originally Posted by olesen (Post 285342)
After reading the ExtendProjectPreamble from the git repository, I was struck by the irony. The copyright for some (all?) code from 1991-2004 is being contested and yet as a reaction all of the OpenCFD copyright notices have been eliminated, even for code that definitely was written after this period and for which no copyright contention exists.

Additionally, if you refer to the follow FAQs from the Free Software Foundationit is fairly apparent that replacing all copyrights with "Copyright held by original author" -- in which the original author remains anonymous -- undermines the legal basis for enforcing the GPL conditions on OpenFOAM.
This is presumably not at all in our collective interest.

I have to agree with this. The GPL suggests to add the name/copyright statement to the header of the corresponding file. See this summary and linked pages for the guidelines: http://www.gnu.org/licenses/gpl-howto.html

About the list of contribution, for the last releases (since git was used), it could be reconstructed, at least in part, using the release notes and the git logs (a bit painful).

hjasak December 3, 2010 06:35

1 Attachment(s)
Hello Mark,

Here is a piece of data for you: a header of the polyMesh.H from foam2.3.2. Please have a look at the Copyright statement, name of the company, date and the name and surname of the author.

I can confirm that the code has been written personally by me, the idea is mine, as is the implementation, validation, testing, mesh conversion, manipulation etc. The code is 6 years old - please run a diff on the latest copy of polyMesh.H that you are using every day and tell me what you see in terms of authorship.

In any case, this no longer matters: we should attribute the authorship and copyright to their rightful owners and while this may take time and effort it is The Right Thing To Do.

Please also have another read a the FSF link you posted:

Quote:

We do this by asking each contributor to either assign the copyright on his contribution to the FSF, or disclaim copyright on it and thus put it in the public domain.
It does not say "please take the code and assign copyright to yourself and imply that all the code has been developed by you; please assign the trademark to the software that you did not develop and enforce it strictly to exclude other authors from contributing to the code". It also does not say anything about violating the GPL License conditions by removing the List of Contributors (woops!!!) - I guess you have forgotten to read that bit of documentation provided with the release, which will help you follow and understand the history.

As an interim measure, we can add either a copyright disclaimer or transfer copyright to the FSF as suggested by the document.

However, my time is spent better working on the software and I will end my discussion here.

olesen December 3, 2010 09:07

Quote:

Originally Posted by hjasak (Post 285848)
Here is a piece of data for you: a header of the polyMesh.H from foam2.3.2. Please have a look at the Copyright statement, name of the company, date and the name and surname of the author.
...

Hello Hrv,

I'm glad to see that you are following the discussion, however apart from reasserting a copyright contention for a piece of code written between 1991-2004, you did not actually address the central point which I will restate here:
Quote:

Originally Posted by olesen (Post 285342)
The copyright for some (all?) code from 1991-2004 is being contested and yet as a reaction all of the OpenCFD copyright notices have been eliminated, even for code that definitely was written after this period and for which no copyright contention exists.

Quote:

Originally Posted by hjasak (Post 285848)
In any case, this no longer matters: we should attribute the authorship and copyright to their rightful owners and while this may take time and effort it is The Right Thing To Do.

This is however diametrically opposed to what has been done within the extend project. The blanket removal of the copyright notices implies that you contest the OpenCFD copyright for every bit of OpenFOAM code: For all code written between 1991-2004 and for all code written afterwards.

kjmaki December 3, 2010 10:46

What a minute, doesn't the wording "Copyright held by original author", cover the original author?

alberto December 3, 2010 11:51

Two comments:
  • Release into Public Domain is really not a good idea. It is not even legally possible in certain countries (some EU country for example).
  • "Copyright held by the original author" falls under a "generic statement" unfortunately, and it is not likely to allow copyright enforcement at all (who did what?).
This said, why don't follow what basically every project does? Namely add the copyright statement of contributors to the existing one? OK, it would mean that OpenCFD shares a part of the copyright on the whole code part of their release (technically they maintain it so it would not be wrong), but it would also fix the problem in a short time, instead than waiting forever that the list of contributors is reconstructed.

Unfortunately this is not something we can ignore, because it affected all of us in these years (too long IMHO).

Best,

holger_marschall December 4, 2010 08:38

Quote:

Originally Posted by olesen (Post 285870)
This is however diametrically opposed to what has been done within the extend project. The blanket removal of the copyright notices implies that you contest the OpenCFD copyright for every bit of OpenFOAM code: For all code written between 1991-2004 and for all code written afterwards.

Hi,

well, let's keep calm. Neither the statement "Copyright (C) 1991-20xx OpenCFD Ltd." nor "Copyright held by original author" is complete.

However, the first statement is additionally wrong, since it has been placed as headers of **all** files, thus claiming copyright for the entire code. Moreover, this does in no way reflect the original authorship (which should be mentioned!). All in all, OpenCFD seems to claim leadership in terms of all aspects of intellectual property, which is not right for sure.

So, what's about the above approach of a contributor database holding these information? This is all we have to add, IMO, since this is the information rendering the statement "Copyright held by original author" incomplete. With a database maintained by all original contributors (each responsible for their own contribution(s)) this issue is sorted out, isn't it?

best regards,
Holger

alberto December 4, 2010 16:19

Quote:

Originally Posted by holger_marschall (Post 285978)
Hi,

well, let's keep calm. Neither the statement "Copyright (C) 1991-20xx OpenCFD Ltd." nor "Copyright held by original author" is complete.

I agree, since the copyright of Hrv work was not transferred to OpenCFD according to what he said.

Quote:

However, the first statement is additionally wrong, since it has been placed as headers of **all** files, thus claiming copyright for the entire code. Moreover, this does in no way reflect the original authorship (which should be mentioned!). All in all, OpenCFD seems to claim leadership in terms of all aspects of intellectual property, which is not right for sure.
This is more subtle in my view. Yes, OpenCFD claims the copyright on the whole code, and removed the actual author name, which is the reason why we are talking about this. However they could still add their copyright to all the files, if they modified them. In this case the dates would be different however.

There is another case which could make their choice acceptable, but it is probably not the case. If the development of the code went on under the umbrella of a company (Nabla), there could have been an agreement saying that the code was owned by the company. At this point everything becomes more confused, since the company split, and there was no clarification when this happened.

Quote:

So, what's about the above approach of a contributor database holding these information? This is all we have to add, IMO, since this is the information rendering the statement "Copyright held by original author" incomplete. With a database maintained by all original contributors (each responsible for their own contribution(s)) this issue is sorted out, isn't it?
The database of contributors seems a good idea to me. However (now a lawyer, I could be wrong on this), I am not sure it could be used for the enforcement of the copyright. In my understanding the requirement is that the copyright statement is in all the files, to exactly identify who did what.
Reconstructing this is really a lot of work, and probably not worth if there is no intention of a legal litigation (a disaster).

If I had to do this myself, I would simply add my copyright to the files I worked on, keeping the copyright statement of OpenCFD, but removing the brand and the sentences "This file is part of OpenFOAM". I am doing something similar for what I put in my git repo.

An example of the header I use follows:

Code:

/*---------------------------------------------------------------------------*\
dynLocalAverageSmagorinsky - Implementation of the dynamic Smagorinsky
                SGS model.


Copyright Information
    Copyright (C) 1991-2009 OpenCFD Ltd.
    Copyright (C) 2010 Alberto Passalacqua


License
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.


    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.


    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.


Class
    Foam::incompressible::LESModels::dynLocalAverageSmagorinsky


Description
    The isochoric dynamic Smagorinsky model for incompressible flows.


    Algebraic eddy viscosity SGS model founded on the assumption that
    local equilibrium prevails.
    Thus,
    @verbatim
        B = 2/3*k*I - 2*nuSgs*dev(D)
        Beff = 2/3*k*I - 2*nuEff*dev(D)


    where


        k = cI*delta^2*||D||^2
        nuSgs = cD*delta^2*||D||
        nuEff = nuSgs + nu


    In the dynamic version of the choric  Smagorinsky model
    the coefficients cI and cD are calculated during the simulation,


        cI=<K*m>_face/<m*m>_face


    and


        cD=<L.M>_face/<M.M>_face,


    where


        K = 0.5*(F(U.U) - F(U).F(U))
        m = delta^2*(4*||F(D)||^2 - F(||D||^2))
        L = dev(F(U*U) - F(U)*F(U))
        M = delta^2*(F(||D||*dev(D)) - 4*||F(D)||*F(dev(D)))
        <...>_face = face average
    @endverbatim


SourceFiles
    dynLocalAverageSmagorinsky.C
   
Authors
    Alberto Passalacqua <albertop@iastate.edu; albert.passalacqua@gmail.com>


Notes
    Implementation of the dynamic Smagorinsky model with coefficients cD and
    cI computed as local average of their face values to avoid numerical
    instabilities.


    Negative values of the effective viscosity are removed by clipping it to
    zero (nuSgs is clipped to -nu)


    The code is known to work with OpenFOAM 1.7.x


\*---------------------------------------------------------------------------*/

It is still a lot of work for past contributions however to actually find who did what.

Best,
Alberto

olesen December 6, 2010 04:30

Quote:

Originally Posted by holger_marschall (Post 285978)
well, let's keep calm. Neither the statement "Copyright (C) 1991-20xx OpenCFD Ltd." nor "Copyright held by original author" is complete.

However, the first statement is additionally wrong, since it has been placed as headers of **all** files, thus claiming copyright for the entire code. Moreover, this does in no way reflect the original authorship (which should be mentioned!).

This is a logical fallacy on your part. A copyright assertion is not fundamentally incorrect only while you disagree with its range. You (or someone from the extend project) have removed all references to OpenCFD and replaced them with "Copyright held by original author" for every bit of OpenFOAM code. The change appears to have been applied indiscriminately and the onus is on you to rectify the situation. If you content the copyright for a particular file, you need traceble proof of the origins and scope of the authorship of that file. Altering all files implies that you have traceable proof for copyright contention on every single file.

Quote:

Originally Posted by holger_marschall (Post 285978)
So, what's about the above approach of a contributor database holding these information? This is all we have to add, IMO, since this is the information rendering the statement "Copyright held by original author" incomplete. With a database maintained by all original contributors (each responsible for their own contribution(s)) this issue is sorted out, isn't it?

No this is an incorrect approach. The copyright remains within the file or document for which it applies. Do you have any examples of software where the copyright is separated from the code?
Purely out of curiosity: do you really apply the same approach -- ie, "Copyright original author" approach with a separate authorship list -- for your own projects or your dissertation?

alberto December 6, 2010 05:11

Quote:

Originally Posted by olesen (Post 286151)
If you content the copyright for a particular file, you need traceble proof of the origins and scope of the authorship of that file. Altering all files implies that you have traceable proof for copyright contention on every single file.

I agree with you when you say that evidence is needed on the origin and scope of the authorship to claim (or content) the copyright. This evidence is represented by the copyright statements in the original FOAM code, which, in my understanding, were removed when FOAM became OpenFOAM.

Assuming files contained author names at that point, this discussion, that lasted for years, could be easily concluded once for all if a copy of the FOAM code, with the original copyright statements, was made available.
Given the events related to the release of FOAM as open project, I hope both the involved parts conserved it with care. Without it, we can keep speculating forever, with all the annoying consequence.

We all know who developed what after the first release of OpenFOAM, since we have release notes, svn/git repositories, and contributions were clearly separated. The discussion is on what happened before the OpenFOAM era, in the FOAM era.

So, at this point, the very simple question is: "Does a copy of the original FOAM code, before it became OpenFOAM, exist? If so, who has it?"

Best,

holger_marschall December 8, 2010 13:54

Hi Mark,

Quote:

Originally Posted by olesen (Post 286151)
This is a logical fallacy on your part. A copyright assertion is not fundamentally incorrect only while you disagree with its range.

I agree. Sorry, if was ambiguous with my statement. In its range (i.e. in every file) the copyright note "Copyright (C) 1991-20xx OpenCFD Ltd." seems to be incorrect.

Quote:

Originally Posted by olesen (Post 286151)
You (or someone from the extend project) have removed all references to OpenCFD and replaced them with "Copyright held by original author" for every bit of OpenFOAM code. The change appears to have been applied indiscriminately and the onus is on you to rectify the situation.

Sorry, I am the wrong to blame. I was just after a solution in order to reconstruct the right information about the authorship using the tool of a database, which is allowed to be populated by all original authors.

Quote:

Originally Posted by olesen (Post 286151)
If you content the copyright for a particular file, you need traceble proof of the origins and scope of the authorship of that file. Altering all files implies that you have traceable proof for copyright contention on every single file.

I do not content any copyright. I agree, you need traceble proof of the origins and scope of the authorship for each and every file. At least this includes polyMesh.H provided by Hrvoje in one of the previous posts. I am sure there are more files.

Quote:

Originally Posted by olesen (Post 286151)
No this is an incorrect approach. The copyright remains within the file or document for which it applies. Do you have any examples of software where the copyright is separated from the code?
Purely out of curiosity: do you really apply the same approach -- ie, "Copyright original author" approach with a separate authorship list -- for your own projects or your dissertation?

Well, I do not have any example of an open source software project that is similar to OpenFOAM(R).

The database was intended as a tool to reconstruct all missing information about the original authorship for all files. This information in turn might be used to put the right copyright note in place. In case, you consider this as insufficient and do know any better way to gather these seemingly lost data, please let me know.

best regards,

hjasak December 9, 2010 10:31

Easy. I have got ALL copies of all releases of FOAM between 2000 and 2004 and as a director and co-owner of Nabla Ltd. I don't think there is a problem with making them public. Further to that, I also have all internal/private source code snapshots used by various people at Imperial, Chalmers, Poly Milano, Uni Zagreb and my own PhD (foam-1.51, Oct 1995), so there is no problem with the history. In fact, it would be good to dump this off my machine anyway - I will make a directory on the FSB PowerLab server and we can find a better place for it in the future.

So, FOAM before OpenFOAM historical releases are available on

http://powerlab.fsb.hr/ped/kturbo/Op...oricalReleases

for all to peruse at their pleasure. It will take a while, but if The Public requires is, Thy Will Be Done. Please suggest a better location, I don't think the server will take the load :)

I hope this is the end of discussion - with this data, everyone can make their own judgement.

Hrv

olesen December 9, 2010 12:16

Quote:

Originally Posted by hjasak (Post 286703)
Easy. I have got ALL copies of all releases of FOAM between 2000 and 2004 and as a director and co-owner of Nabla Ltd. I don't think there is a problem with making them public.

I thought Nabla Ltd. was dissolved in 2006.

Quote:

Originally Posted by hjasak (Post 286703)
I hope this is the end of discussion - with this data, everyone can make their own judgement.

Except that you still haven't addressed the central point which I will yet again restate:
Quote:

Originally Posted by olesen (Post 285342)
The copyright for some (all?) code from 1991-2004 is being contested and yet as a reaction all of the OpenCFD copyright notices have been eliminated, even for code that definitely was written after this period and for which no copyright contention exists.

The bin/foamChangeCopyright command
Code:

sed -i -e 's!Copyright (C) .* OpenCFD Ltd.!Copyright held by original author!g' $1
seems to hint that the copyright removal could be rather undifferentiated.
http://openfoam-extend.git.sourceforge.net/git/gitweb.cgi?p=openfoam-extend/OpenFOAM-1.6-ext;a=blob_plain;f=bin/foamChangeCopyright;hb=HEAD

Unfortunately I cannot find a corresponding commit showing the elimination of these copyrights in the extend project.

egp December 10, 2010 04:26

How much room is required?

Quote:

Originally Posted by hjasak (Post 286703)
Please suggest a better location
Hrv


alberto December 10, 2010 12:09

When Nabla was dissolved is irrelevant, if the files contain the authors' name. However 2004 is the correct date, since after that OpenFOAM was released by OpenCFD(r) Ltd (from OpenCFD website).

Quote:

Originally Posted by olesen (Post 286728)
Except that you still haven't addressed the central point which I will yet again restate:

It is quite clear that nobody is claiming copyright on what OpenCFD released after its creation and the dissolution of Nabla. There is a formal mistake in removing the copyright from the whole code, but it would help not to stretch this too much, since it does not imply there is a copyright claim on the whole code before the open release and/or on what has been released after, which is extremely easy to track ( http://www.openfoam.com/download/history.php in addition to public code http://sourceforge.net/projects/foam/files/foam/ ).

The other part of the problem is that it seems also OpenCFD is releasing code without the proper copyright statement, at least based on the information made available publicly, which is, once again, uni-lateral.

What is (was?) missing to reconstruct the actual authorship/copyright is only the original copyright statement of what was done in the pre-OpenFOAM era.

With this information, re-establishing the actual copyright is a long and annoying work, but it is not impossible, and it could finally put an end to this situation, which OpenCFD surely could have avoided from day 1, being a bit more flexible and welcoming towards contributors, which should not be forced to give up on their authorship to see, maybe, their code included in OpenFOAM.

On a side, a bit off-topic, note: http://www.openfoam.com/news/6th-anniversary.php It seems they forgot that Blender, Ubuntu, Wordpress and Android have an ocean of contributors, not required to have a contract to submit lines of code, and actually helped by the company behind the project. :D


All times are GMT -4. The time now is 14:20.