Slashdot Mirror


License Details Hint MS Undecided On Suing Users of Its Open Source Net Runtime

ciaran2014 writes With Microsoft proudly declaring its .NET runtime open source, a colleague and I decided to look at the licensing aspects. One part, the MIT licence, is straightforward, but there's also a patent promise. The first two-thirds of the first sentence seems to announce good news about Microsoft not suing people. Then the conditions begin. It seems Microsoft can't yet bring itself to release something as free software without retaining a patent threat to limit how those freedoms can be exercised. Overall, we found 4 Shifty Details About Microsoft's "Open Source" .NET.

32 of 198 comments (clear)

  1. Nothing new here by Anonymous Coward · · Score: 3, Insightful

    So just like Mono, then?

    1. Re:Nothing new here by Sarten-X · · Score: 3, Insightful

      They just have to claim No True Scotsman first.

      Break any rule in the Microsoft-written standards (possibly even to provide better compatibility with Microsoft's own runtime, which is not required to comply with the written documentation), and now you're not a ".NET Runtime"... just something real close. Since the MSDN part of the description itself is dynamic and hosted by an interested party, there's precisely nothing preventing Microsoft from "clarifying" features in the documentation, with the side effect of changing the legality of other implementations.

      The promise not to sue would be a good thing, but from a legal perspective, the license is a landmine. Words like "all" are scary in such a license. Now, if it said something like "a substantial majority" or "a reasonable amount", that would give a judge the room to declare an implementation to be close enough, then I'd be far less paranoid about this.

      Yes, Microsoft killed my Pappy. Why shouldn't I be worried when that smoking gun is still pointing at me? As the author of your linked article said:

      Sure, we do stupid stuff sometimes, usually because someone in one org isn't talking to another org, or some marketing vendor overreaches, every big company makes these mistakes.

      I'd say that a weak protection falls into that category. Some group successfully pushed to open the runtime, but the legal team in charge of the license language doesn't understand why the GPL and BSD licenses are appealing to open-source projects. It isn't because of the promises made by the authors; it's because in the event that a lawsuit does happen, the defendants have very clear ammunition in the license ready for use. This doesn't provide that reassurance.

      --
      You do not have a moral or legal right to do absolutely anything you want.
  2. Same question as I had more than a decade ago by TWX · · Score: 4, Insightful

    Why do people want to take proprietary languages and libraries and use them on open source projects?

    I remember some interest in .net and mono and other Microsoft-derived stuff in Linux a long time ago. Why is there this interest in commingling the Microsoft way with the POSIX way when there are so many POSIX tools already available? I don't understand this choice. It's literally giving ammunition to the party that at one point had a declared interest in trying to replace all UNIX and UNIX-like OSes with its own commercial platforms. Why make it easier for that to happen by developing with their technologies?

    --
    Do not look into laser with remaining eye.
    1. Re:Same question as I had more than a decade ago by tepples · · Score: 3, Informative

      Why do people want to take proprietary languages and libraries and use them on open source projects?

      For two reasons. One is to run the proprietary software on the free platform, much as Steam games run on Valve's Debian-based Steam OS or other Windows desktop applications run in Wine. The other is to run free applications on an incumbent proprietary platform. With .NET in particular, there have been a couple widely used platforms that use the CLR as their only runtime environment, such as XNA on Xbox 360 and Windows Phone 7. The same is true of the Java platform, which all third-party applications for a J2ME phone were required to use.

    2. Re:Same question as I had more than a decade ago by Marginal+Coward · · Score: 3, Interesting

      at one point

      There's your answer right there. Maybe things have changed. If you see this as a war (e.g. "ammunition"), you're absolutely right: why give aid and comfort to the enemy? But if you see .net as having some sort of technological benefit, and you see the war as having been fought and lost by the enemy who has capitulated by releasing .net as open source (I know, I know, with strings attached...) then there's no longer any need to keep fighting the war.

      In that vein, I see no need to boycott clothing produced in Viet Nam. That war was over long ago. If the clothing has benefits and can be used under acceptable terms, then why not? Alternatively, if you find the terms unacceptable, don't buy the clothing. But the war of the past doesn't much enter into it at this point. Enjoy the benefits of peace. (That said, I know that's easier said than done for those who still suffer from PTSD. ;-)

    3. Re:Same question as I had more than a decade ago by ckatko · · Score: 3, Insightful

      In other words, developers want something that works everywhere, and .NET is the best of the only, crappy, solutions we have available.

      It's much harder (and hugely risky) to make a brand new, gigantic project for cross-platform software, than it is to re-implement someone's existing framework. If you don't have money to burn, nobody is going to do that. What if you commit 5 man-years of effort and then nobody uses it? People usually prefer incremental expansions to existing frameworks. Didn't we just have a thread on re-inventing the wheel?

    4. Re:Same question as I had more than a decade ago by TWX · · Score: 3, Insightful

      Clothing produced in Vietnam is a good, once it's sold the original producer has no say over what happens to it.

      Software produced by a corporation is intellectual property. It is not usually sold, it is licensed. The original producer usually retains some say over what happens to it, far beyond the realm of simply protecting it from unlicensed duplication.

      --
      Do not look into laser with remaining eye.
    5. Re:Same question as I had more than a decade ago by CastrTroy · · Score: 4, Informative

      As somebody who uses .Net for web development, I am actually very disappointed in the fully open source alternatives. Lack of Unicode support (very important on the web), lack of consistency in the language, The fact that they are interpreted languages (compiling the code catches huge classes of bugs that you don't even have to think about leaving your mind free to worry about other things). All of these are huge problem with all or most of the open source alternatives.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    6. Re:Same question as I had more than a decade ago by jez9999 · · Score: 3, Informative

      Why do people want to take proprietary languages and libraries and use them on open source projects?

      Speaking for myself - because C# w/ .NET wipes the floor with the competition, including Java. New, useful features being introduced regularly. Properties, lambdas, LINQ, web frameworks like OWIN that aren't massively over-complicated, etc.

    7. Re:Same question as I had more than a decade ago by CastrTroy · · Score: 2

      That's not half as bad as some other languages that I see. For the longest time Java didn't have built in functionality for making an HTTP request. Working with dates in Java is a huge mess. Most other languages have very little support for decimal data types, which is essential when making applications that deal with money. Lack of unicode support is rampant. Not being able to change the desktop background without reverting to Windows API (at least it's still possible) is the least of my concerns when choosing a programming language.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    8. Re:Same question as I had more than a decade ago by Anonymous Coward · · Score: 2, Interesting

      Well, the idea of using a web browser (which is a document viewer) to run applications is shitty in the first place.

    9. Re:Same question as I had more than a decade ago by Marginal+Coward · · Score: 2

      I hear you. And I've been hearing people just like you for over a decade. "But now things are different." "Microsoft have changed."

      I understand, but help me out here: at what point can we declare that the war is over, and the good guys have won? Here are some possible turning points:

      - The US government succeeds in anti-trust action against MS. Certain other world governments take action of their own.
      - Several strong competitors emerge who dominate in related areas of phones, tablets, cloud, search, social media, etc. Which leads us to:
      - The market changes where the dominance in desktop OS is no longer the dominant factor in computing
      - New leadership takes the reins at MS
      - MS begins to open-source their software, not because they suddenly received a vision from the Prophet Richard Stallman, but because they recognize that the old model of "embrace and extend" simply doesn't work anymore.

      If that's not enough, what is?

    10. Re:Same question as I had more than a decade ago by Darinbob · · Score: 2

      No, .NET is not the best of the only crappy solutions. However it is the solution that is widely used. It's a world where Windows is seen as essentially the only platform, and where what Microsoft does rather than what Microsoft says is the true API. Developers (developers, developers) are trained to use .NET as their first and last option, and they're being told loudly and clearly (and incorrectly) that .NET is highly portable. It's portable yes, but in a world where portability means that it can run on more than one Windows version.

  3. What about Facebook? by Anonymous Coward · · Score: 2, Informative

    Open Source Software by Facebook like React also includes some pretty weird PATENTS clauses.

  4. You can't use Python on a .NET-only device by tepples · · Score: 2

    Some devices require all third-party applications to be verifiably type-safe CIL compatible with the .NET Compact Framework. This means you won't be able to use IronPython because it and other DLR languages rely on Reflection.Emit, which was omitted from the Compact Framework. Nor will you be able to use CPython because standard C is not verifiably type-safe. Windows Phone 7 and Xbox 360 XNA come to mind as examples of such platforms.

  5. It is open source, it isn't free by bulled · · Score: 3, Informative

    I don't mean to start a religious war, but this one of the key reasons that not all open source software is free(libre) software. Sure you can see the code, you can even run the code, but MS isn't promising you a license to use their patents.

    1. Re:It is open source, it isn't free by UnknowingFool · · Score: 2

      Yes, there is a difference between open source and free. But you completely missed the point in that the authors are complaining that "Open Source" .NET does not comply with standard open source terms. The promise not to sue over patents is flimsy at best. In the article it paraphrases one of the most troubling aspects as "Microsoft won't sue you so long as you use the code for .NET Runtime projects" which means no code can be used for anything other than .NET ie not for other C# (or C/C++) projects.

      For example, if there was a library that I wanted to port from .NET into C++ to use for MythTV, MS might sue me for that. Other open source like GPL projects would have only required that I make the source code changes available to everyone. BSD would not have required me to do anything other than keep the original copyright notices in the files.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
  6. So worried about Microsoft by MikeRT · · Score: 4, Insightful

    Despite the fact that every other big software company is doing the same or worse. If you take a whizbang feature from Java and use it in Python, you're more likely to be sued by Oracle than doing the equivalent getting you sued by Microsoft. Seriously people, the level of chickenshit that formed the foundation of the Oracle-Google lawsuit would make a chicken house unusable for 5 generations and you don't see the level of "ZOMG TEH JAVA IZ RADIOACTIVE" from the people criticizing Microsoft.

    The Gates/Ballmer era is over. Get over it. The petty bullshit about Microsoft makes you sound like someone who is still fighting the PPC/x86 fight.

    1. Re:So worried about Microsoft by UnknowingFool · · Score: 2

      If you take a whizbang feature from Java and use it in Python, you're more likely to be sued by Oracle than doing the equivalent getting you sued by Microsoft.

      Except that Java is covered under the GPL which would forbid that. Oracle can still be dicks about it but the Oracle - Google case, the lower court ruled for Google. It was remanded for reconsideration back to the lower court. The other difference is that Sun open sourced Java and Jonathan Schwartz (former Sun CEO) did not think that Google did anything wrong. It was Oracle who later bought Sun that re-interpreted what they would allow.

      In this case MS from the beginning has issues with claiming .NET to be "open source" if it imposes these conditions.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
  7. Platform dictates language sometimes by tepples · · Score: 2

    Specially when there is no shortage of high quality languages and run-times to chose from that do not come with a loaded gun pointing at your forehead.

    On some platforms there is in fact such a "shortage of high quality languages and run-times". Which other languages that you mention worked on Xbox 360 and Windows Phone 7 back when those were current? A few years ago, before Windows 8, Windows Phone 8, and Xbox One came out, people were demanding ports of phone apps to Windows Phone 7 and ports of games to Xbox 360. All XNA games for Xbox 360 and all third-party apps for Windows Phone 7 were required to use .NET.

    1. Re:Platform dictates language sometimes by ralphsiegler · · Score: 2

      News flash for you, windows 7 phone was a catastrophic flop. People were demanding a good phone. Xbox? seriously, we need to use .NET everywhere because a Microsoft game console needs it? Plenty of cross platform languages and libraries exist, we don't need .NET

  8. Re:This is terrible by gstoddart · · Score: 2

    Well,, Microsoft is talking about open sourcing aspects of .NET.

    Apparently they can't decide what that actually means.

    There's definitely something there.

    It means, as usual, Microsoft is trying to get people to use their technology while holding a threat over them. If they're not open sourcing in any meaningful sense of the word, they should be honest about it.

    --
    Lost at C:>. Found at C.
  9. Shitty Deal? by Njorthbiatr · · Score: 4, Interesting

    Yeah, MS spent a copious amount of dollars developing a clean, efficient, and practical framework. They're being generous by not only continuing to develop it with all sorts of modules and internal testing, but expand it to other platforms.

    And here you are whining that they won't let you butcher the code they wrote and reuse it for your own purposes like it was your own stuff?

    You need to get your head out of your ass. Seriously, I've never heard anything so self-entitled in my life.

    1. Re:Shitty Deal? by Princeofcups · · Score: 2

      Yeah, MS spent a copious amount of dollars developing a clean, efficient, and practical framework. They're being generous by not only continuing to develop it with all sorts of modules and internal testing, but expand it to other platforms.

      Generous? I don't think you are using that word correctly. If anything, MS is using this as a means of increasing market share. If that happens, they will come out with the next proprietary version to trap people into. Don't go thinking that MS ever does anything for the "common good."

      --
      The only thing worse than a Democrat is a Republican.
  10. Yes, it's free. Also, the patent system sucks by Bruce+Perens · · Score: 2

    All Open Source licenses come with an implicit patent grant, it's an exhaustion doctrine in equitable law.

    The problem is not patent holders who contribute to the code, you're protected from them. It's trolls who make no contribution and then sue.

    Of course these same trolls sue regarding proprietary code as well.

  11. Re:Just use Python. by Njorthbiatr · · Score: 2

    You won't get sued for using C#. You may get sued for stealing their work and pretending it's yours, though.

  12. Re:Cents as integer by CastrTroy · · Score: 2

    t's called multiplying all your dollar/euro/pound amounts by 100 and using int (or long for big B2B transactions over 10 million dollars or so) to count cents.

    . Which works fine until you run into Quebec and it's 9.975% sales tax rate. Or like you said, it's probably a good idea to always use long because $10 million isn't that big of a number.

    Of course there's a money data type in Java

    Looking around I don't see any reference to a standard Money data type in Java. Some people have created their own implementations using BigDecimal underneath, some of which require calling functions just to add numbers, but I don't see anything that comes standard with Java. Please point me to the documentation if I'm wrong.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  13. Technology by jklovanc · · Score: 2

    section 10 that "No provision of the license may be predicated on any individual technology or style of interface."

    They should look at the annotated definition.

    10. License Must Be Technology-Neutral
    No provision of the license may be predicated on any individual technology or style of interface.

    Rationale: This provision is aimed specifically at licenses which require an explicit gesture of assent in order to establish a contract between licensor and licensee. Provisions mandating so-called "click-wrap" may conflict with important methods of software distribution such as FTP download, CD-ROM anthologies, and web mirroring; such provisions may also hinder code re-use. Conformant licenses must allow for the possibility that (a) redistribution of the software will take place over non-Web channels that do not support click-wrapping of the download, and that (b) the covered code (or re-used portions of covered code) may run in a non-GUI environment that cannot support popup dialogues.

    Section 10 deals with how the license is signed and not the technology used in the code.

  14. Re:Oh yes, we read the annotations by jklovanc · · Score: 4, Insightful

    As always the un-annotated version is open to interpretation. Your interpretation just slants toward bad things happening.

    Nothing in the OSD is clearly stated

    Sorry but that annotation states clearly that section 10 is about the license and not code content.

    we would have used 1, 6, and 7

    Secion 1 is about bundling as in you can't distribute along with another package. Section 6 is about discrimination in fields of endeavor as in you can not use this code in a specific industry. Section 7 is about redistributed without the need for execution of an additional license. None of those sections have anything to do with modifying the code.

    we decided two sections were sufficient to make the point that the OSD isn't supposed to approve of suing people who reuse your code.

    And you were incorrect in that section 10 does not state what you represent it to state.

    Those are the standards they claim to be living by, so those are the standards we judged their licensing on.

    You are basing your standard on your interpretation of of the OSD instead of doing due diligence and digging further to understand what OSD really means by those few words. The fact you misinterpreted the statement is not Microsoft's issue. It is your issue. That is not what I would call journalistic entirety.

    Section 3 is the only section that talks about distributing modified code. Had you stopped there we would not be having this conversation. Even then your case is weak. Microsoft is allowing the code to be modified and redistributed. Microsoft is just putting certain restrictions on it. Is there anywhere that OSD states restrictions are not allowed?

  15. Re:It's stupid by halivar · · Score: 2

    I wouldn't bet the farm on specialized Microsoft libraries, but .NET itself is 15 years old now, and has a track record of its own apart form other failed or mothballed MS initiatives.

  16. Re: Just use Python. by DamnOregonian · · Score: 2

    Well, I use Python on a regular basis, I'm well-known in my circles as the guy who exploited vulnerabilities in the radio software and bootloaders of 4 Android phones, and broke the RSA protection on the RAZR V3. I also worked on the early iPhones and developed a way to dump and decrypt bootloader blocks by manipulating the kernel page tables once we had temporary root.
    https://web.nvd.nist.gov/view/... references my code and an exploit I discovered and was also widely used.
    I've been mentioned in a book, invited to security conferences, and written piles of kernel-level and below code. I wouldn't call myself a dumbass, and I don't know many who would. Python's indentation still sucks my ass. Maybe my brain is just programmed to want structure in a way that's more flexible, I don't know. But I fucking hate it. I stumble across it frequently and get highly annoyed with its constraints. I think those are definitely valid complaints, even if they may only apply to me. Flexibility wins.
    You're also a closed-minded dick.

  17. Re:Oh yes, we read the annotations by jklovanc · · Score: 2

    This lack of clarity allows for ridiculous interpretations, such claiming that nothing in sections 1, 3, 6, 7 or 10 prevents developers from reserving the right to sue people who modify their "open source" software.

    I never said that. I just said they said that 1,6,7 and 10 say nothing at all about modifying the code or suing people for modifying the code. Those points are all about licensing and distribution. You are making the ridiculous interpretation that those clauses have anything to do with modifying the code.

    so if you pick one point and I'll respond to it.

    Ok. I pick point 10 since it was in the original post.