lf-lang / lingua-franca

Intuitive concurrent programming in any language
https://www.lf-lang.org
Other
240 stars 63 forks source link

A LICENSE.md file is needed #23

Closed cxbrooks closed 5 years ago

cxbrooks commented 5 years ago

The lingua-franca repository should have a LICENSE.md file.

See https://help.github.com/en/articles/adding-a-license-to-a-repository

I suggest using the BSD 2-Clause License that is listed on the Github website as opposed to the Ptolemy license so that the wording is precisely the same as the much more common BSD 2-Clause License.

However, this is just a minor suggestion, using the Ptolemy license would be fine.

In the past, each source file has had a license at the top of the file. This was in part because portions of Ptolemy would be reused and the license file not included. It might be sufficient for each file include a single line that refers to the license file. However, adding this text to each file is optional and can probably be skipped for now.

BTW - It is an open question as to whether generated files should have a license. If the generated files do have a license, then it is possible to redistribute those files under the license. If the generated files have no license, then they are copyrighted (in the US) and possibly not easily redistributed. However, a license could be added to the generated files by hand.

BSD 2-Clause License

Copyright (c) 2019, Industrial Cyberphysical Systems (iCyPhy) All rights reserved.

Redistribution and use in source and binary forms, with or without modification, 
are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, 
this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, 
this list of conditions and the following disclaimer in the documentation 
and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
lhstrh commented 5 years ago

Yes, we should make a decision about this. So far, the only dependency that I'm aware of is the pqueue implementation, which is also 2-clause BSD. My suggestion would be to add a license to files in our runtime library (e.g., reactor.h) and leave if off the generated files as they are based on LF-code written by others (and they should retain the copyright over them). Is anybody opposed to 2-clause BSD?

edwardalee commented 5 years ago

I have added a LICENSE.md file and pointers to it in the main source files.