Sandia-OpenSHMEM / SOS

Sandia OpenSHMEM is an implementation of the OpenSHMEM specification over multiple Networking APIs, including Portals 4, the Open Fabric Interface (OFI), and UCX. Please click on the Wiki tab for help with building and using SOS.
Other
63 stars 53 forks source link

New entry in License file for Cornelis Networks #1070

Closed tmh97 closed 1 year ago

tmh97 commented 1 year ago

Adding BSD-compliant license.

@davidozog Let me know if this wording is adequate for inclusion, please send me an email otherwise, thanks!

Signed-off-by: tmh97 thomas.huber@cornelisnetworks.com

tmh97 commented 1 year ago

The comment about the work is pretty specific, perhaps you can just say "Cornelis Network's contributions to the OFI transport layer...". This may future-proof any additional contributions, so it's less likely we'd have to change the license. Thoughts?

I agree Dave, just fixed this with most recent commit 👍

jdinan commented 1 year ago

I think this is setting an odd precedent that each contributor should append their copyright notice and a license statement to the end of the LICENSE file. I would prefer to list copyright statements at the top of the file, as we have done for Sandia and Intel:

Copyright 2011 Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S.  Government
retains certain rights in this software.

Copyright (c) 2017 Intel Corporation. All rights reserved.

Copyright (c) 2022 Cornelis Networks, Inc. All rights reserved.

This software is available to you under the BSD license.

While we're at it, you should update the copyright year for Intel. We also contributed the UCX transport from NVIDIA, so that should be mentioned too (copy/paste from transport_ucx.c).

davidozog commented 1 year ago

Thanks @jdinan - you're right, my mistake. We should put copyright notices in the individual files that changed, at least. I made a note about this in the wiki/Developer_Documentation - is it reasonable?

I don't see a problem with putting copyright in the license file as well - it does have more visibility. If you want to put the NVIDIA copyright in the LICENSE file for the UCX transport, please submit the PR and we'll review/merge quickly.

@tmh97 - are you ok with the proposed change to transport_ofi.c? If so, please submit the PR.

(I can make the changes as well if you request it - but I'd say the best precedent is probably for vendors making the change to propose it and others to review/approve. Thoughts?)

tmh97 commented 1 year ago

Ah! @davidozog I can submit PR to address this. To clarify, you would like me to remove the copyright statement from LICENSE file entirely and instead place it in transport_ofi.c?

If yes, I'll go ahead and submit :)

davidozog commented 1 year ago

Let's remove the Cornelis copyright statement from the bottom of the LICENSE file, and move it toward the top, like Jim drafted above. I don't think there's a need to specify any details beyond the copyright if that works for you. And if you'd like, we can also include that copyright at the top of the src/transport_ofi.c file.

I'll be sure to update the Intel copyright year to 2022 in both places; but if you want to do that in your PR, I would be appreciative ;)

So I think the LICENSE file should look like this:

Copyright 2011 Sandia Corporation. Under the terms of Contract
DE-AC04-94AL85000 with Sandia Corporation, the U.S.  Government
retains certain rights in this software.

Copyright (c) 2022 Intel Corporation. All rights reserved.

Copyright (c) 2022 Cornelis Networks, Inc. All rights reserved.

Copyright (c) 2020 Nvidia Corporation. All rights reserved.

This software is available to you under the BSD license.

And the src/transport_ofi.c file would look like this:

Copyright (c) 2022 Intel Corporation. All rights reserved.                                                        

Copyright (c) 2022 Cornelis Networks, Inc. All rights reserved.

This software is available to you under the BSD license.                                                          

This file is part of the Sandia OpenSHMEM software package. For license                                           
information, see the LICENSE file in the top level directory of the                                               
distribution.

Does that make sense?

tmh97 commented 1 year ago

@davidozog Thanks for getting back Dave! Makes total sense, will open a new PR on Monday. I'll take care of updating that Intel year for ya too nbd :)

jdinan commented 1 year ago

All contributions should be licensed under the license already stated in the LICENSE file (BSD). At the time changes are contributed, authors are agreeing to distribute them under this license. It would be really hard to support individual contributors specifying their own license. "This software is available to you under the BSD license" statement is unusual for open source software and we generally prefer to reference the LICENSE file, since such a statement on its own is incomplete. It was a compromise made some time ago that checked a box for someone (I believe inherited from the original OFI transport code; the OFI folks have since removed this text from most of their code). I would avoid introducing additional copies of this statement if possible. We do need to include this in each file: "For license information, see the LICENSE file in the top level directory of the distribution."

tmh97 commented 1 year ago

Sounds good @jdinan I'll refrain from adding the "This software is available to you under the BSD license" line.