Bonum Certa Men Certa

Free Software Foundation Discourages Dependence on Mono, Dismisses Microsoft Community Promise

Last week, Microsoft extended the terms of their Community Promise to implementations of the ECMA 334 and 335 standards. You might think this means it's safe to write your software in C#. However, this promise is full of loopholes, and it's nowhere near enough to make C# safe.

Why Worry About C#?



Since we published Richard's article about Mono last week, some people have been asking us why we're expressing special concern about free software developers relying on C# and Mono, instead of other languages. Sun probably has patents that cover Java. Maybe IBM has patents that cover C compilers. "Shouldn't we discourage the use of these too?" they ask.



It's true that all software patents are a threat to developers—but that doesn't mean that all software patents are equally threatening. Different companies might have patents that could be used to attack other languages, but if we worried about every patent that could be used against us, we wouldn't get anything done. Microsoft's patents are much more dangerous: it's the only major software company that has declared itself the enemy of GNU/Linux and stated its intention to attack our community with patents. If Microsoft designed a patent trap into C#, that is no more than what it said it would do.



The company has been quite clear about its intentions since late 2006. At a user conference in November that year, Microsoft CEO Steve Ballmer said, responding to a question about their patent agreement with Novell:



... the fact that [GNU/Linux] uses our patented intellectual property [sic] is a problem for our shareholders. We spend $7 billion a year on R&D, our shareholders expect us to protect or license or get economic benefit from our patented innovations. So how do we somehow get the appropriate economic return for our patented innovation...?


(Seattle Post-Intellegencer, The Microsoft Blog, "Ballmer on Novell, Linux and patents," November 16, 2006.)

A few days later, an interview with Microsoft President Bob Muglia was published, and he made it clear that they considered C# one of these so-called "patented innovations:"



There is a substantive effort in open source [sic] to bring such an implementation of .Net to market, known as Mono and being driven by Novell, and one of the attributes of the agreement we made with Novell is that the intellectual property [sic] associated with that is available to Novell customers.


(eWeek.com, "Microsofts Muglia Talks Longhorn, Novell and Java", November 17, 2006.)



They've been turning up the heat ever since. In May 2007, Microsoft followed all this up by announcing in a Fortune magazine interview that they believed GNU/Linux infringed 235 Microsoft patents. And recently they made it very clear that these were not idle threats: the company sued TomTom for using the VFAT filesystem implementation in the kernel Linux without buying a license from it.



All of this can't simply be brushed aside. These are statements and actions made at the highest executive levels of the company. Using patents to divide and conquer the free software community is a fundamental part of their corporate strategy. Because of that, C# represents a unique threat to us. The language was developed inside Microsoft, so it's likely they have many patents to cover different aspects of its implementation. That would make free software implementations of C#, like Mono, an easy target for attack.



“The Community Promise does nothing to change any of this.”The Community Promise does nothing to change any of this. Microsoft had an opportunity to take action and demonstrate that it meant us no harm with C#. Instead, they took meaningless half-measures that leave them with plenty of opportunities to hurt us.



Incomplete Standards



The ECMA 334 and 335 specifications describe the core C# language, including information about standard libraries that must be available in any compliant implementation. However, there are several libraries that are included with Mono, and commonly used by applications like Tomboy, that are not required by the standard. And just to be clear, we're not talking about Windows-specific libraries like ASP.NET and Windows Forms. Instead, we're talking about libraries under the System namespace that provide common functionality programmers expect in modern programming languages: binary object serialization, regular expressions, XPath and XSLT, and more.



Because these libraries are not defined in the ECMA specifications, they are not protected in any way by Microsoft's Community Promise. If this were the only problem with the promise, it might be safe to use applications that avoid these libraries, and stick to what's in the standard. But even the code that's covered by the promise isn't completely safe.



Figuring Out What's Necessary



The Community Promise only extends to claims in Microsoft patents that are necessary to implement the covered specifications. Judging just by the size of its patent portfolio, it's likely that Microsoft holds patents which a complete standard implementation probably infringes even if it's not strictly necessary—maybe the patent covers a straightforward speed optimization, or some common way of performing some task. The Community Promise doesn't say anything about these patents, and so Microsoft can still use them to threaten standard implementations.



Moving the Goalposts



“The Community Promise does not give you any rights to exercise the patented claims.”Let's say you've written an implementation of one of the specifications covered by the Community Promise, and you want to determine whether or not you'll be sued for infringing a certain Microsoft patent. The necessity question already makes it difficult enough to figure this out. But even if you manage it, you should make sure you check again tomorrow, because the Community Promise might not protect you then.



The Community Promise does not give you any rights to exercise the patented claims. It only says that Microsoft will not sue you over claims in patents that it owns or controls. If Microsoft sells one of those patents, there's nothing stopping the buyer from suing everyone who uses the software.



The Solution: A Comprehensive Patent License



If Microsoft genuinely wants to reassure free software users that it does not intend to sue them for using Mono, it should grant the public an irrevocable patent license for all of its patents that Mono actually exercises. That would neatly avoid all of the existing problems with the Community Promise: it's broad enough in scope that we don't have to figure out what's covered by the specification or strictly necessary to implement it. And it would still be in force even if Microsoft sold the patents.



This isn't an unreasonable request, either. GPLv3 requires distributors to provide a similar license when they convey modified versions of covered software, and plenty of companies large and small have had no problem doing that. Certainly one with Microsoft's resources should be able to manage this, too. If they're unsure how to go about it, they should get in touch with us; we'd be happy to work with them to make sure it's satisfactory.



Until that happens, free software developers still should not write software that depends on Mono. C# implementations can still be attacked by Microsoft's patents: the Community Promise is designed to give the company several outs if it wants them. We don't want to see developers' hard work lost to the community if we lose the ability to use Mono, and until we eliminate software patents altogether, using another language is the best way to prevent that from happening.








Copyright ۩ 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Privacy Policy.



Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved.

Comments

Recent Techrights' Posts

Backlash and Negative Press After Microsoft Tells Diversity, Equity, and Inclusion (DEI) People to DIE
Follow-up stories
Microsoft's Bing Falls to Fourth in the Europe/Asia-Based Turkey, Share Halved Since LLM Hype, Now Only 1% (Sometimes Less)
Turkey (Eurasia) is another example of Microsoft failing with LLM hype and just burning a lot of energy in vain (investment without returns)
Censorship as Signal of Opportunity for Reform
It remains sad and ironic that Wikileaks outsourced so much of its official communications to Twitter (now X)
 
Red Hat's Official Site Yesterday: Promoting 'Secure' Boot in Machines You Don't Own or Control Anyway
"To be clear, CentOS Linux no longer exist"
Links 18/07/2024: ORG Complaint to ICO About Facebook, Korean Double Agent Unmasked
Links for the day
Joel Espy Klecker & Debian on Joe Biden's health and Donald Trump's assassination
Reprinted with permission from Daniel Pocock
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Wednesday, July 17, 2024
IRC logs for Wednesday, July 17, 2024
Links 18/07/2024: Hostname Pedantry and Retro Coding
Links for the day
Fedora Week of Diversity (FWD) 2024 Attracting 0.01% of the IBM Staff "Was a Success"
They expect volunteers (unpaid slaves) to do the PR for them...
African's Largest Population (Nigeria) Approaching 80% Android "Market Share" Amid Steady Monthly Increases While Microsoft Has Mass Layoffs in Nigeria
Microsoft- and Apple-sponsored Western (or English-speaking) media chooses to ignore that or treat it as irrelevant (a racist disposition in its own right)
[Meme] The Warlord's Catspaw
Thugs that troll us
Microsoft Misogyny Will be the Fall of Microsoft (Covering Up for Misogynists is a Huge Mistake and Highly Misguided Short-term Strategy)
Microsoft's undoing may in fact be its attitude towards women
Red Hat Keeps Behaving Like a Microsoft Reseller (for Proprietary Stuff!), Microsoft Employees as Authors in redhat.com
In some ways this reminds us of Novell
UEFI 'Secure Boot' Once Again Bricking PCs and Fake Security Models Are Perishing in Geminispace
Let's Encrypt has just fallen again
Links 17/07/2024: New Attacks on the Press, European Patents Squashed Even at Kangaroo Court (UPC)
Links for the day
Gemini Links 17/07/2024: Proponents of Censorship and New Arrivals at Gemini
Links for the day
Links 17/07/2024: School Budget Meltdown and Modern Cars as Tracking Nightmares
Links for the day
This Should Certainly be Illegal, But the Person Who Helped Microsoft Do This is Still Attacking the Critics of It
perhaps time for an "I told you so post"
[Meme] A Computer With an Extra Key on the Keyboard Isn't Everyone's Priority
(so your telling me meme)
The World Wide Web Has Been Rotting for Years (Quality, Accuracy, and Depth Consistently Decreasing)
In the past people said that the Web had both "good" and "bad" and that the good outweighed the bad
Comoros: Windows Plunges to Record Low of About 6% in Country of a Million People (in 2010 Windows Was 100%)
Many of these people earn a few dollars a day; they don't care for Microsoft's "Hey Hi PC" hype
Africa as an Important Reminder That Eradicating Microsoft Doesn't Go Far Enough
Ideally, if our top goal is bigger than "get rid of Microsoft", we need to teach people to choose and use devices that obey them, not GAFAM
Billions of Computers Run Linux and Many Use Debian (or a Derivative of It)
many devices never get updated or even communicate with the Net, so exhaustive tallies are infeasible
The Mail (MX) Server Survey for July 2024 Shows Microsoft Collapsing to Only 689 Servers or 0.17% of the Whole (It Used to be About 25%)
Microsoft became so insignificant and the most astounding thing is how the media deliberate ignores it or refuses to cover it
[Meme] Microsoft is Firing
Don't worry, Microsoft will have some new vapourware coming soon
More DEI (or Similar) Layoffs on the Way, According to Microsoft Team Leader
What happened shortly before Independence Day wasn't the end of it, apparently
Windows Down From 98.5% to 22.9% in Hungary
Android is up because more people buy smaller mobile devices than laptops
Microsoft Windows in Algeria: From 100% to Less Than 15%
Notice that not too long ago Windows was measured at 100%. Now? Not even 15%.
[Meme] Many Volunteers Now Realise the "Open" in "OpenSUSE" or "openSUSE" Was Labour-Mining
Back to coding, packaging and testing, slaves
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, July 16, 2024
IRC logs for Tuesday, July 16, 2024
Microsoft Windows "Market Share" in New Zealand Plunges to 25%
Android rising
[Meme] Ein Factory
A choice between "masters" (or "master race") is a false choice that results in mass exploitation and ultimately eradication (when there's little left to exploit)
Links 17/07/2024: Open Source Initiative Lies and Dark Net Thoughts
Links for the day
SUSE Goes Aryan: You May Not Use the Germanic Brand Anymore (It's Monopolised by the Corporation)
Worse than grammar Nazis
Media Distorting Truth to Promote Ignorance
online media is rapidly collapsing
Gratis But Not Free as in Freedom: How Let's Encrypt is Dying in Geminispace
Let's Encrypt is somewhat of a dying breed where the misguided CA model is shunned
Android Rises to New Highs of Almost 80% in Cameroon
How many dozens of nations will see Windows at under 10% this coming winter?
Links 16/07/2024: TikTok Ban in Europe and Yandex Split
Links for the day
Gemini Links 16/07/2024: On Packrafting and on Trump Shot
Links for the day
[Meme] Firefox Users Who Think They Know Better Than Mozilla
Enjoy Firebook
Firefox Used to Have About Half the Market in Switzerland, But It Doesn't Stand a Chance Anymore (Chrome Surging This Summer)
Mozilla has managed to alienate some of the biggest fans of Firefox
Microsoft's Biggest Losses Are in Europe This Summer
Microsoft's ability to milk a relatively rich Europe is fast diminishing
How to Make Software Suck and Discriminate Against People at the Same Time
ageism glorified
Bing Was at 2.6% in Russia When LLM Hype Started. Now It's Down to 0.8% (for 3 Months in a Row Already)
The sharp fall of Bing may mean that exiting the Russian market won't matter to anybody
[Meme] Microsoft Seems to be Failing to Comply With WARN Act (by Refusing to Announce Mass Layoffs as They Happen)
since when does Microsoft obey the law anyway?
Microsoft Layoffs Are Still Too Frequent to Keep Abreast of and Properly (or Exhaustively) Classify
The "HR" department knows what's happening, but whistleblowers from there are rare
Bahamas Joined the "5% Windows" Club
statCounter only traces back about 1 in 20 Web requests to Windows
Links 16/07/2024: Salesforce Layoffs and Microsoft's DMARC Fail
Links for the day
Antenna Abuse and Gemini Abuse (Self-hosting Perils)
Perhaps all this junk is a sign of Gemini growing up
Possibly Worse Than Bribes: US Politicians and Lawmakers Who Are Microsoft Shareholders
They will keep bailing out Microsoft to bail themselves out
The Software Freedom Conservancy Folks Don't Even Believe in Free Speech and They Act As Imposters (Also in the Trademark Arena/Sense)
Software Freedom Conservancy was already establishing a reputation for itself as a G(I)AFAM censor/gatekeeper
Djibouti Enters the Windows "10% Club" (Windows Was 99% in 2010)
In Africa in general Microsoft lost control
GNU/Linux Share Doubled in the United States of America (USA) in the Past 12 Months
Or so says statCounter
Even in North Korea (Democratic People's Republic Of Korea) Google Said to Dominate, Microsoft Around 1%
Google at 93.26%
[Meme] The Red Bait (Embrace... Extinguish)
They set centos on fire, then offer a (de facto) proprietary substitute for a fee
Shooting the Messenger to Spite the Message
segment of a Noam Chomsky talk
[Video] Boston Area Assange Defense (Yesterday)
It was published only hours ago
Guinea: Windows Down From 99.3% to 2.7% 'Market Share'
Guinea is not a small country
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, July 15, 2024
IRC logs for Monday, July 15, 2024
What's Meant by "Antenna Abuse" (Gemini)
syndication is not a monopoly in Gemini and if one doesn't condone political censorship, then one can create one's own syndication service/capsule
Microsoft Layoffs and Entire Unit Termination: Diversity, Equity, and Inclusion
What an announcement to make just before Independence Day
Links 16/07/2024: Old Computer Challenge and One Page Dungeon Contest
Links for the day