Will Silverlight prohibit open source applications?
August 6th, 2008 by DeWitt Clinton

A little stream-of-consciousness sleuthing into the Microsoft Silverlight Pre-Release Software License Terms, Microsoft Silverlight 2 Beta 2 has me thinking about an interesting potential future scenario.

The Silverlight 2 Beta 2 licensing terms, while in no way guaranteed to be the same terms as the final license, have an interesting side-effect: they appear to prohibit developers from writing open source applications.

The relevant portions of the Beta 2 EULA are quoted here (my emphasis):

1. b. You may also use the software to design, develop and test sample code and programs that you (i) make available to other designers and developers in source code form as examples of how to use Microsoft Silverlight or (ii) deploy to end users for non-commercial purposes.

And:

1. c. You may make your Silverlight applications available only on the following conditions: [...] you may not make available any Silverlight applications that conduct e-commerce transactions, that collect personally identifiable information or confidential data, or which are for hazardous environments that require fail safe controls; and you may not offer Silverlight applications on a commercial basis, such as under a paid subscription or on ad-funded web pages.

Those restrictions, which are certainly permissible (it’s Microsoft’s runtime, they can do whatever they like with it), have the interesting consequence of making it impossible to write open source Silverlight applications using Beta 2.

The reason is what’s known as a restriction of use clause, or discrimination against a field of endeavor. If you recall, the Open Source Definition, the baseline standard for all open source licenses, reads:

6. No Discrimination Against Fields of Endeavor The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

Thus all open source licenses may not put further restrictions on the use of the licensed code. Yet the terms required by the Silverlight Beta 2 EULA do indeed include such a restriction of use.

In other words, if Silverlight 2 were released today under the Beta 2 terms, it would be a violation to write an open source Silverlight application.

To be clear, this says nothing about the final Silverlight licensing terms. In fact, we know they’ll at least be partly different, as the Beta 2 terms expire “within 30 days of commercial release of the software, but in no event later than January 1, 2009.”

Nor does this say anything about whether or not Microsoft intends to release portions of the Silverlight or .NET itself under an open source license, or whether they will permit open source implementations of the runtime (e.g., Moonlight). Interesting questions, but that’s not what’s being discussed here.

So how will the final licensing terms differ? Will Silverlight permit open source applications? I imagine it will, as it seems absurd in 2008 to release a web-based runtime that is hostile to open source. This will be interesting to watch.

Update: Okay, now I’m confused. Microsoft is distributing sample code for Silverlight applications under the Microsoft Public License, an OSI-approved open source license, which seems to be a violation of the Beta 2 EULA, for all the reasons listed above.

Can someone make sense of this?

Update 2: As suspected, this probably isn’t intentional, and might get cleared up in the final release. I feel a little bad picking on Microsoft here, but it’s better to ask about this stuff now than wait until after it is too late. I not so secretly want Silverlight to be successful — I just want it to be successful as an open platform, not one that forks the web in proprietary ways.

Lauren Cooney twittered in reaction to this post:

@dalmaer saw that :)evidently that’s not the case btw, and we’re working on clarifying it. some pieces of silverlight are under MPL, so…

Let’s wait for Lauren’s clarification about the final licensing plans. (Though, there still seems to be a conflict with the Beta 2 EULA… Probably just an oversight.)

14 Responses to “Will Silverlight prohibit open source applications?”

  1. Chris Wilson Says:

    They must not have used Silverlight itself to develop the sample code apps. :)

  2. timheuer Says:

    I can see how it is confusing, but as you point out those terms apply to the pre-release version currently. Neither of us are lawyers (at least I’m not), nor do I pretend to know what the license wizards at MSFT will do with the final terms, but I read those as terms for pre-release software which makes sense. Note that the non-commercial also has an option to go-live commercially (which is noted in the section you quote). I’d say let’s not jump to any conclusions. We’re already seeing some of our control vendors offer open source controls for Silverlight.

  3. Open Source Economies | inc.ubators Says:

    [...] Will Silverlight prohibit open source applications? [...]

  4. Niall Kennedy Says:

    MLB content is available on a paid subscription basis and powered by Silverlight.

    E-commerce transactions and personally identifiable information require SSL in some jurisdictions and the Silverlight player might not have the proper ability to display such security or meet such government standards. “We told you not to do this, but you did it anyways, and it’s your fault.”

  5. DeWitt Clinton Says:

    Hey Niall,

    That’s not quite the issue. It’s already specified in the terms of the EULA that additional rights can be granted for commercial use, such as would be required for MLB.com or NBC. In fact, they’ve already granted a license to do so; albeit with certain restrictions, such as “you not make available any Silverlight applications that conduct e-commerce transactions”. The problem is that having those restrictions at all presents a conflict with the rights that must granted when applying an open source license.

  6. Fabien Says:

    I believe it’s quite common for Microsoft beta versions to be crippled in some ways. I suppose the rationale for this restriction is simple: If your commercial application doesn’t work and makes you lose money, it’s not Microsoft’s fault, it’s yours, since you didn’t respect the license. There’s a good chance that the restriction will be lifted on the official version.

  7. Sam Ruby Says:

    A license is a set of terms. Open source licenses don’t preclude other sets of terms being made available, the simply simplify (as in eliminate) the need to negotiate a separate contract.

    Many examples of dual licensed code exist: it is not uncommon, for example, for code to be licensed under GPL and also made available under a commercial license.

    This does not negate the main thrust of your post, but does address your original update. As a general rule, copyright holders do not need to license their own work to themselves in order to use their own work as they see fit.

  8. iain Says:

    My reading of those terms is that you can’t develop a silverlight app that conducts e-commerce transactions, &etc. It doesn’t look like it would restrict a user from using your code as part of a wider system, unless the restrictions are transitive in some way.

  9. DeWitt Clinton Says:

    Sam,

    Sure, an application can be distributed under an open source license, and also be made available with a commercial-use license (say, for a fee). That’s okay because the existence of the latter doesn’t restrict use under the former.

    For the sake of an example, say that open source license also includes a copyleft provision. A licensee could build derivative works using the open source license, including commercial applications, without obtaining the commercial license, provided that they honor the requirements of the open source license, including the copyleft provision. If the licensee didn’t want to honor the copyleft, they could purchase rights to use it under the commercial, non-copylefted license.

    Again, the existence of the commercial non-open source license doesn’t restrict the application’s use under the open source license.

    And there is nothing wrong with that. It’s a legitimate technique commercial software developers use to release open source code and still make money selling it. People aren’t really paying for the right to use it commercially, they’re paying for the right not to be bound by copyleft.

    But that is a different case, and I that doesn’t appear to address the issue that I raised. Here’s another way of looking at it:

    Under the current Beta 2 EULA, I am prohibited from developing applications that do not contain certain restrictions; certain restrictions that are not, and can not, be included in open source licenses. So sure, one could release an open source application for the runtime, but it couldn’t be used or redistributed with the usual rights guaranteed an open source application (the EULA requires additional, more restrictive terms), why is why I suggest it effectively prohibits open source licensing.

    In other words, I can’t use the sample code under the terms of the MPL license, because doing so would likely put me in violation of the Beta 2 license.

    Make sense?

  10. tecosystems » links for 2008-08-07 [delicious.com] Says:

    [...] DeWitt Clinton » Blog Archive » Will Silverlight prohibit open source applications? seems likely to just be an oversight with a pre-release piece of software, but I'll await clarification on the terms from Microsoft (tags: dewittclinton silverlight ria opensource microsoft) [...]

  11. Sam Ruby Says:

    I wasn’t comment on your original issue, I was merely commenting on your first update — as to whether Microsoft is “violating” the^h^h^h one set of terms under which the code is being made available.

    Clearly, it would be in the best interest of Microsoft to make the final terms under which Silverlight is licensed under clearer. And when it comes to pursuing activities which are in their own best interest, few excel at it better than Microsoft. :-)

  12. Boycott Novell » IRC: #boycottnovell @ FreeNode: August 7th, 2008 Says:

    [...] Heh http://blog.unto.net/opensource/will-si…; [...]

  13. Orlando Smith Says:

    Dear Mr. Clinton: I think that you’ve mischaracterized the terms of the license. It does not, base on what you quoted, supra, prohibited the use of open-source software in a manner consistent with that software’s license. It does, however, prohibit distribution of application for commercial and/or fail safe use. That does conflict with the requirements for an open source license, but that is a conflict between terms of Microsoft’s beta license and the terms of open-source licenses.

    Microsoft’s restriction of the license to non-commercial and non-fail safe use for the beta version of Silverlight makes sense, because, as beta, Silverlight is probably not suitable for software that people pay for or rely on in critical situations. But this only a beta license. Microsoft certain won’t have a final license that prohibits development of commercial software. Who would use a RIA software that can’t be used to develop commercial applications?

    Whether Microsoft will make the mature license for Silverlight open source is an open question that must await the introduction of that license. However, I wouldn’t be surprised if Microsoft release Silverlight as a proprietary RIA, as is Google, which has released its GWT software under a license where Eric Schmidt could in an instant start charging developers a royalty to use it. Microsoft, like Google, is designed to make profit, and one of its principal strategies and operating principles is to promulgate a proprietary standard and use that standard to monopolize an industry.

    Microsoft has finally recognized that the Internet and web applications are a force that it can’t stop. It first tried to control and monopolize the Internet and web apps with Internet Explorer. Having failed in that attempt, Silverlight is, I suspect, Microsoft’s effort to control web apps with a proprietary RIA. But only time will tell.

  14. People Over Process » Links for August 6th through August 8th Says:

    [...] DeWitt Clinton » Blog Archive » Will Silverlight prohibit open source applications? – [...]