Question on copyright, licensing, authorship & attribution for reuse of (parts of) tutorial programs

23 views
Skip to first unread message

Krishnakumar Gopalakrishnan

unread,
Mar 12, 2020, 8:24:09 AM3/12/20
to deal.II User Group
While, I understand that deal.Ii (the library itself) is licensed under LGPL 2.1 or above, this question is about reuse of tutorial programs in own research.

I see that some later tutorial programs have dois on Zenodo and certain open licences attached to them.  However, most of the earlier tutorials do not have this.  All of them do have a copyright line containing the author and years.

The following are my specific questions:
  1. Am I allowed to reuse one of the earlier tutorials as is and report the simulation results (my project needs some additional post processing of the FE solution field) in a journal publication? How would I attribute this?
  2. If I modify the tutorial code for my project, am I allowed to link my github repo to the publication? What really constitutes a modification of software code in general, and tutorial code in particular?
    • Have time-dependent boundary conditions
    • The generic variables of the tutorials will be renamed to the project-specific variables
    • instead of the typical CG iterations, since the problem size is small, replace it with direct solver
    • Finally the problem is run in 1D
    • Better refinement strategy if time permits
If I were to embark on such an exercise i.e. make available an open-source code linked to a journal publication, What would be my
  • copyright and authorship rights?
  • licensing and attribution requirements?

Regards,
Krishna

Wolfgang Bangerth

unread,
Mar 12, 2020, 9:33:05 AM3/12/20
to dea...@googlegroups.com

> I see that some later tutorial programs have dois on Zenodo and certain open
> licences attached to them.  However, most of the earlier tutorials do not have
> this.  All of them do have a copyright line containing the author and years.

But they're all licensed under the same LGPL license.


> The following are my specific questions:
>
> 1. Am I allowed to reuse one of the earlier tutorials as is and report the
> simulation results (my project needs some additional post processing of
> the FE solution field) in a journal publication? How would I attribute this?

Yes, the license allows this. But like with all other uses of previously known
material, standard scientific procedures state that you should cite your
sources. In the current case, add a reference to the tutorial program you are
using. For example, this would work:

@Misc{dealiistep32,
author = {M. Kronbichler and T. Heister and W. Bangerth},
title = {deal.{II} tutorial program step-32,
\url{http://www.dealii.org/developer/doxygen/deal.II/step_32.html}},
year = 2020
}

as would this:

@Book{step-49,
title = {The deal.II tutorial: step-49},
year = 2013,
publisher = {https://www.dealii.org/developer/doxygen/deal.II/step\_49.html},
author = {Timo Heister and Yuhan Zhou and Wolfgang Bangerth and David Wells}
}

For some tutorials, no authors are easily identifiable. In that case, either
omit the author list or list them as "The deal.II authors".


> 2. If I modify the tutorial code for my project, am I allowed to link my
> github repo to the publication? What really constitutes a modification of
> software code in general, and tutorial code in particular?
> * Have time-dependent boundary conditions
> * The generic variables of the tutorials will be renamed to the
> project-specific variables
> * instead of the typical CG iterations, since the problem size is small,
> replace it with direct solver
> * Finally the problem is run in 1D
> * Better refinement strategy if time permits
>
> If I were to embark on such an exercise i.e. make available an open-source
> code linked to a journal publication, What would be my
>
> * copyright and authorship rights?
> * licensing and attribution requirements?

Up front: Of course we highly encourage this to happen! That's what we write
deal.II for: So people use it for their own projects and, ideally, make these
projects available to others as well. In particular, that's why we came up
with the code gallery:
https://dealii.org/code-gallery.html

The technical details governed by the license of deal.II. In particular, if
you make your code available to anyone else, you need to license your code in
a way that is compatible with the LGPL. For all practical purposes, that will
mean that you have to license your code under either the GPL or the LGPL. It
is of course always good practice to be open about where parts of your code
come from, so it would make sense if there was a readme file or a comment at
the top of your code that says
This program is based on the step-6 tutorial of deal.II.
or something similar.

Copyright: You own what you wrote. We continue to own whatever we wrote in
your program (and grant you the right to use what we own as long as you stay
within the confines of the license).

Best
W.

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/

Krishnakumar Gopalakrishnan

unread,
Mar 12, 2020, 9:52:40 AM3/12/20
to deal.II User Group
Thank you so much for your answers.

"But they're all licensed under the same LGPL license."

Ah. I get it now. The library includes the tutorials as well, right? So LGPL should apply everywhere.

In particular, that's why we came up  with the code gallery:    https://dealii.org/code-gallery.html

This is confusing because the number of deal.ii based user programs are two orders of magnitude larger than the number of code gallery programs. What is the vetting process of submissions and acceptance to the code-gallery? Is this documented somewhere?
Is there a mechanism of linking an existing public github/gitlab/bitbucket repo to the code gallery? That would be very useful since any time the authors update their codes in github, the code gallery picks it up, and everyone can benefit from the latest codes.


Copyright: You own what you wrote. We continue to own whatever we wrote in your program (and grant you the right to use what we own as long as you stay within the confines of the license).

So, at the top of my source code (licensed under LGPL), if I explicitly assert my own copyright on a line of text, and below that just say "This program is based on the step-xx tutorial of deal.II", will that be sufficient to cover all the copyrights involved?

All the information discussed so far in this question might be very helpful if posted on the tutorial landing page in the deal.ii website. Anyone who is looking to write code based on the tutorials can potentially benefit from this info.

Regards,
Krishna

Wolfgang Bangerth

unread,
Mar 12, 2020, 10:05:41 AM3/12/20
to dea...@googlegroups.com, Krishnakumar Gopalakrishnan

> /"But they're all licensed under the same LGPL license."/
>
> Ah. I get it now. The library includes the tutorials as well, right? So LGPL
> should apply everywhere.

Correct. Every tutorial file says that on line 8 :-)


> This is confusing because the number of deal.ii based user programs are two
> orders of magnitude larger than the number of code gallery programs. What is
> the vetting process of submissions and acceptance to the code-gallery? Is this
> documented somewhere?

Yes, there are many more programs out there. But not everyone wants to share
theirs. The procedure for contributing is documented if you hit the third of
the orange buttons on the page I linked to:
https://dealii.org/code-gallery.html


> Is there a mechanism of linking an existing public github/gitlab/bitbucket
> repo to the code gallery? That would be very useful since any time the authors
> update their codes in github, the code gallery picks it up, and everyone can
> benefit from the latest codes.

We don't have this kind of mechanism. But I think it's also the right thing to
do to freeze the status of these programs at a time of submission. Otherwise,
programs may work one day but not the next if you use someone's code you don't
know, and the documentation may not actually describe the code as it is.


> /Copyright: You own what you wrote. We continue to own whatever we wrote in
> your program (and grant you the right to use what we own as long as you stay
> within the confines of the license).
> /
> /
> /
> So, at the top of my source code (licensed under LGPL), if I explicitly assert
> my own copyright on a line of text, and below that just say "This program is
> based on the step-xx tutorial of deal.II", will that be sufficient to cover
> all the copyrights involved?

You're overthinking this. This is sufficient, but the point is that we *want*
you to use our codes.


> All the information discussed so far in this question might be very helpful if
> posted on the tutorial landing page in the deal.ii website. Anyone who is
> looking to write code based on the tutorials can potentially benefit from this
> info.

Like so many other pieces of information, it would be useful to state, but
there is no good place, and every place I can think of would distract from
lessons I think are far more important to teach at that place...

Krishnakumar Gopalakrishnan

unread,
Mar 12, 2020, 10:50:54 AM3/12/20
to deal.II User Group
Thank you so much for your kind explanation.

I thought that maybe the common landing page for all the tutorials (the one with the graphviz dot-diagram relationship) is a possible candidate. But I understand why its probably also not the best since most pages have already lengthy content and any additional wording is better reserved for technical explanations.

Regards,
Krishna
Reply all
Reply to author
Forward
0 new messages