-
Notifications
You must be signed in to change notification settings - Fork 44
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
feat: Add new COPYRIGHT and LICENSE files, remove AGPL 3.0 #251
Conversation
This commit implements changes agreed upon in an online discussion: torrust#136 The AGPL 3.0 license has been removed from the project. In addition, a new COPYRIGHT file has been added to clarify that the project is open source and that contributors retain copyright ownership of their contributions. Two new license files have also been added: LICENSE-APACHE_2_0, which applies to most files in the project, and LICENSE-MIT_0, which is a sunset license that applies to all commits made after 5 years of merging.
Hello @josecelano @WarmBeer @naim94a @Power2All @pataquets @Aimless321 @ftsimas @makefu @greatest-ape, Can you please review these changes, as they retain to the code of this project. In particular the 5-year sunset clause, the purpose of making the old code to be effectively part of the public domain after 5 years. |
What is your reasoning around the 5-year public domain clause? |
Hello @greatest-ape, The reason I introduced the 5-year public domain clause in the MIT-0 license is to strike a balance between protecting the rights of individual creators and ensuring free access to knowledge and creativity for all. I strongly believe that knowledge and creativity should be shared freely, without unnecessary legal restrictions. By making code available to everyone in 5 years, we can avoid burdening project maintainers and ensure the code remains useful to others. Furthermore, the decision to adopt the MIT-0 license reflects our commitment to promoting open sharing of ideas and knowledge, while respecting the interests of individual authors. We understand that legal uncertainty and ambiguity can be a significant deterrent to the use and creation of code, and we aim to provide a clear and predictable timeline for when the code will be in the public domain. Overall, the 5-year public domain provision is not just a legal provision, but a reflection of my desire to foster a more open and collaborative environment for knowledge and creativity, which I hope will lead to greater opportunities for innovation and a more spiritual approach to technology and intellectual property. |
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.
Hi @da2ce7 We can use
license.workspace = true
to inherit the workspace license in all workspace packages. See:
https://doc.rust-lang.org/cargo/reference/workspaces.html#the-package-table
fdc6d51
to
c688e02
Compare
Apache 2.0 license is very permissive as is. I’m not in favor of dropping the requirement for attribution nor for eventually relinquishing copyright completely by putting the code in the public domain. I also think that a time-based license mix is confusing. I would suggest going with plain Apache 2.0 or plain MIT, or possibly the rust ecosystem standard of having the choice between them. |
Hello @greatest-ape, thank you for your reply, Apache 2.0 is indeed very permissive, its main advantage being that it provides protection against software patents, which I consider to be generally evil. Code older than 5 years is really only useful for historical, archival, research and potentially educational purposes. - Removing patent protection and removing attribution requirements is akin to removing unnecessary privileges: what advantage can they give us for such old code, if none, why restrict others? Furthermore, if our project is rots for 5 years without maintenance, this also symbolises that we have fallen out of love with our code: such neglected software should rightly be considered part of the public domain. Using MIT-0 as a sunset license effectively codifies the concept of the public domain on a much more accelerated time scale, which is consistent with the nature of computer code, which ages much faster. Unlike other public domain licences such as CC-0, MIT-0 provides legal protection to developers, which is a useful goal that is prudently maintained. In general, I believe that it is worthily to set the precedent that legal restrictions should only be actively used when they can make a tangible difference: Personally, I don't worry about forcing someone to correctly attribute me when they use my legacy code. Perhaps you don't share this concern either? If so, do you agree that 5 years to be a good balance? What do you think @WarmBeer and @josecelano ? I believe your prospective is also valuable here. |
Well, I do care about attribution, even for code older than 5 years :-) |
Hi @da2ce7, licenses are unknown to me :-( I've been trying to find out the main differences, but there is a lot of legal stuff. In general, I agree with @da2ce7 's intention, which I think is: "The older the code, the freer". I also think 5-year-old freeze code is only useful for academic purposes. But regarding the MIT licence, I've read, it has this drawback: "One major drawback to the MIT license is a result of the time frame it was composed and released. At that time, software patents weren’t utilized; therefore, the MIT license doesn’t include verbiage to release patents to other developers. This lack can be detrimental because developers may shy away from using software with no explicit patent rights release clause. " Regarding getting attribution, my first reaction is to protect what you've done, in my case, maybe only for self-promotion. Still, in the end, we are constantly copy&pasting code or using AI without attribution, and free code can accelerate progress. Maybe we can increase up to 10 years the date for the licence switch. Although I'm fine with 5, especially considering that we are talking about code that has not been changed for 5 years. If the project is still live you will continue getting attribution fo the new code. Besides, there are other ways of indirect attribution. If a derivative work gets traction, people will find out who were the authors of the original software that new software was based on. |
Hello @greatest-ape, attribution seems to be of some fundamental importance to you. I find it interesting that you maintain such a absolute position on this subject. Naturally, under the social construction of copyright, you determine the terms of use of your work. - It is your prerogative to make people attribute you according to the standard you set. For me, and for many other people I know, the sense of fulfillment that comes from allowing a free choice is much more satisfying. Imposing recognition through the imperative of law causes a sense of hollowness. Perhaps this is the main reason I advocate sunsetting copyrights; to open ourselves (and other authors) up to the possibility of unforced voluntary recognition of our work. The balance of 5 years seemed like a good compromise between getting direct recognition for my active projects and being able to enjoy the joy of receiving voluntary recognition for my intellectual legacy. Perhaps from this point of view, this approach may be of interest to you: The act of completely letting go of something without expecting any return creates the possibility that you will be positively surprised when someone appreciates your work and, on their own free accord, decides to say thank you. |
@da2ce7 OK, so your position is that in providing code under the terms of Apache 2.0 license, I'm being hollow and authoritarian. That's a good one. If you don't want your code base to be tainted by the "imperative of law", you might want to remove the code someone working on this project lifted from aquatic a while back. Engaging in this conversation further is not a reasonable use of my time. Good bye. |
@greatest-ape We will naturally continue to appreciate and respect the terms of the license you have chosen. I think your work with Aquatic Torrent Tracker is excellent and deserves recognition regardless of the legal framing you choose. In fact, you should remember, that the main impetus for Torrust Tracker's transition from AGPL 3.0 to Apache 2.0 was the desire for a more harmonious and bidirectional relationship between our two projects. The move to MIT-0 after 5 years has no negative implications that would detract from the goal of licence compatibility between our projects. Moreover, our move to the MIT-0 license in 5 years is something that all our projects already have, as defined in our contribution agreement. This patch just makes it more explicit for this repository. -- I also reject your assertion that my position is that you are " hollow and authoritarian" by only submitting your work under the Apache 2.0 license. To clarify, my position is that I don't see any clear advantage to maintaining the attribution requirement after 5 years, and so I have suggested that it is interesting, rather than authoritarian, that you maintain such an absolute position on this issue. I didn't intend to imply that you are "hollow" for retaining the attribution requirement, rather you may experience some "sense of hollowness" when forcing people to attribute, it is about the missing joy of receiving voluntary acknowledgement, not about you being some sort of "hollow" person yourself. Despite the apparent misunderstanding, I naturally respect your desire to end this conversation between us and apologise; I need to somehow find a way to be more delicate and convey more clearly what I wanted to say. |
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.
All changes are fine by me 👍
Cheers!
I've added the LICENCE to the workspace packages here. I've only added the LICENCE file according to what we have in the [package]
name = "torrust-tracker-..."
description = "..."
license = "AGPL-3.0" I suppose we will also change the package's license if we merge this PR. |
We can move the discussion to https://github.com/orgs/torrust/discussions/11. For now, we are going to standardize the license in all repos. I will apply in a new PR the same license we are using in other repos, which is a dual license AGPL 3.0 and MIT-0. |
This commit implements changes agreed upon in an online discussion: #136
The AGPL 3.0 license has been removed from the project. In addition, a new COPYRIGHT file has been added to clarify that the project is open source and that contributors retain copyright ownership of their contributions.
Two new license files have also been added:
LICENSE-APACHE_2_0, which applies to most files in the project, and
LICENSE-MIT_0, which is a sunset license that applies to all commits made after 5 years of merging.