Is it allowed by TOS?

Let's say, there is a script posted as MIT license by myself with version number 1.0. And I want to upload the version 2.0 and changing it to GPL. Is it allowed by TOS of OUJS?

Re: @ts:

... a script posted as MIT license by myself with version number 1.0. And I want to upload the version 2.0 and changing it to GPL. Is it allowed...

Sure MIT is super weak on terms... however GPL, and it's variants, can be sometimes called the "sticky" one (as it was called on userscripts.org back in the day).

The general rule of thumb is "once GPL always GPL" (and this is actually spelled out in the license text if you feel like reading it along with your future copy of War and Peace ;) i.e. "Keep it in the family", "What happens in Vegas, (should) stays in Vegas", etc.

What is more important to watch out for is the reverse. Technically you can try to change from GPL to another non-GPL but anyone can immediately change it back, and include any future fixes from the non-GPL, because you, even as the source author, would be violating the terms of GPL. The source author agrees too to keep the software free for all time. We had an Author that was constantly passive-aggressive and eventually pushed the wrong button by changing from GPL to non-GPL by trying to add terms to the license that were clearly unenforceable... that's not allowed by the license and can be construed as a unlicensing to another. Licensing is mostly on the honor system here but that person did a bad change right in front of upper administration so he got removed permanently. If someone can prove it was GNU licensed before a specific date of non-GNU licensed then we have the authority to take action to remedy that (one of the entry points where our TOS comes in). That's why dates/times, i.e. script statistics, should be important to keep.

You still maintain Copyright of your changes but another can fork it with their Copyright of changes but include your Copyright notice (usually @copyright but can be boring non-metadata text too ;). If it's MIT then you might not have standing for remedies (legal informational terms passed onto me here as is the entirety of this reply) but if it's GPL you have very solid standing for remedies. Copyright is always maintained by publishing Code but the leveraging needs either minimal protective/permissive licensing like MIT or (hopefully) maximal GPL-3.0-or-later.

GNU is true copy left and is designed to keep software free. That's why it's so verbose in the license.

We cover code snippets and comments here under GFDL which means they too are free for all time and thus may be migrated for use immediately to GNU licensing.

If you take a look at GM_config here there are several Authors but the license must always remain LGPL. We give all contributors (that includes myself) attribution in the source and that must remain for Copyright acknowledgement. There are a few variants of GM_config out there with other tweaks but we can at any time incorporate those into the first authorship, which is owned by @sizzle, provided we give some acknowledgement of where the change came from... usually a line of who done it and why (although the "why" is usually done in commit summaries).

Be wise and keep every persons attribution with their original licensing then things usually go smoothly. When someone licenses improperly or ineffectively it only hurts the industry/community as greed shouldn't be a primary motivating factor for the betterment of humanity. /soap box

Anyhow... hope the mini-novel here explains it enough. :)

But if I understand correctly: I cannot change license for existed version. But for a newer version, as long as all contributor agree, I can change it to any license and even close source it...

Anyway, I just want to make sure about the TOS of site. :)

I cannot change license for existed version

Versioning has no relevance unless it's declared in the license text and is enforceable. GPL states that you should give attribution and what ever changes you made. This includes version bumping however you may not leave GPL hence the phrase "sticky" that was mentioned on userscripts.org back in the day. What you are saying to everyone is that all one needs to do is version bump and change the terms of the licensing protections that is granted to the publisher by that license. That is very wrong and can lead to court costs and fees if litigation is ensued.

I can change it to any license and even close source it...

From MIT to any other is usually possible because it's a weak termed license. With GPL you would be violating the terms of the licensing protections that GPL affords you. MIT is super weak as I mentioned... it can be tranformed over very easily which is why I never use it however I do respect an Authors use of it by propagating it. I pick GPL (and sometimes LGPL) just to keep things simple to explain. All code derivatives must remain GNU forever no matter what anyone does. If they violate my branding they better be ready for DMCA/CA actions in a Court of Law. Usually I try to work with the alleged culprit first but it they become obstinate I have many remedies available. DMCAs will end up getting your account terminated.

Anyway, I just want to make sure about the TOS of site.

Be inept and flip to GPL and then out of GPL and we'll be able to take action (this usually means removal). It's actually a quick way out the door to do it in front of administration with negative advertised karma. If you need further reading from the official source try reading their FAQs, specifically, but not limited to, at https://www.gnu.org/licenses/gpl-faq.en.html#TheGPLSaysModifiedVersions :

~ "Further derivatives must always include GPL licensing." (this includes yourself because you fall into the "everyone" category last I checked ;)... clear as day even from a laymen point of view.

If you look at Apache licensing it's pretty strict too (a few others too but beyond the scope)... those you shouldn't mess/change with either or you'll have dozens of entities upon you. If we receive a DMCA on verifiable defined licensing, we can and will take the appropriate action.

Bottom line is you should have thought of licensing first (just like with @name, your identity, etc.) before publishing then you wouldn't be in this predicament. If you open yourself up to issues with Copyright violations/infringement you are going to never get what is really important done.... Userscripts!

While licensing Code is a "newer concept" to Userscripts it's actually older than I am and even my mentor who is ready for retirement.

Another note if you close source something you open up yourself as an Author to liability claims so that could be a pretty inept decision as well hence why contract law exists. If you think GPL is verbose you should see contract law documents. ;)

Sorry but it confused to me. Is this mean one cannot dual license some software with both GPL and MIT? If one could. Why could not just dual license all previous versions under MIT and use it in close source project?

Re: @ts:

Is this mean one cannot dual license some software with both GPL and MIT?

This is a completely different question than what you asked initially.

This is okay:

// ==UserScript==
// @name          My Script
// …
// @license       MIT
// @license       GPL-3.0-or-later
// ==/UserScript==

... in fully supported SPDX short identifiers this is (GPL-3.0-or-later AND MIT).

This is not okay:

// ==UserScript==
// @name          My Script
// …
// @license       GPL-3.0-or-later
// @license       MIT
// ==/UserScript==

... in fully supported SPDX short identifiers this is (MIT AND GPL-3.0-or-later).

... notice the order here. MIT primary can not include GPL secondary but GPL primary can include MIT secondary. A good way to keep this clear in your head is to make the .user.js of GPL and use a Library of MIT instead. Then you won't make any mistakes because it is visually clearer. OUJS doesn't support SPDX conjunctions directly because it's physically impossible with @license format... so you get to use two @license keys and we currently pick AND as the rule of thumb.

Once you add GPL licensing to Code it can't be removed ever period. e.g. it's "sticky" and must remain free software forever with all the conditions that GPL requires.

... posted as MIT license by myself ... And I want to upload changing it to GPL.

Again yes you may do this. But do not reverse the decision. Already explained this above.

OUJS starts off by supporting dual licensing with @license, usually one for Code (OSI approved) and the other for Content (CC). In SPDX terminology/syntax it is conjunctive i.e. AND... not disjunctive i.e. OR. OUJS does not support this sort of double licensing, i.e. picking one or the other.

I realize that you are trying to understand this but your focus is quite skewed and I literally don't have the necessary time to assist you with this. You must understand a license (or licenses) before you use it (them). If you don't hire a very expensive contract attorney who knows a lot about intellectual property rights then you should probably stick with MIT since it's a super simple license.

Why could not just dual license all previous versions under MIT and use it in close source project?

On another of your question tangents... Closed source licenses can be considered "Vanity Licenses" because it involves drawing up a written contract that is physically signed by all parties. Is this really something you want to do? If so hire an attorney.

There are a bunch of resources on the web that you may search for in a search engine (e.g. bing, duckduckgo, google, yahoo). One of the more common ones that I see referenced is https://tldrlegal.com/.

I find the simplest solution is to use GNU everywhere and then it makes it a lot less complicated for me as an Author myself... but this is a preference to maintain my serenity. :)

A userscript author has a lot of flexibility in relation to their own original code, the code for which they are the copyright owner. They can choose the license for each release, and change the license for any subsequent release. (From the licenses allowed on this site, of course.)

If a userscript author incorporated someone else's code into their script, their use of that third party code in their script is subject to the license terms for that code. If the author created a work based on (or incorporated) MIT-licensed code, there aren't many limitations in what license the author chooses for their userscript. On the other hand, if the author created a work based on (or incorporated) GPL-licensed code, then they cannot license their usercript under any license other than the same or newer GPL (or AGPL) license.

Once you add GPL licensing to Code it can't be removed ever period. e.g. it's "sticky" and must remain free software forever with all the conditions that GPL requires.

The GPL-licensed release continues to be under the GPL license, but the author (copyright owner) can re-license on on other terms. Why? Because the author (copyright owner) did not receive their own code under the GPL license. Therefore they are not bound by the GPL for that code.

Re: @jscher2000:

If the author created a work based on (or incorporated) MIT-licensed code, there aren't many limitations in what license the author chooses for their userscript.

That was my understanding and why I use the phrase weak terms for this license. So changing as the original author is perfectly acceptable.

Because the author (copyright owner) did not receive their own code under the GPL license

Well I'm thinking that GNU should rephrase:

Using the GNU GPL will require that all the released improved versions be free software.

... because if an original author releases a new version with GPL in it then the phrase of "Using the GNU GPL" is applicable and they are establishing a "new chain of title" going forward. GNU is granting permissive and protective clauses to ensure free software (Copyleft). If someone forks it before it "gets switched back" (taking a step backwards in the chain sometimes) to proprietary or alternate (with real changes of course) they may not be the original Copyright holder however they do have Copyright on their changes leading back to the newly established GPL chain of title. So if the original author reincorporates a "fix" then the original authors source should be required to have GPL. The original author (Initial Copyright holder) is using it. Thus the the original author should be bound to keep it. This is inline with everything that I've read on GNU so far.

It seems like it's common sense and what I've been advised (and have written explicitly in a few U.S. based contracts of my own from legal). I'll pass this back to them again. Oy! :)

Appreciate you piping in. :) This is why I just start out with GPL in the first place. Less head-aches. ;)

Re: @jscher2000:

... but the author (copyright owner) can re-license on on other terms. Why? Because the author (copyright owner) did not receive their own code under the GPL license. Therefore they are not bound by the GPL for that code.

Apologies to contradict here as I do value your input but this isn't accurate already. I still have more to reread, awaiting responses via the electronic frontier, and dusting off the bounded paper (books... the things that are on a bookshelf for those who don't recall ;) ... but...

CC to GPL and not GPL to CC ... although as we have maintained CC is Content not Code licensing and why CC can't be primary and it is ANDed and not ORed:

Likewise, CC-BY-SA 4.0 explicitly permits relicensing modified versions to GNU GPL version 3, but GPL version 3 does not permit relicensing to CC-BY-SA. This issue should never arise for software code; Creative Commons says its licenses are not meant for code, and says that the license to use for code is the GNU GPL. But there are other kinds of works, such as hardware designs or game art, where you might have occasion to merge material released under CC-BY-SA with material released under the GNU GPL. This can be done through CC-BY-SA's explicit relicensing permission.1

CeCILL to GPL and not GPL to CeCILL:

Explicit relicensing permission is not the same thing as compatibility (though relicensing code can make it compatible with other code) and it is not symmetrical. For instance, the CeCILL gives explicit permission to relicense code to GNU GPL, but the GNU GPL does not permit relicensing to the CeCILL.1

I did have a chance to speak with my mentor, in person, and he says he'll relook into it as well. His experience (as in mine) in the industry says the moment you declare a license you are accepting, and incorporating, the terms as the original author. Each link of the "chain of title" has authorship that depends on the previous licensing. So if original copyright holder changes from MIT to GPL that original author has to abide by GPL as well in all future revisions of the work. Near the very last line of GPL header states ~ "If you haven't received a copy..." yadda yadda go there to get it. As we mention in the TOS the @license key is a brief reference to the license and why it's linked to the actual license (SPDX and otherwise mentioned with the URL). One can still use the headered text, or if they want to waste even more space use the full text.

It seems like there's a little of BSD pull vs GPL pull from what you have experienced but I can't say for sure.2 I do vaguely recall a conversation similar to this from the initial OS X days but my macOS was really rusty back then. I'm still in contact with that peer so I'll give him a buzz too.

Refs:

  1. https://www.gnu.org/licenses/license-compatibility.en.html
  2. https://www.gnu.org/licenses/bsd.html

Re: @jscher2000:

... but the author (copyright owner) can re-license on on other terms. Why? Because the author (copyright owner) did not receive their own code under the GPL license. Therefore they are not bound by the GPL for that code.

This is what I received from legal. I was instructed to hyperlink everything possible (hopefully that's done correctly) and also re-bold certain applicable section sentences. This applies to the licensor and the licensee from the terms that is established by GNU GPL.


§ 0. Definitions.

This License

“This License” refers to version 3 of the GNU General Public License.

Copyright

“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.

The Program

“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.

modify

To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.

covered work

A “covered work” means either the unmodified Program or a work based on the Program.

propagate

To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.

convey

To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.

Appropriate Legal Notices

An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.

§ 2. Basic Permissions.

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.

You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.

Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.

§ 10. Automatic Licensing of Downstream Recipients.

Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.

An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.

You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.


In summary of the legalese...

  1. There is no exclusion of licensor from the license. (If there was the "chain of title" would break)
  2. All contracts are between two persons. (at the very least)
  3. The GPL handles both initial and subsequent (upstream) in section 2 and propagation in section 10 (downstream) which is where you are getting the notion of ~"not receiving their code under this license".
  4. The lifetime of the license is 70 years plus however long the original author lives in years that it must be applied. So picking an average lifespan of 60 that makes it 130 years the license is in effect if released under GPL.
  5. Switching away from GPL is a violation of the license even if you are the original Copyright holder, i.e. license is irrevocable, because you are a licensor and the terms apply to an original Author as well under contract law.

Refs:


Re: @ts:

So anyways back to the initial question again. Yes MIT can be relicensed to GPL as long as you are the Copyright holder because it doesn't have any sort of revocation terms in it.

TADA! :)

I disagree with this conclusion:

  1. Switching away from GPL is a violation of the license even if you are the original Copyright holder, i.e. license is irrevocable, because you are a licensor and the terms apply to an original Author as well under contract law.

The GPL grants rights to and imposes obligations on "You", the licensee. There are no obligations or limitations imposed by the license on "I" or "Me" or "We" or "Us" or "licensor" or "copyright holder" related to use or distribution of the work.

Re: @jscher2000:

There are no obligations or limitations imposed by the license on "I" or "Me" or "We" or "Us" or "licensor" or "copyright holder" related to use or distribution of the work.

"Using this same interpretation, Copyright should never be applied if Copyright is not stated."

This prior manually quoted sentence is incorrect of course and I didn't use a single personal pronoun. So by your quote does that mean nobody said it and it's not implied that I said it? (rhetorical question here) No, there is always Copyright even on this reply that I'm doing right now.

I disagree with this conclusion

You have that right as a human being, and probably as U.S. Citizen from what you've shared about yourself, to disagree with anything you choose. Opinion and speech is usually free in the U.S. within limitations as we know (Think TSA and no-no's you shouldn't say on a plane). However I was also reminded of the quote of "The letter of the law versus the spirit of the law" which was also in the response I received. Seems to me like you are going with "the letter" for lack of personal pronouns in the License.

If you read section 2 some of that actually applies directly to the Copyright holder:

“The Program” refers to any copyrightable work licensed under this License.

and

All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met.

... seems to be some of the standing that legal is pointing out to me and I agree with that assessment officially as the current OUJS Admin.

  1. The word "any" in all dictionaries is inclusive not exclusive. The license does not state only derivatives (or "Downstream Recipients" as they use it).
  2. The defined phrase "The Program" is inclusive to the Copyright holder not exclusive. Again you seem to be implying the the Program doesn't have a Copyright holder because they are not bound to any contract and only derivative Copyright is applied. This notion of course is incorrect in all IP precedence.

Which rebrings me back to Contract Law, it seems to me you are ignoring the fact that contracts exist between two parties. You seem to be implying that one party, the initial party, is not bound to anything in a contract. This notion of course as we all should know is egregiously incorrect. Side-stepping for a moment here to a parallel comparison... if maintenance on a rental doesn't give reasonable notice for entering upon a property they may be held liable for trespassing on your property. This does not have to be stated in a contract but Landlord (synonym for the land/management holder here) is absolutely bound to giving reasonable notice even if they claim they can enter at any time (certain implied exceptions depending on City, County, and State jurisdiction withstanding i.e. extreme emergencies). During the duration of a Lease contract that property is yours (and Landlord may not prevent ingress or egress either), not theirs until legally terminated by either party. Then there are implied rights on departure (vacation) of the premises. Evictions for the Landlord or relief for the Tenant can ensue if it goes to litigation. Substantial violations also apply to both Landlord and Tenant. Do harm to either party and the right of relief is always present. These are de-facto implied rights and the contract applies to both parties. Claiming that one party isn't bound to a contract is naive in my opinion.

As GNU always says the GPL license is designed to keep software free, i.e. Copyleft.

  • Do I agree that the wording could be improved in the License? Yes I do, provisionally. CA wording could be improved as well. The perceived loophole that you are exploiting seems dubious. However it doesn't negate the fact that leaving GPL for another license may be incompatible as I've already cited and impossible to do in many cases ("any" cases as the license clearly spells out). If I go by "the letter" the "any" bit means "one or more", and not "some with exclusions" or "everyone else except me. I'm exempt from all law.". Dancing around semantics is a favorite past time of legal entities but the core of GPL imho is to keep free software free and protect everyone, even from themselves, from making an inept decision.

  • Do I agree that the concept of an original Copyright holder attempting to change away from GPL opens up the original Copyright holder to contractual violations of a forked version that still uses GPL and fixes a critical security risk, and then the original Copyright holder incorporates that into their non-GPL Program? (Phew! Major complicated and perhaps a run on sentence... but hey don't forget to breathe. ;) Yes I do. The wiser solution is just to keep a change to GPL all around and then the possible issues are limited. One wouldn't have to compete with the fork either which is usually a good thing. GNU even alludes to this elsewhere. Standard disclaimer that I probably should have done earlier... I don't work for GNU and I am not sponsored by them (nor is OUJS).

Choose wisely the first time and then move onto better, more productive and constructive, things like actual Code is still my best advice.

There are no obligations or limitations imposed by the license on "I" or "Me" or "We" or "Us" or "licensor" or "copyright holder" related to use or distribution of the work.

It has been pointed out to me in private that there are at least eleven (11) occurrences (and confirmed with my browser search highlighting) directly related to "copyright holder" with use, distribution, and limitation obligations including, but not limited to, warranty (use), termination (use and distribution), etc. So if the initial Copyright holder isn't held to this license then what you are implying is that they are responsible for warranties, damages, etc. ... by your interpretation. I think not. Even MIT, BSD and probably all of them, has some limitations on relief for distribution specifically targeted at all Authors at the tail end. The quotation of yours is incorrect.

I also see it in the preamble where "You" is actually "I", using your nomenclature.

So in conclusion OUJS will deal with items on a case by case basis in combination with the TOS and applicable law with existing precedence with licensing.

Thanks for banter and making at least myself look a lot closer at how things can be potentially exploited and disrupt the integrity of Authors and the Site... valuable insight. :)

You mischaracterized what I wrote. However, we're not going to change one another's minds, so you do your thing and I'll do mine.

Re: @jscher2000:

You mischaracterized what I wrote

I'm trying to fact check your statements and having extreme difficulty qualifying it and quantifying it. This is not personal it's just what I do. I apologize if you are misinterpreting my required procedures and feel diminished in any way. Case by case means we'll table it until an issue is presented with a dispute. Last thing any real person should want to do is patrol licensing changes. That's better suited for automation. In order to automate there are rules to be followed. As I've clearly stated we're mostly on the honor system here i.e. use your best judgement and read/understand your license you pick. Imo I will almost always do my scripts GPL and stick with it forever thus following the GNU concept of keeping free software free. I have several contracts that I've mitigated, had approved, stamp, sealed, and delivered by legal counsel, for my licensing or transference and they all follow suit with my understanding of the information provided with Contract Law. Every time I have to query legal it has the potential to cost money and I don't do that privilege for just anyone. :)

we're not going to change one another's minds, so you do your thing and I'll do mine.

I had already decided a while back that we can agree to disagree. However I prefer to assume the best in everyone so your information is noted for future reference. (We may have to update some of the TOS, according to your information, as well for extreme clarity so it doesn't get the chance to be misinterpreted. Will ponder on that for a bit though to see if it's a necessity.)

Not to diminish @ts with his questions by any means but we also knew it was a "baited" topic that is potentially volatile. This was also discussed off-site. I've had to take extreme cautions on how to reply verifying, and citing as much as possible, every factor. This topic has been asked at least a half-dozen times in general searches with the most common answer of "you can't leave GPL for non-GPL". I'm trying to understand why the person on USO was so adamant about GPL being "sticky" and I think the fact checking shows unequivocally why. :)