Is there a name for this type of warranty? Imagine a software company produces a website for a client and has the following warranty: Month 1: Any major or minor code bugs will be fixed free of charge, including any text or graphical errors Month 2: Only major and minor code bugs will be fixed free of charge Month 3: Only major code bugs will be fixed free of charge The key is that each month the warranty covers less things. Low importance things get dropped as time progresses. Is this a normal thing to do and is there an official word for it?
Not really. The closest you get is a more general term, &quot;limited warranty&quot;. These kinds of warranties are common in motor vehicles, but pretty much unheard of in the case of software, because the capacity diagnosis of the cause of the problem takes too much expertise which isn't widespread.
The website owner brings in an expert programmer who testifies that the user cannot have gotten to a certain part of the site (or download, etc.) without having clicked to accept the terms of service, and that this document they're holding is a true and correct copy of the terms of service as of that date. That's evidence in favor of the site, and an adverse party has to have stronger evidence in order to overcome it. If the person didn't save a copy of the terms themselves, they'll have a hard time on this. Then the other party's attorney tries to discredit the programmer by asking questions like "how do you know there are no bugs in the software which could have allowed somebody to reach this without agreeing to the terms of service" etc. Apparently, some sites don't require users to click indicating agreement. If the company has significantly changed the site, terms of service, etc. since the time the user registered, and doesn't keep any copies of old versions around, and admits this, they'll have a hard time enforcing an agreement (as they can't produce a copy of it). If the user kept a copy, the user might be able to present that. It's up to the finder of fact to decide what to believe and how much weight to give the various witnesses' testimony.
Because English loves homophones A lot of words in English have more than one meaning. The current front runner is run with 645 definitions in the OED. Understanding English requires more than knowing the definitions, it requires understanding the context. Warranty in a contract law context means a term the breach of which does not justify terminating the contract. Or a term of a contract rather than a representation about the contract, depending on context. Warranty also has a common meaning that makes it a synonym of guarantee. It can also mean a court order calling for the arrest of someone (an arrest warrant) or to search a premises (a search warrant). It can also mean the authorization from the government to act as a high ranking NCO in a military service - NCOs hold warrants, officers have commissions. Among others ...
Yes A software license is just a contract and parties to a contract are free to agree whatever terms they wish under the doctrine of freedom to contract. Government can restrict what terms can be used in a contract either in general (e.g. for being against public policy) or specifically (e.g. by requiring wages be paid in money). None of the terms you mention fall foul of any restrictions I know of.
There have been cases in the UK where paying someone's legal bills was interpreted as joining their case. So when A with no money libels someone, and B with deep pockets pays A's lawyer, then B risks being held liable for damages if A gets convicted. So B should be very careful. Just giving you money is probably the safest. But attorney-client privilege is between attorney and client. I have been laid off twice with my company asking me to take an employment lawyer and paying for it. (Interestingly each time the bill was exactly the maximum amount the company was willing to pay :-) It would have been absurd if my company could demand information that is under attorney-client privilege just because they paid the bill. Why did two companies pay the lawyers bill? Because that way they ensure that the separation is without problems. The lawyer explained the settlement contract and what it meant exactly. They also checked that the contract didn’t contain anything unacceptable which the company would have fixed. So if I had tried to sue them later I would have no chance to win (but there was no reason to sue). Another reason not to sue was that the company offered I settlement that was very significantly more than was legally required, but if you sued them you would only get what you got in court - most likely less than you would get without suing. So basically they paid to make sure I would have no reason to sue them later.
It does mean that you cannot reuse any parts of the source code, even small simple ones. You would have to rebuild the code from scratch. There is a significant chance that the code would be "substantially similar" to the code that you were hired to build, also that if anybody else were to write a bubble sort or 24-to-am/pm conversion routine, it would look the same, where even variable names (which should describe function) are the same or very similar. In case of an infringement lawsuit, you would have to defend yourself by showing that there are only a few ways to code a given function. Copyright protects only the "expression", not the abstract idea. A linked list is an idea, which can't be protected by copyright; same with recursion, pointers, stacks, object-oriented programming... Anything that involves copy and paste is infringement. If you re-read the copyrighted code and then try to reconstruct it, you probably crossed the infringement line. If you remember the problems and solutions and accidentally write somewhat similar code, that is probably on the safe side. From the perspective of the programmer not wanting to always reinvent the wheel, it would be most useful to make a distinction in the contract between "the essentials of the customer's program" versus "incidental utility work". The difficulty will arise in saying specifically what is essential vs. incidental. For instance, I know that if I were to hire you to develop a speech-recognition system, low-level audio-acquisition and encoding would not be essential to my purpose, whereas DSP parsing routines would be the center of my interest. The programmer would then want to retain recycling rights to all non-essential code.
If a business literally has an &quot;exact change only&quot; policy, that can't be enforced in post-pay situations. But if they have a &quot;you are free to overpay, but we won't give you change back&quot;, that's different, especially if it's communicated from the beginning. If they tell you they don't give change, then you're taking their goods/services implicitly agreeing to their terms.
Ultimately, these terms would have to be interpreted by a court in order to get clarity. But the phrasing “source or binary form” should likely be understood as “not just source form, but any form of the software”. The BSD license family does not have different conditions for different forms of the software, so it is not necessary to understand what precisely a binary form is – just whether a software is in “source or binary form”. As far as I can see, minified or bundled software are a “source or binary form”. The BSD licenses' attribution requirements will apply. There are licenses that do make a distinction. For example, the Boost license is BSD-like with respect to the source code, but exempts binary forms from its attribution requirements. But Boost provides a clearer definition: “machine-executable object code generated by a source language processor”. The GPL family also makes a distinction, because it always requires the source code to be made available. The GPLv3 defines the source code as the “preferred form for making modifications”, and object code (binary form) as any non-source form.