bhuber
Joined 10 years ago
Joined 10 years ago
This is patently false. Mountain bikes have been running tires over twice as wide on rim brakes for decades. I had one growing up in the 90s. Perhaps you mean caliper brakes? Even if so, I currently run 700x28c on my 10yo racing bike, I don't think I'd have any trouble going up a size or two.
IANAL, but I would think this would be covered by existing false advertising laws, and maybe breach of contract. They advertised a product as coming with features x, y, and z; people paid for those features; and then the company unilaterally disabled those features. So now features x, y, and z no longer work on the product as advertised. I'd be surprised if we don't see class action lawsuits for this.
I suspect the reason that nobody uses it is due to its toxicity - it taints anything that transitively uses it in any practical way. This leads to all sorts of nonsensical violations. For example, say you write a document in a word processor that uses a leftpad lib distributed under this license. Then you email that document to someone else. Congratulations, you're now in violation of the license - you distributed a "derivative work" of the leftpad lib to someone "other than you" over a "network".
The terms of this license are so restrictive and cumbersome as to make it basically useless. Anything you publish under it can't effectively be used by the vast majority of the people who would want to use it, at which point you might as well not publish your work at all. I certainly wouldn't view this as a panacea for solving the SaaS-wrapping-OS-code problem.
[1] https://pypi.org/search/?c=License+%3A%3A+OSI+Approved+%3A%3...
Realistically, null is so fundamental to the Java language that removing it would arguably result in a different language entirely. Certainly all existing java codebases would have to be refactored. The same goes for exceptions. That's obviously not an option when one of your primary selling points is backwards compatibility, so I'm not really sure what kind of solution you're looking for here.
The answer to your SO link notwithstanding, I would argue the @lombok.NonNull is at least one of the best options, as it actually generates a null check that is executed at runtime. This makes it more powerful than most of the other solutions.