Skip to content
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

New Cvxportfolio versions will have the General Public License #166

Open
enzbus opened this issue Jul 11, 2024 · 0 comments
Open

New Cvxportfolio versions will have the General Public License #166

enzbus opened this issue Jul 11, 2024 · 0 comments
Assignees

Comments

@enzbus
Copy link
Collaborator

enzbus commented Jul 11, 2024

Tl;DR

Starting from Cvxportfolio 1.4, the software license will be the General Public License version 3.

Retro-compatibility

The current license, Apache 2.0, poses no restrictions on this change, nor it requires written agreement from contributors. Source 1, source 2: both the Free Software Foundation and Apache Foundation agree that Apache 2.0 licensed software can be included in GPLv3 projects, no questions asked.

Cvxportfolio versions up to 1.3 continue of course to be licensed as they currently are. I will continue to maintain this legacy version, with security fixes, but my main focus will be on maintaining and developing Cvxportfolio 1.4 and further.

For users: what changes

In most cases, not much. You can continue using Cvxportfolio in your personal projects, for fun or for profit. If your company uses Cvxportfolio you can also continue to use it. If you build software that uses Cvxportfolio as a dependency, and you only use it yourself or within your company, you can continue to do so. If you re-distribute software that contains any part, modified or unmodified, of Cvxportfolio, or calls it in any way, such software has to be licensed under the GPL, or a compatible license. If you don't re-distribute it, meaning you use it internally in your organization or on your computer, no such restrictions apply. This is not legal advice, but to the best of my knowledge that's what the General Public License means in this context. Do consult a lawyer if you are in doubt.

For contributors: what changes

Your contributions are now protected by the GPL. Read about it here. In short, it gives you the assurance that nobody is going to "steal" your intellectual property, and your contributions will remain public.

For companies: what changes

Read the section above about users. If your company uses Cvxportfolio in their internal software repositories, you can continue to do so. If you are a hedge fund, family office, sovereign wealth fund, ..., you can continue using Cvxportfolio for your portfolio optimization and back-testing workflows, and you're welcome to do so. If you are a software company and plan to distribute software, which can be a web application, that contains any dependency on modified or unmodified Cvxportfolio code, such software will have to be released under the GPL or compatible license, and its source will have to be public. Note that this doesn't prevent you from making money from it! For example, you can sell support about it, sell access to hosted instances, and so on.

Repository

The new versions will be in the main branch of the repository. The branch shown on the homepage will remain master for now, and master will continue to host the legacy, pre-GPL versions. Clear notes will be shown.

@enzbus enzbus self-assigned this Jul 11, 2024
@enzbus enzbus pinned this issue Jul 11, 2024
enzbus added a commit that referenced this issue Jul 11, 2024
backporting this commit to origin/master; see GH issue #166
enzbus added a commit that referenced this issue Jul 11, 2024
backporting this commit to origin/master; see GH issue #166
enzbus added a commit that referenced this issue Jul 11, 2024
enzbus added a commit that referenced this issue Jul 13, 2024
files header comments for #166
enzbus added a commit that referenced this issue Jul 13, 2024
Copyright -> Copyright (C), as per  GPL instructions
enzbus added a commit that referenced this issue Jul 13, 2024
added comments to all; minor edits;
hopefully last commit related to #166
enzbus added a commit that referenced this issue Jul 16, 2024
in the comment headers, related to #166;
following instructions from
https://softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html
which is linked on the apache2.0 page about gplv3 relicensing
@enzbus enzbus added the 1.4 label Sep 7, 2024
enzbus added a commit that referenced this issue Oct 24, 2024
This minor release contains various new features and fixes.

Features:
- new constraints Min/MaxHoldings, Min/MaxTradeWeights,
  Min/MaxTrades, FixedImbalance and NoCash (GH issue #180);
- improved ParticipationRateLimit constraint;
- improved exception reporting, now giving full path in
  evaluation tree where exception was raised (GH PR #176);
- redesigned forecast.py, no API changes, still work in progress
  for full support for regularized regression;
- added market_data = None option in Policy.execute; now Cvxportfolio
  policies can be executed (e.g., for online usage) without
  a MarketData server; all data needs to be provided separately
  to each individual object;
- AnnualizedVolatility utility object, for usage in risk constraints;
- added reject_trades_below and max_fraction_liquidity options
  to MarketSimulator, allowing to filter both small and too large
  trades (in simulation, using realized daily volumes);
- minor updates in examples;
- a few new sections in documentation manual;
- changed license from APACHE2 to GPLv3, see explanation in GH
  issue #166;
- moved documentation website to pydata-sphinx theme, and redesigned
  it a little;

Fixes:
- GH issue #146, cache files invalidatation on user interrupt;
- GH issue #177, now using default Python multiprocessing, moved;
  multiprocess to optional dependency;
- various smaller ones.

This release took a bit longer than the usual 2-3 months. We hope to
release 1.5.0 in about 2-3 months from now.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant