pasqal-io / Pulser

Library for pulse-level/analog control of neutral atom devices. Emulator with QuTiP.
Apache License 2.0
172 stars 60 forks source link

Add a LICENSE #12

Closed karalekas closed 3 years ago

karalekas commented 3 years ago

Before open-sourcing, you'll need to pick what type of license you want to use (e.g. Apache-2.0). After that, do the following:

  1. Put a copy of it in the repository.
  2. Update the setup function in setup.py to tell it what license you chose.
  3. Add include LICENSE to MANIFEST.in.
  4. Take the shortened license and apply it to all the source code files in the repository (see top of this file).
HGSilveri commented 3 years ago

I don't think I have the authority to decide this on my own. Furthermore, we're not planning on open-sourcing this just yet. This doesn't stop us from advancing with the CI implementation, right?

karalekas commented 3 years ago

No it's definitely not blocking. This issue and #14 as well do not need to be completed now, I just opened them because they came to mind.

karalekas commented 3 years ago

Also, even if you don't plan on open-sourcing any time soon, it might be worth making a licensing decision before sharing the repository with lots of people even privately (e.g. potential customers during private beta testing). Do you agree @nathanshammah?

nathanshammah commented 3 years ago

Thanks @karalekas, I agree. Some specific information on licenses is present on github and a more general overview is found here.

Implications of a license vary broadly, as GNU GPL v. 3.0 is a copyleft one, while Apache 2.0 is good for commercial pipelines, while BSD 3.0 is very permissive, but allows third-party commercial use and close-sourcing.

Note that BSD v. 3.0 is used by a good deal of projects in the Python scientific stack (numpy, scipy, qutip) but Pulser's development is specific for Pasqal systems and their commercial use and may align well with Apache 2.0.

You may also consider adding a CLA (Contributor License Agreement) or DCO (Developer Certificate of Origin), through bots/plugins within Github. CLAs are a bit clunky and are not deemed optimal if a primary goal is to involve a wider community contribution.