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

Question regarding licencing #18

Closed
pukkandan opened this issue Jan 11, 2021 · 5 comments
Closed

Question regarding licencing #18

pukkandan opened this issue Jan 11, 2021 · 5 comments
Labels
question Further information is requested

Comments

@pukkandan
Copy link

I am posting this here because I tried to contact /u/big_bill_wilson on reddit, but he did not repond to me and I do not know how else to get in touch with the maintainers of this fork.

Hi, I am the owner of a yt-dlc fork. I am interested in merging the features of your fork into it as I mentioned here. However, I am confused about the licencing terms. Your licence file says:

All code in this project is licensed solely with the condition that any portion of it is not permitted to be used in the main youtube-dl fork, either directly or indirectly. It is also not permitted to be used in any project that contains contributions from either remitamine or dstftw.

Isn't this contradictory considering your fork also has indirect contributions from these people? Also, doesn't this exclude any youtube-dl forks including mine from using any of your code?

Please let me know if I am allowed to use the code in my fork and whether I can still keep my fork "Unlicence" once I do.

I also have some queries regarding some features, but it is pointless to ask them before I confirm that I can indeed make use of your code in the first place

@pukkandan pukkandan added the question Further information is requested label Jan 11, 2021
@bbepis
Copy link
Collaborator

bbepis commented Jan 17, 2021

Isn't this contradictory considering your fork also has indirect contributions from these people? Also, doesn't this exclude any youtube-dl forks including mine from using any of your code?

Yes it is contradictory. I don't enforce it on myself though, and I'm aware how much of a tool this makes me look. However I do this because I frankly don't want my efforts with this to suddenly end up as a PR to the main fork. This entire fork was created to be in defiance of the main fork because I was sick to death of how they treat external contributors and people who attempt to fix things themselves.

The only way I have weight behind my words is if I can offer something that they don't. If someone takes this code and gets it merged into the main fork, not only do they benefit from my work when I don't want them to, I will lose everything that I have worked for in this fork.

Yes this is the opposite of what open source should be. Yes it's very childish. But I can't in good faith allow this to continue, especially when people are sending them so much praise when they don't understand what's happening underneath.

If @dstftw and @remitamine had their way, they would take down my fork, your fork, and youtube-dlc from github. They already censor other forks as much as they can from their issue tracker, and are probably too cowardly to reply or even acknowledge this exists because they would much rather just delete comments and lock threads instead of giving any sort of reason why they act the way that they do.

Please let me know if I am allowed to use the code in my fork and whether I can still keep my fork "Unlicence" once I do.

A lot of features I'm willing to give out as Unlicence, as they would've never been merged into the main fork in the first place for many reasons (opus/ogg embedding, niconico/bilibili fixes, etc.).

In fact I have previously discussed merging the niconico fixes with the youtube-dlc fork and relinquishing licensing on it, however that seems to have fallen through due to inactivity.

However some others that are relatively popular (such as youtube comment downloading) I don't feel comfortable giving out under a different license right now.

I purposefully waited before replying to this issue because I have been talking with other people about whether or not I should abandon this crusade because it's simply too exhausting to defend and explain sometimes. At this point I am not willing to completely give it up though

As for other quirks and requirements that may cause you issues, I actually did end up replying to your reddit comment:

https://www.reddit.com/r/youtubedl/comments/kluzux/i_have_a_fork_of_youtubedl_with_a_lot_of_fixes/gio7354?utm_source=share&utm_medium=web2x&context=3

@pukkandan
Copy link
Author

A lot of features I'm willing to give out as Unlicence, as they would've never been merged into the main fork in the first place for many reasons (opus/ogg embedding, niconico/bilibili fixes, etc.).

First and foremost, I appreciate that you are willing to give away any part of the code under unlicence in the first place. While I don't agree with how you have licenced the code, I can respect that it is YOUR code and you can do whatever you want with it.


From my understanding, these are a full list of your features:

  1. Split video by chapter
  2. Get youtube comments
  3. Write playlist data to infojson
  4. Embed infojson inside the video file
  5. Thumbnail embedding for mov, mka
  6. Thumbnail embedding for ogg, opus - Requires mutagen
  7. Conditionally remux video
  8. billibilli improvements
  9. Some improvements in soundcloud. I dont quite understand what it does - requires requests
  10. NFLTokenGenerator - I have no idea what it does
  11. rtmp fix - Not a very good fix imo. Even if I take it, I will need to patch it for multiple instances to work correctly
  12. niconico improvements - Requires websockets, python 3.7+. Additionally, a small part of the functionality is under GPL3

  • Splitting video by chapter (1) is a feature I was planning to add anyway. In case you are unwilling to unlicence its code, I will eventually write the feature myself from scratch
  • Similarly, (3-5) are simple enough features that I can implement them myself if needed without reusing any of your code
  • I would have liked to get youtube comments (2), but you already said you are unwilling to provide code for it
  • (6-11) are nice to have. But it's neither important nor simple enough for me to try and implement myself
  • As for niconico, I dont want to restrict my fork to python 3.7+. So I don't think any of the code is usable.

Now that I have explained my thought process, it's up to you (and the other maintainers) to decide which (if any) of the code you want to provide under unlicence

@bbepis
Copy link
Collaborator

bbepis commented Jan 17, 2021

@pukkandan
(1) is already Unlicense as it was taken from a separate pull request (I actually had completely forgotten about this): ytdl-org/youtube-dl#25005

(10) is not related to this fork? Seems to be some artifact from merging upstream code

Out of everything you've listed the only thing I'm unwilling to change license for is (2), so everything else is fair game. I might change my mind in the morning and include (2) as well, but I'll let you know if I do

@bbepis
Copy link
Collaborator

bbepis commented Jan 17, 2021

And as for (9), it's a patch taken from youtube-dlc (which is already Unlicense) which allows for logging into the site with a premium account to download 256kbit AAC streams. It's classified as "working" in the main fork but I haven't actually gotten it working without this patch from ytdlc.

You are right about (11); it was a stop gap to get niconico RTMP streams working at the time, and since they don't exist anymore (and the lack of demand) I haven't looked into fixing it

@pukkandan
Copy link
Author

(1) is already Unlicense as it was taken from a separate pull request (I actually had completely forgotten about this): ytdl-org/youtube-dl#25005

Thanks for that link. I had searched for any PRs for it, but it probably went past me coz the issue is closed

And as for (9), it's a patch taken from youtube-dlc (which is already Unlicense) which allows for logging into the site with a premium account to download 256kbit AAC streams. It's classified as "working" in the main fork but I haven't actually gotten it working without this patch from ytdlc.

Oh, I must have accidentally removed it in my fork. I will investigate

You are right about (11); it was a stop gap to get niconico RTMP streams working at the time, and since they don't exist anymore (and the lack of demand) I haven't looked into fixing it

In that case, I am not going to bother fixing it either

Out of everything you've listed the only thing I'm unwilling to change license for is (2), so everything else is fair game.

Once I go through the code again and decide how to resolve conflicts, I will make a PR in my fork and let you know. Then you can review it and ensure I am not taking any code that you don't want me to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants