mdmintz / pynose

pynose fixes nose to extend unittest and make testing easier
https://pypi.org/project/pynose/
GNU Lesser General Public License v2.1
11 stars 6 forks source link

Wrong license #16

Closed stefan6419846 closed 7 months ago

stefan6419846 commented 7 months ago

It seems like your package is claiming the wrong license: The original nose implementation is subject to LGPL-2.1-only as far as I can see (https://github.com/nose-devs/nose/blob/master/lgpl.txt), but you are distributing your version as MIT.

Apparently, you reuse most of the original code in your fork and thus are forced to make your version available as LGPL-2.1-only as well (see §2 of the LPGL-2.1 license text, especially §2c). (In theory, §3 allows you to choose GPL-2.0 or any later GPL version as well, but this would mean an even stronger copyleft variant.)

mdmintz commented 7 months ago

According to https://stackoverflow.com/a/5610965/7058266, the code can have an MIT license.

Additionally, frameworks such as pytest have used nose code: https://github.com/search?q=repo%3Apytest-dev%2Fpytest%20nose&type=code, and pytest has an MIT License: https://github.com/pytest-dev/pytest/blob/4546d5445aaefe6a03957db028c263521dfb5c4b/doc/en/license.rst#L6

If there are any objections to pynose having an MIT License going forward, those should be made by one of the members of https://github.com/nose-devs.

stefan6419846 commented 7 months ago

According to https://stackoverflow.com/a/5610965/7058266, the code can have an MIT license.

This is more about license compatibility (dependencies of your code, your code as a dependency, embedding third-party code into your code), not about modifying existing licensed code. AFAIK you used the original nose code as a whole and just applied some modifications to make it compatible with recent Python versions most of the time. Summarizing your interpretation of this topic, one could simply eliminate any copyleft effect of copyleft licenses by just changing some lines of the code - if this really would be the case, no company would have forbid licenses with strong copyleft anymore, which does not make sense.

Additionally, frameworks such as pytest have used nose code: https://github.com/search?q=repo%3Apytest-dev%2Fpytest%20nose&type=code, and pytest has an MIT License: https://github.com/pytest-dev/pytest/blob/4546d5445aaefe6a03957db028c263521dfb5c4b/doc/en/license.rst#L6

If they really use nose code, this would be an issue as well. As far as I can see from the search results, they only are about providing a nose compatibility layer?

If there are any objections to pynose having an MIT License going forward, those should be made by one of the members of https://github.com/nose-devs.

IANAL, but: While the original developers are the ones which could take legal actions, anyone can point out such issues - which I did as I consider your current approach wrong from a license compliance perspective.

mdmintz commented 7 months ago

Lots of nose made its way into pytest (MIT License). Some of it is just renamed methods to provide support for converting old nose scripts into pytest scripts: https://github.com/pytest-dev/nose2pytest

Another thing: GitHub never recognized the original nose license, as it doesn't appear in the original repo's information section. GitHub does recognize the MIT License for pynose:

Screenshot 2024-02-01 at 10 45 22 AM

Since developers use that information to determine the license of a repo without having to go through all the files, that's another reason why pynose can have the MIT License.

Based on all those things, (and any information listed previously), it's safe for pynose to use the MIT License.

stefan6419846 commented 7 months ago

Lots of nose made its way into pytest (MIT License). Some of it is just renamed methods to provide support for converting old nose scripts into pytest scripts: https://github.com/pytest-dev/nose2pytest

Sorry, but I still consider this wrong unless you are able to provide actual evidence. Nevertheless, this is unrelated to pynose. nose2pytest is just some migration helper which does not seem to really use nose internals, but is a standalone tool with an original idea - new/original code can use whatever license the author wants in most of the cases.

Another thing: GitHub never recognized the original nose license, as it doesn't appear in the original repo's information section. GitHub does recognize the MIT License for pynose:

GitHub is rather strict within its parser and sometimes even wrong for slightly modified license texts. nose states the "GNU LGPL" in its metadata, thus showing the intent of the developers on which license applies: https://github.com/nose-devs/nose/blob/7c26ad1e6b7d308cafa328ad34736d34028c122a/setup.py#L106 https://github.com/nose-devs/nose/blob/7c26ad1e6b7d308cafa328ad34736d34028c122a/setup.py#L116 This is what is being rendered on PyPI as well: https://pypi.org/project/nose/

https://github.com/nose-devs/nose/blob/master/lgpl.txt just provides some basic clarification that at least LGPL-2.1 is meant here, although still not explicitly stating LPGL-2.1-only or LGPL-2.1-or-later, thus we have to assume LGPL-2.1-only.

Since developers use that information to determine the license of a repo without having to go through all the files, that's another reason why pynose can have the MIT License.

This is a generalization which does not hold true. While it might be a first hint, the package metadata (license field and trove classifiers) are much more reliable in most of the cases. For final reliable results, scanning all source code files and looking for suspicious files/comments manually usually is required.

While I am not aware of any studies about the quality of the autodected licenses of GitHub (my observations only showed that quite some cases do not show any and sometimes it tends to be wrong), actual studies have shown that quite some packages tend to have incomplete license declarations - including cases where the actual licenses imply a copyleft effect, while the package itself does not declare one (which I consider pynose an example of as well).

Based on all those things, (and any information listed previously), it's safe for pynose to use the MIT License.

As explained in this and the previous comment, the MIT license is wrong here and indicates false facts for everyone trying to ensure that pynose is used in a license-compliant manner.

mdmintz commented 7 months ago

I'll wait for a member of https://github.com/nose-devs to request a license change here (if that's what they want).

nose is their repo... They should get to decide if a change is warranted. They've been made aware of the fork in https://github.com/nose-devs/nose/issues.

In the meantime, pynose will hold onto the MIT License. Their original license states (https://github.com/nose-devs/nose/blob/master/lgpl.txt): "we offer you this license, which gives you legal permission to copy, distribute and/or **modify** the library." Consider it modified. It also states: "if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others." I've stated very clearly at the top of the README that pynose is an updated version of nose.

stefan6419846 commented 7 months ago

If I would treat my contracts and other legal agreements like you treat license texts, which are some sort of legal agreement as well, I would get into trouble rather quickly. With your approach, I could resolve all license-related headaches, including strong copyleft effects, with some small packaging overhead - you would not need extensive guidelines in this case and could quickly discontinue any license scanning and efforts like OpenChain.

I consider it rather unlikely that some of the group members will get in touch with you about this as eight years after the last commit and with nose2 being a massive revamp with a less restrictive license (actually due to user request) and I do not think that the corresponding issues are monitored sufficiently. There does not seem to be any evidence that all contributors of nose agreed to this change as well.

Due to not using nose (any more), this does not affect me, and I just wanted to point out this oddity which can cause unexpected issues due to a possibly hidden copyleft effect. Our opinions/interpretations contradict each other and as long as I do not start including pynose as a dependency, I see no further advantages of continuing to argue with you about this.

stefan6419846 commented 2 months ago

Having a look at PyPI projects which have a requirement on pynose, it seems like usage there is rather limited luckily:

This seems to match https://github.com/mdmintz/pynose/network/dependents?dependent_type=PACKAGE as well.

Data retrieval I just did a basic query against the SQLite3 database provided at https://github.com/pypi-data/pypi-json-data: ``` sqlite> .open pypi-data.sqlite sqlite> .mode csv sqlite> .output pynose_usage.csv sqlite> SELECT name, version, home_page, license, requires_dist FROM projects WHERE requires_dist LIKE '%pynose%' ORDER BY name, version; ```
kytta commented 2 months ago

Their original license states: "we offer you this license, which gives you legal permission to copy, distribute and/or **modify** the library."

@mdmintz mind you, this is the preamble that you've cited here, which is in no way a replacement for the actual licence. The LGPL does not allow you to do what you're doing now.

The SO answer that you link in your first comment takes Section 1 into account:

You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.

(Emphasis mine) This means that, if you would use nose as a dependency (e.g. by doing pip install), you are free to do so, as long as you re-distribute the code freely and verbatim.

Consider it modified. It also states: [...]

Again, it's still the preamble. Yes, you are modifying nose's source code. This is where Section 2 comes in:

You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

[...]

c) You must cause the whole of the work to be licensed at no
charge to all third parties _under the terms of this License_.

[...]

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, [...]

(Emphasis mine) As such, even if you consider 5%, 10%, 50% of code to be coming from you, your whole work has to be licensed under LGPL 2.1. What you could do is to do a fork of nose (with example name nose2), which should be licenced under the LGPL, and then include it as a (verbatim) dependency of pynose, which would then consist of your work only, which you'd be free to license as you wish.

I've stated very clearly at the top of the README that pynose is an updated version of nose.

This is good, but this does not satisfy all of Section 2 requirements.


Another thing: GitHub never recognized the original nose license, as it doesn't appear in the original repo's information section. GitHub does recognize the MIT License for pynose

Since developers use that information to determine the license of a repo without having to go through all the files, that's another reason why pynose can have the MIT License.

Based on all those things, (and any information listed previously), it's safe for pynose to use the MIT License.

This is utterly wrong. Whether pynose is allowed to use the MIT License is not (and never will be) determined by what GitHub is showing in its UI. It's a comfort feature, not legal advice. The licence can set via the accompanying documentation and/or metadata files; in other words, it's something that gets committed by the author on purpose, not something that some backend code infers from the file tree. GitHub does not recognize it because the file is not named "COPYING", but these facts do not make nose public domain. The licence of nose is defined in setup.py and somewhat in the changelog.


If there are any objections to pynose having an MIT License going forward, those should be made by one of the members of @nose-devs

True, but this does not allow you to use the MIT License in the hopes that others won't notice/won't care. If I steal your bicycle, and you don't tell the police about it, my actions would still be illegal, no matter if you're okay with it or not.

fogti commented 2 months ago

@kytta

it's safe for pynose to use the MIT License.

huh, that appears to be in contradiction to the rest of the post.

kytta commented 2 months ago

@fogti whoops, forgot the citation formatting 😅 this is a quote from here. I've updated the comment, thx for the heads-up!

mdmintz commented 2 months ago

I've read your thread, @mgorny https://social.treehouse.systems/@mgorny/112716339989172108

I see lies, hateful speech, and slander from you. Sometimes all in one comment.

Screenshot

It just sounds like you just don't want people to keep using nose (or any fork of nose, such as pynose, for that matter). Clearly it isn't dead, as companies are still using it. Lots of usage comes from private repos, which won't show up in the "Dependents" tab on GitHub. Most visitors to pynose are actually quite happy to see that someone stepped up to maintain nose for the next generation (via pynose). Even though there are more-advanced unit-testing frameworks available for Python, (such as pytest), nose still has a place in the world today. It's also not very polite to dictate to people which frameworks they can't use anymore. Maybe some people don't have the luxury of time to migrate tests from one framework to another, or they feel that their energy can be better spent elsewhere. Take your witch-hunt somewhere else.

thesamesam commented 2 months ago

In addition to the excellent points others have made, let me point out explicitly:

According to stackoverflow.com/a/5610965/7058266, the code can have an MIT license.

The answer you cite even says:

As far as distribution counts, you need to put the whole package under GPL. MIT code inside of the package will still be available under MIT whereas the GPL applies to the package as a whole if not limited by higher rights.

eli-schwartz commented 2 months ago

If there are any objections to pynose having an MIT License going forward, those should be made by one of the members of https://github.com/nose-devs.

Note that any person with code in nose that has been infringed by this fork, has the legal right to make a claim of infringement, not just project members of https://github.com/nose-devs (and indeed, the nose-devs project members could include people who only contributed to nose2, and have no copyright claims on nose, so the connection to project members is entirely off target).

jubalfh commented 2 months ago

when it's written, it's libel, @mdmintz, and it's clearly not the case of libel. do try to consult a lawyer before you ignore licensing terms of software you want to distribute or accuse other people of doing things you can't even name.

zougloub commented 2 months ago

@mdmintz before you rightfully get publicly shamed and find your way in history books, you should to take some time to reflect, apologize and fix your mistakes; you may also obtain permission to relicense from the nose devs but that wouldn't make what you did right enough.

mdmintz commented 2 months ago

Be sure to read https://blog.jquery.com/2012/09/10/jquery-licensing-changes/ in full. One of many examples where a license could be switched over to MIT. The Free Software Foundation site confirms that the MIT License is a “lax, permissive non-copyleft free software license, compatible with the GNU GPL.

"Over time, more than 500 people have contributed to the projects currently managed by the jQuery Foundation."

The license was able to switch over from a GPL to MIT without the sign-off of the over 500 contributors to the project.

And I did state earlier in https://github.com/mdmintz/pynose/issues/16#issuecomment-1920075986 that "If there are any objections to pynose having an MIT License going forward, those should be made by one of the members of https://github.com/nose-devs." ...meaning that I wasn't opposed to the idea in general, but so far I haven't seen Jason Pellerin show up to comment on this thread. No one said anything about pytest reusing nose code in places over its history (and pytest has an MIT License). An MIT License (https://en.wikipedia.org/wiki/MIT_License) is also in the best interest of most stakeholders involved in this. So far, it seems that most of the people in this thread who are against an MIT License are just trying to erase the legacy of nose (https://github.com/mdmintz/pynose/issues/16#issuecomment-2212339390).

pynose keeps the legacy of nose alive by making it available to the next generation of Python developers, who are unable to keep using the original nose because it is no longer functional on the latest versions of Python as it currently stands.

thesamesam commented 2 months ago

That was possible because of a CLA where copyright was assigned to the jQuery Foundation. Do you have a CLA signed by the majority of nose contributors assigning copyright to you?

jubalfh commented 2 months ago

@thesamesam and because jquery was dual licensed (GPL and MIT) at that point.

eli-schwartz commented 2 months ago

One of many examples where a license could be switched over to MIT.

The license was not switched over to MIT -- it was always MIT, and they took away the option to accept it under a dual license agreement as GPL.

It is not legal to relicense software without the agreement of the original authors (a CLA is a case where you acquire that legal agreement in advance, and, appropriately, a CLA is a legal document). There is no ambiguity here. You cannot rationalize your actions into being legal.

jubalfh commented 2 months ago

@mdmintz listen, this is really simple: you can't unilaterally change the terms of distribution of the code to a less restrictive license without agreement from the original copyright holders. you're now in breach of the LGPL terms, and the options you have are that either you get that approval from the original authors, or you restore LGPL-2.1 licensing, or, if you're unwilling to do the right thing, you will remove the repository.

durin42 commented 2 months ago

Pointed here from another thread: you absolutely can not just relicense this, even on the say-so of members of the nose-devs org: you'd need to contact and get approval from all contributors of any code beyond de minimis fixes, which includes me.

Nobody contacted me, so this is definitely a license violation.

(I'm all of: a contributor to nose, have done license compliance enforcement at multiple companies, and participated in a relicensing effort for a significant OSS package. I know pretty well of what I speak here.)

mdmintz commented 2 months ago

Waiting to hear from the official nose people:


These are the official nose maintainers according to https://pypi.org/project/nose/

Screenshot 2024-07-08 at 12 56 32 PM

And this is the official nose author:

Screenshot 2024-07-08 at 1 00 16 PM

I would like to hear first what any of these 3 people have to say. Then we can resolve this.

durin42 commented 2 months ago

You've missed my point: you don't need to hear from any of them, you just need to mark this as LGPL. You can't re-license it unilaterally, and neither can those three individuals.

For what it's worth I think it's a great thing to get nose working on newer Pythons for the benefit of its dependents.

alerque commented 2 months ago

So far, it seems that most of the people in this thread who are against an MIT License are just trying to erase the legacy of nose

This is totally orthogonal and almost laughably irrelevant. Anyone is welcome to keep the legacy alive and fork/maintain nose all they like, but they (and you) are legally bound to do so under the original licensing terms.

Waiting to hear from the official nose people:

This is also irrelevant. None of these people can legally make this change either. They would need to all three agree add well as contact every other contributor in the history of the project and either get them to sign of on the change or remove their contributions. Until that is done the answer is categorically "no, you cannot do this*. It must be reverted to LGPL. Do whatever modifications you like but you cannot relicense the project.

jubalfh commented 2 months ago

(note that the cavalier, for want of a less insulting word, attitude to licensing terms can be also visible in other author's package, pdbp. which started as a fork of pdbpp, with history erased, and no attribution to original authors given whatsoever, despite the original code being licensed under BSD 3-Clause. we may have a plagiarist here, folks. the original license was also, quite pointlessly, changed to MIT.)

mweinelt commented 2 months ago

Unfortunately pynose was packaged under the deceptive licensing into nixpkgs. I'm currently working on its treewide removal.

zaphar commented 2 months ago

@mdmintz , You appear to be willfully misunderstanding how these licenses work. As it stands @durin42 at a minimum could report you to github as violating his copyright. So could every single person who ever contributed any code to nose that is present in this current repository. If he hasn't already then it's probably because he's trying to give you a chance to do the right thing.

You risk getting banned on Github by refusing to restore the original licensing. I've done license compliance before as well as some of the other people on this thread. I hope you recognize your mistake and rectify before you do any more damage to your reputation than you already have.

Kangie commented 2 months ago

I was planning to leave well enough alone, however https://circumstances.run/@mawhrin/112751716246069698 makes it clear that this is not an isolated incident.

I have requested review on PyPI via the Python Software Foundation legal team as per PEP541. My initial request was for this package however I have asked for all packages by this maintainer to be pulled pending review:

then

TL;DR:

https://github.com/mdmintz/pdbp/issues/65 https://github.com/mdmintz/tabcompleter/issues/10 https://github.com/mdmintz/sbVirtualDisplay (fork of https://github.com/ponty/PyVirtualDisplay )

Probably more.

I am also aware of tickets being logged against downstream providers of this package such as Red Hat and MacPorts.

tanepiper commented 2 months ago

@mdmintz This is not how licensing works.

You are also creating a technical and legal minefield for organisations to use this code - I'd look at something like this and pass, as using your code opens up liability of use.

The only people you seem to be serving are techbros who literally don't give a f*ck about licences, copyright or any moral decency.

penguinpee commented 2 months ago

Waiting to hear from the official nose people:

How about you ping them, rather than posting a screenshot, which won't get their attention.

@jpellerin @jszakmeister @kumar303

In fact, as others pointed out, you'd need to contact all contributors. Opening an issue in https://github.com/nose-devs/nose is not enough, since not all contributors necessarily still follow activities in that repo.

I am also aware of tickets being logged against downstream providers of this package such as Red Hat and MacPorts.

I'm the downstream maintainer in Fedora. The package is only available in the development branch (rawhide) of Fedora, not in RHEL or EPEL.

I was made aware of this issue recently. After having read the discussion here and heard the advice from the Fedora community, I've decided to retire the package from Fedora unless the licensing issue is resolved.

Since opinions on the matter whether this is acceptable seem to be divided, I could pass this on to Fedora's legal team. That team is comprised of real lawyers and they advise in licensing questions when they come up.

@mdmintz would you heed the advise of real lawyers? Otherwise, I'm not going to waste their time.

yellowberryHN commented 2 months ago

People behaving in this way in regards to licensing is why the MIT license gets a bad reputation and people insist on using leech licenses. Please, don't behave in this way @mdmintz

astatide commented 2 months ago

Somewhat lost in the discussion here is that this: https://github.com/mdmintz/pynose/commit/5b7314a0a7c1ad61a98fb506dca54a095aa9ad30

where rather than forking a repo, you instead copy/paste it wholesale into your own repo thereby removing attribution and credit

is incredibly unethical and should not be tolerated. This is apparently not the first time you've done this, either, and it should be considered unacceptable practice in the open source community.

There is absolutely no valid reason for you to have done this, especially as the existing nose repo is here on GitHub.

kumar303 commented 2 months ago

Frankly, I'm disappointed in the tone of this discussion. I realize people in the open source community feel betrayed and are frustrated but one can still express all of that using kindness.

@mdmintz thank you for resurrecting Nose and giving those with legacy software another option for migration. Please fix the license. LGPL is just as good as MIT and you won't lose any commercial embedding ability. If you don't change the license, you will be removed from many upstream repositories, as you can already see happening.

To the best of my memory, Nose was originally licensed as LGPL to acknowledge that free software can only thrive when it's free. The L in LGPL acknowledges that for economic reasons, one must sometimes embed free software in commercial software and that's OK.

pbrkr commented 2 months ago

To echo @kumar303, I think all the necessary points have now been made. We've got across that there is a consensus on how licenses need to be handled and that this isn't just one or two opinions. Let's give @mdmintz a little space to understand this and hopefully rectify the issues.

I intend to leave these issues for a week or so before coming back to them if they're still unresolved.

astatide commented 2 months ago

I think all points regarding the license have been made, yes. As such, I've opened up the issue regarding the missing git commit history and attribution in a second issue, for anyone following along: https://github.com/mdmintz/pynose/issues/28 as it's worth having addressed.

mdmintz commented 2 months ago

@kumar303 Thank you for showing kindness and the acknowledgement! I've created https://github.com/mdmintz/pynose/pull/29 for this. You may review it. I think I trust you the most on this, as you've shown respect for maintainers.

jubalfh commented 2 months ago

a word of advice: don't play coy, don't play victim. you – the person who has shown zero respect to the authors of the software you “invited to github” under your name, without having even the decency to name them and their contributions – are in no position to complain about getting no respect.

you're not the victim. you're the offender.

i understand this might sound harsh, but you need to realise that this is a bed you've made for yourself, and there's only one person who could've avoided this mess: yourself.

astatide commented 2 months ago

@kumar303 Thank you for showing kindness and the acknowledgement! I've created #29 for this. You may review it. I think I trust you the most on this, as you've shown respect for maintainers.

You seem to be confusing people calling out corrections (politely, I might add) with "abuse", "cruelty", and "disrespect". It is far, far more disrespectful to unilaterally erase the contributions of hundreds of maintainers while violating their copyright and then deny you did anything wrong. Repeatedly.

You have but one reputation, and you are dangerously close to squandering it.

alerque commented 2 months ago

The proposed license changes in #29 do not fix the problem, they are just as illegal as the current situation. You are not in a position to re-license the project, period; whether the proposed change is another license or a dual-license situation makes no difference.

duxsco commented 2 months ago

I doubt this whole discussion would've taken a different direction if the issue was opened with this text https://github.com/mdmintz/pynose/issues/16#issuecomment-2217117154. It just got so much out of hand that an excuse ("you all should've been more polite") was sought for to not loose face although already lost.

mdmintz commented 2 months ago

Everyone should note that @kumar303 is one of the original nose maintainers. Downvoting him is not a sign of respect for nose or GitHub repo maintainers.

Screenshot 2024-07-09 at 12 34 13 PM

Proper respect should be given where deserved. For me, this is about showing respect for the large and very dedicated community of GitHub repo maintainers. Seems like there is another underlying issue going on, which may explain why some maintainers are being targeted disproportionally.

zougloub commented 2 months ago

There will always be random passer bys with random opinions but that background noise doesn't give you excuses to try and find underlying causes other than the only root cause which is a long string of your own past actions.

cbodley commented 2 months ago

@mdmintz are you planning to restore the original LGPL license, without a dual MIT license? if so, may i kindly request that you reopen this issue in the meantime?

i appreciate the efforts to revive this library. it would be a shame if this confusion about licensing forced everyone to stop packaging/distributing it. these comments about witch-hunts, respect, downvotes etc are completely beside the point

astatide commented 2 months ago

Everyone should note that @kumar303 is one of the original nose maintainers. Downvoting him is not a sign of respect for nose or GitHub repo maintainers.

Screenshot 2024-07-09 at 12 34 13 PM

Proper respect should be given where deserved. For me, this is about showing respect for the large and very dedicated community of GitHub repo maintainers. Seems like there is another underlying issue going on, which may explain why some maintainers are being targeted disproportionally.

Hey, thanks for including me in that screenshot. Congratulations on finally actually acknowledging a single thing I've contributed or asked to in this thread.

You have avoided every opportunity to give any credit or proper attribution to the original maintainers except here, when forced to, by pointing out the license problems. You specifically avoid forking repos, despite the button being right there; you did NOT include the AUTHORS file; you put solely your name on the copyright. You want to talk about disrespect? Literally everyone here has tried to help you get your fork into compliance and you consistently argue against them and it's only until someone says something you can twist into being supportive that you call it "respect".

Why do you even WANT this licensed as MIT? Why have you gone so far out of your way to never link back to the original repo in MULTIPLE projects? You're disrespecting not just the authors but the open source movement itself. Ignoring my questions but passively showing my name in a screenshot and calling me "disrespectful" is far more disrespectful. Do you not like that my avatar is femme coded with pink hair? People here are trying to help you. You adding a couple lines to a bundle of stolen code doesn't make you a "maintainer", it makes you a plagiarist. Don't steal people's work and pollute the community then complain when the community is upset.

eli-schwartz commented 2 months ago

While I broadly agree with your comments about respect w.r.t. stripping out attribution....

Do you not like that my avatar is femme coded with pink hair?

Occam's Razor advocates that this comment is deconstructive and unhelpful and also, well, completely offtopic and inaccurate.

(It is possible I am missing context from outside of this ticket or any of the linked tickets; if that is the case then by all means please correct me.)

mdmintz commented 2 months ago

There's a lot of false accusations going on. I do acknowledge people's work.

Screenshot 2024-07-09 at 1 32 27 PM

Also, forking a repo a 100% legal, and encouraged. GitHub has a nice Fork button.

Also, maintainers lead busy lives (full-time jobs, multiple repos, etc), and don't always get around to fixes right away. Sometimes I myself have to wait a few months for a new release to be shipped in a repo I use. The big crowd of people that just showed up here only started coming a few days ago. And I did reach out to official maintainers for any clarification I needed. Give people some breathing room to get things done. As people can see, there's a lot that I work on, and that only includes public GitHub activity. People have day jobs too.

astatide commented 2 months ago

GitHub has a nice Fork button.

I am saying you literally do not use the fork button despite it being there, not that it's illegal to fork. And that acknowledgement is for one individual. In addition, this behavior is spread across multiple repos. Do you understand why this no longer appears to be in good faith? Yes, people are busy, and yes, people have day jobs. Part of your day job, as a developer, is to respect the attributions and licenses of the software you use and fork.

You specifically did NOT fork this from the nose repo, instead choosing to copy/paste/commit all of nose into your repo... without the AUTHORS file (and with the incorrect license). Multiple people have pointed this out to you. You instead deflect, constantly, even going so far as to delete this type of issue when it's raised in other repos you control. You see how that comes across as in bad faith?

astatide commented 2 months ago

Also, maintainers lead busy lives (full-time jobs, multiple repos, etc), and don't always get around to fixes right away.

It took you more effort to copy/paste/rm the AUTHORS file/commit/push nose into your repo than it would have to have forked it. You had a reason for it, whatever it is. And ensuring proper attribution is given isn't "a fix" that needs to be done, it's something that you should have automatically had as part of your workflow. Whatever your reason for "forking" this repo (and numerous others) in such an unusual way is, you should at least acknowledge it and say you will fix it, not giving some spiel about how you're busy as if everyone here isn't busy as well.

mdmintz commented 2 months ago

As I said before, I'm working on things. There were already multiple links to nose from the ReadMe, so clearly I wasn't trying to hide things.

mdmintz commented 2 months ago

PRs were merged. Up next, let's see if we can get these changes merged back into the original nose repo, which hasn't been touched since 2016. Find me a maintainer of https://github.com/nose-devs/nose that has write-access, and then we'll put a plan in motion to merge this in and ship a new release to PyPI for the original nose.