9 ms·
Linus Torvalds: Software and Process Patents Don't Make Sense
- alexchamberlain 15y agoLinus: "I don't actually know the details. I mean Java I really don't care about. What a horrible language. What a horrible VM. So, I am like whatever, you are barking about all this crap, go away. I don't care." My respect for Linus just grew 10-fold!
- casenelson 15y agoIt's rare that I've seen the Java VM described as horrible. In fact, it seems to be quite highly respected and seems to be working out well for Scala and Clojure. Obviously, there's also Twitter who partially moved to the VM from Rails. Would you care to elaborate? Has Linus talked about the VM before?
- DanielRibeiro 15y agoIntellij, Eclipse and Netbeans, great software written in Java. Haddop, as well. Not to mention Minecraft, but this point I'll leave to Techcrunch[1] Java is not a great language by all means, the VM does have it issues (it is very old, and has to deal with its legacy), but it is not on a really important piece of software, its quality is quite good. At the very least, it is, ironically, responsible for LISP's renewed interest through Clojure. [1] http://techcrunch.com/2011/01/15/a-brief-explanation-of-why-minecraft-matters/ http://techcrunch.com/2011/01/15/a-brief-explanation-of-why-...
- vidarh 15y agoIt's highly respected by people who are willing to use JVM based software. Frankly, typical JVM startup times alone is enough of a pain that I avoid anything-JVM if I can.
- maximusprime 15y ago> " Frankly, typical JVM startup times alone is enough of a pain" The default JVM options are biased toward long running processes. That's kinda what most software running on a JVM is going to be though - start it running, leave it for weeks. If you want a JVM that is tailored for short lived processes, then quick startup time is just a few options away after you RTFM. Or use a language/runtime more tailored to short lived scripting. FWIW I've never seen a JVM take more than a second to startup though, which is more than adequate for server software.
- gizmo 15y agoThe Java VM is quite bad. There just isn't an alternative that meets these criteria: 1. cross platform (windows, mac, linux, mobile devices, embedded) 2. kinda fast 3. reasonably mature 4. bunch of libraries If you want to create a new programming language today Java is the only viable platform. .NET and Mono isn't quite mature enough (and it's very similar to Java anyway). If you bootstrap from C it'll be fast and portable but you'll have no libraries for the first 5 years or so. There just isn't a low level language layer, just above C that can be used for interopability between programming languages. What we need, what we really need, is some sort of Java--. A simple bytecode layer that other languages can target. So libraries written in one language can be used (and inspected) from another language. I know it's not going to happen anytime soon, but it'd be nice.
- arethuza 15y ago"A simple bytecode layer that other languages can target" What about the Parrot VM: http://parrot.org/ http://parrot.org/
- LeafStorm 15y agoParrot is basically just a VM for Perl. The opcodes are tied heavily to Perl 6 semantics (type coercion for everyone, the string "0" is false, etc etc).
- julsonl 15y agoCorrect me if I'm wrong, but aren't you confusing Java the language with the actual JVM? On your last paragraph, you pretty much described what the JVM is in my perspective.
- gizmo 15y agoThere is no proper separation of concerns in the JVM. The JVM instruction set has instructions like `invokevirtual` and `invokestatic`, `invokeinterface`, which are Java specific features. The JVM also knows the concept of classes and methods and fields, even though those abstractions should be defined at the language level, not at the VM level (a Lisp or Forth-like stack machine needs different abstractions). The datatypes in the JVM are pretty weird. You have chars, but not unsigned chars, some integer types (but not all). You have no support for unicode. There is a low-level struct for arrays and multidimensional arrays (of a specific type), but for nothing else. It supports exceptions, but only Java like exceptions. (You can't make an exception system where execution can be retried or resumed; it's just not supported). It also has a java-specific thread model (want to create lightweight threads with lockfree data structures? nope, not gonna work). What you want is a low-level platform with different modules that can be picked by the people who implement the programming language. Pick a parser module, a garbage collection module, a JIT compilation module, and so forth. This is really difficult, because you have to have a good understanding what kind of primitives different programming languages need. When all these things are fixed and non-interchangeable you end up with a virtual machine that is suitable only for a specific kind of language. It's turing complete, so of course you can make any language on the JVM, but it's just not a good fit.
- deleted 15y ago[deleted]
- praptak 15y ago"My respect for Linus just grew 10-fold!" Why? He just bashes Java using strong language and not providing any arguments. This could get my respect if Java were some kind of sacred cow that nobody dares criticize. This is not the case AFAIK.
- ffsdfsdfsda 15y agoYeah, first Java was criticized by the C (and C++) community saying it was too slow, bloated, write-once-run-anywhere was a joke, etc. Then that viewpoint spread to everyone else. Then Microsoft ditched on it because .Net was so awesome, then Ruby community ditched on it because it required too much code. I've been a Java developer since the late 90s. I think what Oracle has done should reserve them a place in hell. But Java is not a threat to anyone anymore. It will have no more share than what it already has, with the exception of its (Java subset) use in Android devices, and long-term I think Google probably wants to get rid of it, too, even though it will take them replacing much of their development team first. Linus made this off-the-cuff remark somewhat in jest, as far as I'm concerned. I take Java hate from seasoned programmers with a grain of salt. What used to bother me though was script kiddies and wannabes that developed simple web apps with languages and frameworks they barely understand ditching on Java with absolutely no fucking idea what they were talking about, just because they didn't like casting or whatever. Now I just take the whole Java hate thing with a grain of salt.
- godDLL 15y agoI wish I could just get away with it like that.
- alexchamberlain 15y agoI accept that this quote doesn't give his reasons. However, I have to agree with him. My reasons are that Java is slow and bloated.
- deleted 15y ago[deleted]
- spullara 15y ago
- freemarketteddy 15y agoMy respect for him remains the same because when you multiply infinity by any number what you get is still infinity!
- dubya 15y agoWell, if you multiply by zero it's undefined... (this is nothing to do with Linus or the quote)
- freemarketteddy 15y agohaha....yeah I didnt think of that when I made my profound statement.
- ryanbraganza 15y agoWhat if you multiply it by a negative number?
- freemarketteddy 15y agohaha yeah I should have said positive real numbers!
- desireco42 15y agoDon't you just love this quote: "I mean Java I really don't care about. What a horrible language. What a horrible VM. So, I am like whatever, you are barking about all this crap, go away. I don't care."
- deleted 15y ago[deleted]
- ryanklee 15y agoPossibly because it's duplicated content. They were both posted about the same time, so it's arbitrary which gets voted up and which gets voted down. But ideally only one would exist; voting one into oblivion is the easiest way to approximate that situation. I'm just speculating though.
- dolbz 15y agoWell I didn't know that US patent cases can be presented to a jury. I don't envy them on that considering the language these things are written in. I wonder how many hours are spent 'training' the jury in the legalese required to understand the case? And this would have to be done for each and every case that has a jury!
- adestefan 15y agoIt's the judge's responsibility to explain the legal basis to the jury in the form of jury instructions. These will usually be created in consultation with the lawyers for both sides. Trial by jury is the reason why East Texas is the court of choice for patent claims. For some reason jury verdicts there seem to be biased towards the patent holder. I should also note that being a juror in a federal case sucks. The first issue is that you're "on call" as a juror for 30 days instead of a day or two like most counties/municipalities. The second part is the cases are usually boring. People don't like to bring cases that they're likely to lose to a Federal court.
- monochromatic 15y ago> Trial by jury is the reason why East Texas is the court of choice for patent claims. Not true. The local rules in the Eastern District are seen as favorable to patent plaintiffs. It's (basically) nothing to do with the jury pool out there.
- wmil 15y ago> For some reason jury verdicts there seem to be biased towards the patent holder. The jury is instructed to assume the patent is valid until they are convinced it is not. If the patent holder's lawyer can confuse the jury, the patent will be upheld. It's pretty easy for a lawyer to do that.
- tptacek 15y agoAs 'tzs pointed out a few weeks ago, the East Texas issue is something that the America Invents Act (the recent patent reform bill) actually addresses: http://news.ycombinator.com/item?id=3006925 http://news.ycombinator.com/item?id=3006925
- tintin 15y agoEverything we create and think of is based on experiences (sight, smell, feelings....). Therefore it's very strange to have patents. A patent is just a smart mix of things that already exist. Software is always mixing existing things using existing tools. So it's very difficult to have a 'smartness' value for a software patent. Fortunately Harrison Gray Dyar and Samuel Morse don't have all rights for binary code...
- alok-g 15y agoPatents are about ideas and inventions which must be "novel", "useful" and "non-obvious". A smart mix of things that already exist would not be patentable unless it is "inventive", "novel", useful" and "non-obvious". If it is all of these, it should be patentable whether it is software or hardware. (Note however that laws of physics, mathematical formulas, etc. are not patentable.) What's broken is not the concept of a patent, what's broken is its implementation. Patent applications that do not satisfy the set criterion often get accepted. "Non-obvious" often is equated to "currently non-existing" even though it may be very obvious. (In fact, one of the ways to show non-obviousness of an idea is to show non-existence of it in spite of the problem being existing for long.) As you stated, it is difficult to have a "smartness" value for a software (and I think even hardware) patent. Another reason why the real-life implementation is broken is that people and companies want it to work both ways based on whether it is helping them or working against them. But nothing specific to software here, the same happens for hardware too. What needs fixing is the implementation, not the idea itself of the patents, be it software or hardware. Edit: Disclaimer: I am not a lawyer.
- nogden 15y agoIt would seem that one of the main arguments against software patents that is thrown around is that "software is mathematics". As a software engineer currently knee deep in learning Haskell, I believe that this argument carries plenty of weight. However, when judging software patents, we shouldn't overlook the reason for which patents themselves were originally invented. I think the best description of a patent that I ever heard was: "A government granted use monopoly in exchange for full disclosure of how the invention works." This is, in my opinion, not a bad idea. It promotes the sharing of knowledge, whilst not depriving the inventor from the spoils of their work, but only if a full, formal design of a working system is disclosed. In software, patents are granted based upon a technical description of the concept. But the requirement of a formal definition - which in the case of software boils down to either a proven mathematical model, or some code that implements the concept - is absent. Since written language is full of ambiguity and uncertainty, it is very possible and regularly the case that patents are granted on an idea that provides no concrete specification. As a result, the disclosure part of the agreement is not satisfied.
- jpdoctor 15y ago> I think patents probably work better in certain areas than they do in ours. Software patents? No. Process patents? No. They just don't make sense. Only if you ignore the fact that congress is composed of lawyers, who have a large self-interest in preserving the current Byzantine system.
- monochromatic 15y agoHow many patent lawyers are there in Congress? I'd be surprised if it's more than one or two.
- stc 15y agoI do not think a lawyer have to specialize in patents specifically to support byzantine laws. I think it is the willingness and propensity to accept laws and regulations for everything.
- tptacek 15y agoHave you ever talked to an IP lawyer? It is surprisingly difficult to become one. You responded to an interesting point with more superficial innuendo about congress.
- jpdoctor 15y ago> How many patent lawyers are there in Congress? How did you get "patent lawyers" from my statement of "lawyers"? It doesn't take much to recognize that folks in the legal profession are going to be pro-legal structure.
- brlewis 15y agoIf Congress wanted software patents to be legal, Congress would have made them legal in 1972 or 1973. They wouldn't have waited around for the Federal Circuit court to contradict previous Supreme Court opinions.
- monochromatic 15y ago
- andos 15y agoI recommend reading the whole interview, not just the patent part. They cover a lot of topics and it's very good stuff.
- ubasu 15y agoHere are the links: http://www.muktware.com/blogs/1721 http://www.muktware.com/blogs/1721 (an older interview in full) This one: http://www.muktware.com/news/2855 http://www.muktware.com/news/2855 http://www.muktware.com/news/2857 http://www.muktware.com/news/2857 http://www.muktware.com/news/2859 http://www.muktware.com/news/2859 http://www.muktware.com/news/2860 http://www.muktware.com/news/2860 http://www.muktware.com/news/2861 http://www.muktware.com/news/2861 http://www.muktware.com/news/2862 http://www.muktware.com/news/2862 http://www.muktware.com/news/2863 http://www.muktware.com/news/2863 http://www.muktware.com/news/2864 http://www.muktware.com/news/2864 http://www.muktware.com/news/2865 http://www.muktware.com/news/2865 Also, interesting portmanteau domain name - muktware means free (soft)ware in Indian languages.
- jwcacces 15y agoWhat website is that? Did anyone else go to its homepage (http://www.muktware.com/ http://www.muktware.com/) and notice an unhealthy obsession with Linus Torvalds and exclusive interviews?
- ubasu 15y agoI think they are just parts of the same (long) interview.
- cgarvey 15y agoNo there's a definite creep factor going on with this site. The article page has his image as the background of the website and in the logo...::shudder::
- beernutz 15y agoIf you check the rest of the site, you might notice that it is a very Linux centric blog. Nothing wrong with that. Also I don't see his image in a logo anywhere on the home page. Only on the Linus interview pages. Seems reasonable to customize sections of a site.
- cgarvey 15y agoI know his picture isn't in the logo on the homepage...thats why I said "article page". I also never said it was wrong to have Linux-centric blog. If I were Linus and I saw a blog with my picture as the background of the website, all along the sidebar, and sitting above the blog logo, I'm sorry but I'd be creeped out.
- dupe123 15y agoI think he is just the background for articles related to that interview. Although I do agree it is a little weird just how many times his face shows just throughout the site.
- 15y ago
- deleted 15y ago[deleted]
- gdonelli 15y agoI am glad I am not alone in thinking I don't want to deal with java
- drieddust 15y agoOT:mukt is a hindi word which means free.
- dimmuborgir 15y agoOrigin is the Sanskrit word 'mukti' meaning liberation.
- traveldotto1 15y agoTotally agreed. Compete on products or results, not on legal process
- petegrif 15y agoWouldn't that be nice. Now consider the case of a pharmaceutical company that has to spend hundreds of millions of dollars to develop a new drug and get it past FDA. If there is no IP protection would you as the CEO of this company spend that kind of money on innovating when the resultant drug could be copied a week after it appears on the shelves? In this case you would be competing on product alright - exactly the same product. But the copier has had no R&D cost and can undercut you and put your offering out of business. The issue is often framed in terms of all patents being bad, or all software patents being bad but to anyone to gives the matter more than the kind of superficial thought stemming from ideology the reality is rather more complicated.
- reissbaker 15y agoPharmaceutical and other physical patents make sense and appear to work. But arguing that software companies won't innovate without patents ignores the fact that software companies did innovate without patents, for years. And software patents obviously haven't been working: see Microsoft's patent on "if not", among other things.
- petegrif 15y agoYou are absolutely correct. There are differences between the two industries. The two key ones would seem to be that (a) the investment required in time and money to create the software and its likely lifetime value are low compared with a drug, and (b) the ease of difficulty with which the software may be copied can vary a great deal. Compiled source code is harder to reengineer than a drug. Server side code that is held as a trade secret, such as google's search algorithms, is hard to recreate. So in these cases it is quite true that there has been innotation (ignoring the fact google did have some IP protection). But there are cases I can think of where it would be downright foolish for a software company, particularly a small one, to invest substantially without protection. The key characteristic is that the code cannot be held secret and can be readily read and thereby copied. The key point is that it really isn't very helpful to generalize to broadly about the software industry.
- freemarketteddy 15y agoA programmers opinion of Java goes a long way in showing what kind of a programmer he/she really is!
- petegrif 15y ago"... and that's the reason you have to have a patent lawyer because the language makes no sense. In US it’s technically English but it’s not really English. It’s like using English words but there are different meanings to them. There is a whole different set of rules about what things mean when they do a patent application." Well guess what - that is not unusual when everyday words migrate into a technical area and the law is such an area. To complain about words having specialist meanings in a specific subject area strikes me as naive.
- simcop2387 15y agoWhile I certainly agree that it can seem naive, when it comes to law it is taken to such an extreme that it's almost to the point that definition of "is" isn't "is" anymore.
- nobody3141592 15y agoIn patents 'a' is plural. Just try and write a patent in Word - it grammar highlights the whole document!
- brlewis 15y agoYes, it's naive. They're naively believing the legal fiction that patents are supposedly required to enable a reasonably skilled practitioner in the field of the patent to be able to reduce the invention to practice in a straightforward way from reading the patent. But you're right, patents are for lawyers, not software practitioners. We should expect them to use a technical language that they, not we, understand.
- petegrif 15y agoBear in mind that a patent consists of several sections and these sections vary a great deal in how intuitive the use of language is. The section which Linus is almost certainly referring to is the claims. These are indeed expressed in a technical vocabulary which is tricky for a lay person to penetrate. But the section which is supposed to enable a person ordinarily skilled in the art to be able to make the invention is not written in such vocabulary. On the contrary, it typically written in language which is perfectly comprehensible. The difficulty if any is in having the patience to read a tediously long description with endless references to diagrams.
- 6ren 15y agoLinus Torvalds tends to favour patents, and has three himself. > I think patents probably work better in certain areas than they do in ours. Software patents? No. Process patents? No. They just don't make sense. It's not clear from the actual quote that he thinks both software and process patents "don't make sense" as the title states (or just process patents). He probably does, but it's not clear from this interview. I think he's very insightful about patent and copyright litigation being especially nasty from a legal perspective, because it's winner take all with no middle ground. Oh, and he think Java and the JVM are "horrible". So consider this polemic approach when assessing his patent views.