-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add AGPL-3 license #475
Add AGPL-3 license #475
Conversation
Thank you @ArendPeter for this super thoughtful write up! ❤️ First of all, I generally agree with your suggestion of licenses for both projects. I think star-server is absolutely worth keeping open source with a strong license like AGPL, and that BSD3 is a good choice for a (relatively) simple reference implementation like starpy. I, too, like the endorsement clause in BSD3. The rest of my comments are therefore relatively minor...
Hope some of this is useful! |
Thanks for the response, and the clarification! I've editing out the public domain reference to avoid confusion |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved!
This was approved in a meeting on 3/5/2024 with the following atendees
|
Adding a few points of clarification.
This is incorrect. We were clear from the beginning that these two goals are inherently in conflict. That wasn't a "realization." We were trying to find a middle ground that would allow us to share our code widely and freely as desired, but with our consent and user agreements on use regarding quality of the implementation, specifically with regards to ensuring clear and correct voter education and instructions. Licencing is not a black and white choice, there is a spectrum of options from always shared to never shared and everything in between.
In the meantime, we will be pursuing a number of follow ups, including more work on trademarking and the Equal Vote Elections certification program as outlined above. |
Disclaimer
The information in this write up is based on a very short dive into the topic. My definitions are base on how I understand the licenses but please correct me if I'm wrong
Overview
Vision: I want the star elections project to exist as a true open source project, but I also want private companies to have a clear reference point for implementing STAR without fear of legal issues.
Hence I suggest we have the star-server repo use an AGPL-3.0 license, and have the starpy repo using BSD 3. This will keep star-server open source, but allow private companies to freely use starpy if they're looking for a reference implementation.
Other starpy options
These are other options I considered for starpy
The LGPL vs MPL approach is nice if we're paranoid about a company consuming our code and then making fundamental changes to the STAR algorithm. If we wanted to go that route then we'd pick between the 2 based on how we want starpy to be consumed (either as a library or a script that they copy).
However going down the LGPL/MPL route would also open up questions on whether companies can rewrite the code in a different language. Under LGPL/MPL a company wouldn't be allowed to rewrite the code and still use it in a proprietary project. This is because rewriting the code counts as a derivation and derivations under LGPL/MPL are required to be open source. That's why I'm advocating for BSD3 over LGPL/MPL. BSD3 removes any friction for people using the license.
Future Equal Vote Certification project
In previous conversations we were hesitant to make these projects too open since we ideally still wanted to have veto power over people who implemented the voting methods incorrectly. However after more discussion we realized that veto power wouldn't be compatible with true open source ethos. (I recommend reading Sara's comment below for clarification on this)
Instead I suggest we create a Equal Vote Certification program. Organizations freely copy and modify our starpy code, but after that they'll need to receive our certification in order to be an officially approved implementation of STAR Voting.
We're essentially using the certification as a carrot instead of using the license as a stick. But that said we still have the STAR Voting trademark, so we can always revoke access to the term "STAR Voting" if people use our brand incorrectly.
References
Overall license overview: https://www.youtube.com/watch?v=UMIG4KnM8xw
Another good overview: https://www.youtube.com/watch?v=RVhCXWoNjfM
AGPL vs GPL: https://www.youtube.com/watch?v=5_n1PN0mWWQ
How companies take advantage of normal GPL: https://www.youtube.com/watch?v=cXLFXV6zIyk
Rewriting into different languages: https://softwareengineering.stackexchange.com/questions/208776/would-copyrights-drop-if-i-re-write-open-source-project-into-another-language
Public Domain vs MIT : https://opensource.stackexchange.com/questions/5601/can-software-be-both-mit-licensed-and-in-the-public-domain