-
Notifications
You must be signed in to change notification settings - Fork 233
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
Cleanroom Code to Return to GPL3 #359
Comments
I'll try to help with this. I don't actually know Go and I don't know too much about PulseAudio's and PipeWire's APIs, so I might not be able to do much. I'll push to the Edit: to clarify, am I allowed to look at the code that existed before the license change in 8b054c2? |
Thanks @kdkasad!
Sorry, ignore what I just said. Yes, you should be fine looking at code that existed prior to that commit, as that's the commit that the license was originally changed in :) |
I am untainted and want to help. To my understanding it is PipeWire-related code that remains, but has not been removed yet? If someone already "tainted" can remove and mark the appropriate sections I can dig into the PipeWire stuff! |
Thanks for reaching out! Once the code is removed we'll add a comment here to let you know :) |
Exciting news! Thanks to @AXDOOMER the removal of the old pipewire-related code is done and the comments have been added. a459bc5 is the commit with the code removed and the comments added. As with last time, a branch should be made off https://github.com/noisetorch/NoiseTorch/tree/reimplementation. I'm not going to post the other commit hash, as it would be considered dangerous. Once again, please do not view the other commits in the branch or study the removed code. @navarro967 and @Karlinator, both of you have expressed interest in updating this code. I know it's been a bit of time since then, please drop a message in here! Hopefully soon we'll be back to GPL3 :) |
@TheDukeofErl I have returned from my slumber. I'm gonna try digging into this this week, finally. |
I'd like to lend a hand if I am able to. I haven't read any of the dangerous sections nor have I seen any of related tainted code. I reviewed the TODOs commit and it does seem like something I can help with. it's unclear how work is being coordinated right now though. are we tracking who is working on what somewhere? |
There is no tracking about who does what at the moment. Perhaps you can coordinate with @Karlinator and @navarro967 about who finds time and/or wants to look at what? You can do so here for example. |
that sounds good to me. I just created an account, |
Is there anything I could help with? |
tl;dr the purpose of this issue is to rewrite the lines of code that were removed then described here a459bc5 so that the software's license can safely be restored to a pure GPL3 license. |
IMPORTANT
If you'd like to help with this effort, please only read headings marked with "(Safe)". I'll also mark sections that should not be read as "(Dangerous)". "Dangerous" parts of this could "taint" anybody who would like to help: that is to say, once the code that has the modified GPL3 has been viewed or studied, a person is "tainted" for a time, until they don't have a recollection of the code in question any more. This is a cleanroom operation and therefore a bit of a pain in the rear...
Preface (Safe)
This ticket is an offshoot of #328, in which the previous maintainer made a demand that the software's name be changed due to their modification of GPL3. It's not the greatest situation in the world by any means but it's arguably the simplest path forwards in terms of returning to a stock GPL3 license as well as being able to use the name "NoiseTorch" once again. With this history in mind, this is not the place to discuss any opinions on the former maintainer or their choices. I understand that there are strong opinions on this matter, however, I would like this to be a constructive path forwards.
Code in Question (Safe)
The code in question is that which was written by lawl after the license change which occurred on February 24th, 2021 in commit 8b054c2. A new branch has been created, which currently has the non-Pipewire related code which lawl wrote gutted out: https://github.com/noisetorch/NoiseTorch/tree/reimplementation. Note that, in general, this branch's commits should not be looked at. The code that must be rewritten is marked with TODOs. These should be used instead. If one desires, the commit which contains the added TODOs (but not the removal of the old code) can be viewed: 8443079.
Note (Safe)
Currently, the modified GPL3 code for Pipewire is present in the branch. To my understanding, this code also cannot be referenced when writing the new code.
Currently Ready to Re-write Code (Safe)
The current code which is ready to rewrite relates primarily to the CLI, the loading of the module, setting binary capabilities, and UI elements. The UI is made with nucular An understanding of this will probably be helpful with the reimplementation of the code.
Code Which is Still Present (Dangerous)
Please do not view if you'd like to help rewrite code. If you'd like to help by removing old code and adding TODOs, this is the section for you.
The code from commit https://github.com/noisetorch/NoiseTorch/commit/fad3e1d4f4e76a74c6e32cf11f892b6ba3022c69 contains the Pipewire code that lawl added to the repository which will need to be clean roomed. The simple version of what has to be done to get this code ready should be staged in two commitsA good reference for how this needs to be done can be seen in the reimplementation branch, by looking at commits e92032e (removal) and 8443079 (descriptions). Remember, doing this will absolutely disqualify you from writing any new code to replace the code you removed for quite a while.
Conclusion (Safe)
I think this probably covers most of the content here. I'll ask the others who are cognizant to let me know what needs to be edited (or to do the edits themselves :)). I'm also relatively sure that my explanation as to what needs to be done is as clear as fog. Feel free to post in the issue with questions but do NOT include anything that could potentially taint others from being able to write code. We need to treat this as relatively hard line in the sand.
If you need to include anything that could be considered "dangerous", please clearly mark the section and use HTML to hide the content from others:
For those not familiar with HTML, this will result in the following:
A nice little dropdown goes here, nothing "dangerous" is allowed in this section
This is where dangerous things should go!I appreciate everyone's understanding in this matter and the relative sensitivity of maintaining this approach, even if it does seem a bit extreme.
The text was updated successfully, but these errors were encountered: